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

  1. Vamos al portal de Azure usando la url https://portal.azure.com

  2. Tenemos un key vault llamado kv-cert-recetasdevops y un app service llamado app-hablemosdecertificados.

  3. 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/).

  4. Lo primero que hacemos, es agregar el dominio hablemosdecertificados.recetasdevops.dev. Para ellos vamos a nuestro App Service y luego pulsamos en Custom domains.

  5. Una vez dentro, pulsamos en el botón +Add custom domain.

  6. Le indicamos, en nuestro caso que nuestro Domain Provider es All other domain services.

    Además le indicamos el nombre de nuestro dominio.

  7. 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.

  8. 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

  1. 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:

  2. 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.

  3. En la pestaña de Members, debemos de seleccionar User, group or service principal. Luego pulsamos en + Select members.



  1. En Select members, buscamos Microsoft Azure App Service y pulsamos sobre el nombre. Luego pulsamos en Select.

  1. Por último pulsamos en Review + assign para finalizar la asignación del permiso.



Agregar certificado al Key Vault

  1. 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.

  1. En Method of Certificate Creation, seleccionamos Import:

  1. Pulsamos en el icono de la carpeta en Upload Certificate File.

  2. Aquí vamos a buscar nuestro fichero pfx del certificado. Eso sí, recordad que para App Service, únicamente se aceptan certificados en formato pfx.

  3. 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

  1. 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.

  1. En TLS/SSL Type dejamos la opción de SNI SSL. En Source, elegimos la opción de Import from Key Vault.

  2. Pulsamos en Select key vault certificate.

  3. Elegimos la suscripción donde está el Azure Key Vault y el Azure Key Vault. Por último elegimos nuestro certificado.

  4. Pulsamos en Select.

  5. Luego pulsamos en Validate.

  6. Si validación esta OK, podemos pulsar en el botón Add.

  7. Al poco tiempo, se nos notifica que el certificado ha sido correctamente configurado.

  8. 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.

  1. Vamos al key vault donde tenemos nuestro certificado. Entramos dentro del certificado y pulsamos New Version.

  1. Metemos el nuevo pfx que hemos creado, la password y listo ya tenemos nueva versión del certificado :)

  2. Tal y como dice la documentación, el App service dentro de las siguietes 24 horas actualizará el certificado.

  1. 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.

  1. Al poco tiempo, saldrá un mensaje de que el certificado se ha sincronizado corrrectamente:

Bueno espero os haya gustado este extenso artículo, jaja.