Certificados y App Service aislado
Nota:
Este artículo trata sobre App Service Environment v3, que se usa con planes de App Service aislados v2.
App Service Environment es una implementación de Azure App Service que se ejecuta en una red virtual de Azure. Se puede implementar con un punto de conexión de la aplicación al que se puede acceder desde Internet o un punto de conexión de la aplicación que se encuentra en la red virtual. Si implementa App Service Environment un punto de conexión accesible desde Internet, esa implementación se denomina External App Service Environment. Si implementa el App Service Environment con un punto de conexión en la red virtual, esa implementación se denomina ILB App Service Environment. Puede obtener más información sobre el ILB App Service Environment el documento Creación y uso de un ILB App Service Environment.
Certificados de aplicación
Las aplicaciones que se hospedan en un entorno de App Service Environment admiten las siguientes características de certificados centradas en la aplicación, que también están disponibles en App Service multiinquilino. Puede consultar los requisitos e instrucciones para cargar y administrar dichos certificados en Adición de un certificado TLS/SSL en Azure App Service.
Una vez que el certificado se agrega a la aplicación de App Service o a la aplicación de funciones, se puede proteger un nombre de dominio personalizado con él, o bien se puede usar en el código de la aplicación.
Limitaciones
No se admiten certificados administrados de App Service en las aplicaciones hospedadas en un App Service Environment.
Configuración de TLS
TLS se puede configurar en un nivel de aplicación.
Certificado de cliente privado
Es un caso de uso común consiste en configurar la aplicación como un cliente en un modelo cliente/servidor. Si protege el servidor con un certificado de entidad de certificación privado, debe cargar el certificado del cliente (archivo .cer) en la aplicación. Las siguientes instrucciones cargan certificados en el almacén de confianza de los trabajos en el que se ejecuta la aplicación. Solo tiene que cargar el certificado una vez para usarlo con aplicaciones que se encuentran en el mismo plan de App Service.
Nota
Los certificados de cliente privado solo se admiten desde código personalizado en aplicaciones de código de Windows. Los certificados de cliente privados no se admiten fuera de la aplicación, lo que limita su uso en escenarios como la extracción de la imagen del contenedor de aplicaciones de un registro mediante un certificado privado y la validación de TLS a través de los servidores front-end mediante un certificado privado.
Para cargar el certificado en una aplicación en App Service Environment (archivo .cer), siga estos pasos. El archivo .cer se puede exportar desde el certificado. Al final hay un ejemplo de PowerShell para generar un certificado autofirmado temporal, por si se desea realizar pruebas:
Vaya a la aplicación que necesita el certificado en Azure Portal.
Vaya a Certificados en la aplicación. Seleccione Certificado de clave pública (.cer). Select Agregar certificado. Proporcione un nombre. Busque y seleccione el archivo .cer. Seleccione Cargar.
Copie la huella digital.
Vaya a Configuración>Configuración de la aplicación. Cree una configuración de aplicación WEBSITE_LOAD_ROOT_CERTIFICATES con la huella digital como valor. Si tiene varios certificados, puede colocarlos en la misma configuración separados por comas y sin espacios en blanco, como se muestra a continuación:
84EC242A4EC7957817B8E48913E50953552DAFA6,6A5C65DC9247F762FE17BF8D4906E04FE6B31819
El certificado está disponible para todas las aplicaciones que están en el mismo plan de App Service que la aplicación que ha configurado ese valor, pero todas las aplicaciones que dependen del certificado de entidad de certificación privada deben tener la configuración de la aplicación para evitar problemas de tiempo.
Si necesita que esté disponible para las aplicaciones de otro plan de App Service, debe repetir la operación de configuración de la aplicación para las aplicaciones de ese plan de App Service. Para comprobar si el certificado está establecido, vaya a la consola de Kudu y emita este comando en la consola de depuración de PowerShell.
dir Cert:\LocalMachine\Root
Para realizar pruebas, puede crear un certificado autofirmado y generar un archivo .cer con el siguiente comando de PowerShell:
$certificate = New-SelfSignedCertificate -CertStoreLocation "Cert:\LocalMachine\My" -DnsName "*.internal.contoso.com","*.scm.internal.contoso.com"
$certThumbprint = "Cert:\LocalMachine\My\" + $certificate.Thumbprint
$fileName = "exportedcert.cer"
Export-Certificate -Cert $certThumbprint -FilePath $fileName -Type CERT
Certificado de servidor privado
Si la aplicación actúa como servidor en un modelo cliente-servidor, ya sea detrás de un proxy inverso o directamente con un cliente privado, y usa un certificado de entidad de certificación privada, debe cargar el certificado del servidor (archivo .pfx) con la cadena de certificados completa en la aplicación y enlazar el certificado al dominio personalizado. Dado que la infraestructura está dedicada al entorno de App Service Environment, la cadena de certificados completa se agrega al almacén de confianza de los servidores. Solo tiene que cargar el certificado una vez para usarlo con aplicaciones que se encuentran en el mismo entorno de App Service Environment.
Nota:
Si cargó el certificado antes del 1 de octubre de 2023, debe volver a cargar y enlazar el certificado para que se agregue la cadena de certificados completa a los servidores.
Siga el tutorial Protección de un nombre DNS personalizado con un enlace TLS/SSL en Azure App Service para cargar o enlazar el certificado raíz de entidad de certificación privada a la aplicación del entorno de App Service Environment.
Pasos siguientes
- Información sobre cómo usar certificados en el código de aplicación