Hablemos de Certificados TLS/SSL - Instalar certificados en App Services usando Azure Key Vault
En este segundo post sobre certificados TLS/SSL, os voy a hablar sobre como instalar nuestro certificado en un Azure App Service usando Azure Key Vault.
Si quieres leer mi primer post sobre certificados, puedes pulsar en el siguiente enlace:
https://www.recetasdevops.dev/post/certificados01crearnuevocertificado/
Pues vamos entonces, a poneros manos a la obra.
Los pasos a seguir son los siguientes:
Agregar dominio al App Service
-
Vamos al portal de Azure usando la url https://portal.azure.com
-
Tenemos un key vault llamado kv-cert-recetasdevops y un app service llamado app-hablemosdecertificados.
-
En este App Service vamos a usar el dominio https://hablemosdecertificados.recetasdevops.dev/ , y para ello necesitamos un certificado.
Este certificado ya lo generamos en nuestro primer artículo (https://www.recetasdevops.dev/post/certificados01crearnuevocertificado/).
-
Lo primero que hacemos, es agregar el dominio hablemosdecertificados.recetasdevops.dev. Para ellos vamos a nuestro App Service y luego pulsamos en Custom domains.
-
Una vez dentro, pulsamos en el botón +Add custom domain.
-
Le indicamos, en nuestro caso que nuestro Domain Provider es All other domain services.
Además le indicamos el nombre de nuestro dominio.
-
Se nos facilitará unos registros de DNS, que debemos de agregar dentro de nuestro proveedor de DNS. Una vez agregados estos registros le damos al botón Validate.
-
Si los registros DNS se introdujeron correctamente, se nos dirá que todo esta OK y podremos darle al botón Add.
Agregar permisos necesarios al Azure Key Vault
-
Vale ya tenemos asociado el dominio al App Service. Ahora lo que tenemos que hacer es agregar el certificado que vamos a usar al Azure Key Vault.
Para ello lo primero que debemos hacer es dar permiso a nuestro usuario de Azure para que pueda agregar el certificado al Azure Key Vault. Debemos de tener cualquiera de los 3 roles marcados en rojo en la imagen de abajo para poder agregar el certificado:
-
Aparte de dar permiso a nuestro usuario, también debemos de dar permiso a nuestro App Service para que pueda usar el certificado del Azure Key Vault.
Para ello, debemos ir dar el permiso de Key Vault Secret User a un Service Principal concreto.
-
En la pestaña de Members, debemos de seleccionar User, group or service principal. Luego pulsamos en + Select members.
-
En Select members, buscamos Microsoft Azure App Service y pulsamos sobre el nombre. Luego pulsamos en Select.
- Por último pulsamos en Review + assign para finalizar la asignación del permiso.
Agregar certificado al Key Vault
-
Vale con los permisos necesarios, vamos a agregar el certificado al Azure Key vault. Para ellos vamos al Azure Key Vault y pulsamos la opción Certificates y luego en Generate/Import.
-
En Method of Certificate Creation, seleccionamos Import:
-
Pulsamos en el icono de la carpeta en Upload Certificate File.
-
Aquí vamos a buscar nuestro fichero pfx del certificado. Eso sí, recordad que para App Service, únicamente se aceptan certificados en formato pfx.
-
Le damos un nombre descriptivo a nuestro certificado y ponemos el password asociado al fichero pfx. Por último pulsamos en Create.
Asociar certificado al dominio en el App Service
-
Vale con nuestro certificado en el Key Vault, es hora de asociarlo al App Service. Vamos a nuestro App Service y pulsamos en Custom domains. Pulsamos en Add binding en nuestro dominio.
-
En TLS/SSL Type dejamos la opción de SNI SSL. En Source, elegimos la opción de Import from Key Vault.
-
Pulsamos en Select key vault certificate.
-
Elegimos la suscripción donde está el Azure Key Vault y el Azure Key Vault. Por último elegimos nuestro certificado.
-
Pulsamos en Select.
-
Luego pulsamos en Validate.
-
Si validación esta OK, podemos pulsar en el botón Add.
-
Al poco tiempo, se nos notifica que el certificado ha sido correctamente configurado.
-
Si vamos a un navegador y vamos a nuestra página, veremos que el certificado se configuró correctamente :)
Actualizar certificado existente
Cuando vayamos a actualizar un certificado ya existente que va a caducar, los pasos son supersencillos.
-
Vamos al key vault donde tenemos nuestro certificado. Entramos dentro del certificado y pulsamos New Version.
-
Metemos el nuevo pfx que hemos creado, la password y listo ya tenemos nueva versión del certificado :)
-
Tal y como dice la documentación, el App service dentro de las siguietes 24 horas actualizará el certificado.
-
Pero si eres impaciente como yo o simplemente quieres ver que ya se use tu nuevo certificado, debes ir al App Service y dentro de Certificates vas a nuestro certificado. Una vez dentro de das al botón de Sync.
-
Al poco tiempo, saldrá un mensaje de que el certificado se ha sincronizado corrrectamente:
Bueno espero os haya gustado este extenso artículo, jaja.