Compartir a través de


Certificados y App Service aislado

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.

Certificados raíz para escenarios de cliente privado

Cuando la aplicación actúa como un cliente que se conecta a los servicios protegidos con certificados de entidad de certificación (CA) privadas, debe agregar certificados raíz para establecer la confianza. App Service Environment v3 proporciona dos métodos para administrar certificados raíz:

  • API de certificado raíz (recomendado): administración en todo el entorno para todas las aplicaciones
  • Certificado de cliente privado: configuración por aplicación mediante la configuración de la aplicación

Elección del método correcto

Método Ámbito Se utiliza cuando Limitaciones
API de certificado raíz Todas las aplicaciones de App Service Environment : se administran varias aplicaciones que necesitan los mismos certificados raíz.
- Quiere una administración centralizada de certificados.
- Va a implementar nuevos entornos con infraestructura como código
- Requiere detener e iniciar aplicaciones existentes para recoger nuevos certificados.
: requiere api, CLI o herramientas de IaC (no disponible en Azure Portal en este momento)
Certificado de cliente privado Aplicaciones en un único plan de App Service - Solo necesita certificados para algunas aplicaciones.
- Prefiere la configuración basada en el portal.
- Las distintas aplicaciones necesitan certificados raíz diferentes
- Solo aplicaciones de código de Windows
: debe configurar cada plan de App Service por separado.
- Certificados no disponibles fuera del código de la aplicación (no se puede usar para la autenticación del registro de contenedores o la validación TLS de la interfaz)

La recomendación general es usar la API de certificado raíz para las nuevas implementaciones y al administrar certificados en varias aplicaciones. Proporciona una mejor escalabilidad, compatibilidad con automatización y funciona tanto para aplicaciones De Windows como para Linux.

API de certificado raíz

La API de certificado raíz permite agregar certificados raíz mediante programación a la versión 3 de App Service Environment, lo que hace que estén disponibles para todas las aplicaciones durante el inicio. Los certificados raíz son certificados públicos que identifican una entidad de certificación raíz (CA) y son esenciales para establecer la confianza en comunicaciones seguras. Al agregar certificados raíz a App Service Environment, todas las aplicaciones hospedadas en ese entorno las tienen instaladas en su almacén raíz, lo que garantiza una comunicación segura con servicios internos o API que usan certificados emitidos por entidades de certificación privadas o empresariales.

Esta funcionalidad está disponible para aplicaciones basadas en Windows y Linux en App Service Environment v3. Los certificados raíz agregados a través de esta API se insertan automáticamente en el almacén de confianza de las aplicaciones en el inicio, lo que elimina la necesidad de configuraciones por aplicación y simplifica la administración del ciclo de vida de los certificados.

Consideraciones importantes

  • Los certificados se pueden agregar a un entorno de App Service mediante la API REST, la CLI de Azure, las plantillas de ARM, Bicep o Terraform.
  • Si agrega un certificado a una instancia de App Service Environment con aplicaciones existentes o en ejecución, debe detener e iniciar cada aplicación para que el almacén de certificados se actualice con el nuevo certificado raíz. Se recomienda agregar todos los certificados antes de crear las aplicaciones para eliminar la necesidad de detener e iniciar aplicaciones individualmente.
    • Las operaciones de detener y comenzar son diferentes de reiniciar tu aplicación. Debe usar los comandos de detención e inicio dedicados disponibles en Azure Portal, la CLI de Azure o la API REST.
    • Iniciar y detener aplicaciones provoca interrupciones temporales mientras se detienen las aplicaciones.
    • Si tiene varias aplicaciones y quiere automatizar este proceso, puede usar la CLI de Azure o la API REST.
  • Durante el proceso de adición de certificados, debe proporcionar todo el blob del certificado en la solicitud. No se puede cargar un archivo .cer directamente.

Adición de un certificado raíz

Para agregar un certificado raíz a App Service Environment, use uno de los métodos siguientes:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01

Content-Type: application/json

{
  "location": "{location}",
  "properties": {
    "blob": "{raw certificate blob}",
    "isRoot": true
  }
}

Reemplace los marcadores de posición siguientes:

  • {subscriptionId}: identificador de suscripción de Azure
  • {resourceGroupName}: grupo de recursos que contiene la instancia de App Service Environment
  • {aseName}: nombre la instancia de App Service Environment
  • {certificateName}: un nombre para el recurso de certificado.
  • {location}: la región de Azure donde se implementa App Service Environment.
  • {raw certificate blob}: blob del certificado sin formato extraído del certificado raíz

Eliminación de un certificado raíz

Para quitar un certificado raíz de el App Service Environment:

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01

Recuperación de un certificado específico

Para recuperar un certificado raíz específico de tu entorno de servicio de aplicaciones:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates/{certificateName}?api-version=2024-04-01

Recuperación de todos los certificados públicos

Para recuperar todos los certificados públicos de App Service Environment:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{aseName}/publicCertificates?api-version=2024-04-01

Detener e iniciar aplicaciones

Después de agregar un certificado raíz a una instancia de App Service Environment con aplicaciones existentes, debe detener e iniciar cada aplicación para actualizar el almacén de certificados.

  1. Vaya a su aplicación en el portal de Azure.
  2. Seleccione Detener en la página de información general.
  3. Espere a que la aplicación se detenga completamente.
  4. Seleccione Iniciar para reiniciar la aplicación.

Certificado de cliente privado (configuración por aplicación)

Nota:

Para la mayoría de los escenarios, use la API de certificado raíz en lugar de este método. La API de certificado raíz proporciona administración de certificados en todo el entorno para aplicaciones de Windows y Linux, mientras que este método se limita a las aplicaciones de código de Windows dentro de un único plan de App Service.

Si solo necesita configurar certificados raíz para aplicaciones específicas o si prefiere usar Azure Portal, puede usar el método de certificado de cliente privado. Este enfoque carga certificados en aplicaciones individuales y los pone a disposición de las aplicaciones en el mismo plan de App Service.

Importante

Los certificados de cliente privado solo se admiten desde código personalizado en aplicaciones de código de Windows. Los certificados de cliente privado 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:

  1. Vaya a la aplicación que necesita el certificado en Azure Portal.

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

  3. Copie la huella digital.

  4. 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 en todas las aplicaciones del mismo plan de App Service que la aplicación, que configuró esa configuración, pero todas las aplicaciones que dependen del certificado de entidad de certificación privada deben tener configurada 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 (enlace TLS/SSL)

Nota:

En esta sección se tratan los certificados de servidor para los enlaces TLS/SSL, que es diferente de los certificados raíz descritos anteriormente. Los certificados de servidor se usan para proteger el dominio personalizado de la aplicación con HTTPS, mientras que los certificados raíz establecen confianza para las conexiones de cliente salientes.

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 volver a enlazar el certificado para que la cadena de certificados completa se agregue a los servidores.

Siga el tutorial Protección de un dominio personalizado con TLS/SSL 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