Compartir a través de


Configuración de HTTPS al implementar aplicaciones en contenedor en Azure

Al implementar una aplicación en contenedor, normalmente se usa el protocolo HTTPS para la comunicación cifrada y segura. La comunicación segura se implementa mediante la seguridad de la capa de transporte (TLS), que reemplaza el método anterior mediante capa de sockets seguros (SSL).

Prerrequisitos

Prerrequisitos

  • Docker Desktop.
  • Visual Studio con las cargas de trabajo desarrollo de ASP.NET y web, desarrollo de Azure y/o desarrollo de escritorio de .NET instaladas.

Certificados de devtest

Durante el desarrollo, Visual Studio usa un certificado autofirmado, a veces denominado certificado devtest. Recibe un mensaje que le pide que confíe en el certificado al iniciar la aplicación en el equipo local por primera vez. Esto es aceptable para el desarrollo y las pruebas, pero al implementar en Azure y exponer la aplicación en un dominio personalizado, debe cambiar a un certificado emitido por una entidad de certificación (CA), ya sea Azure o una ENTIDAD de certificación de terceros.

Seguridad para las opciones de implementación en Azure

Muchos servicios de Azure simplifican la carga de configuración y administración mediante el control automático de la administración de certificados. La configuración y el procedimiento para configurar TLS para contenedores en Azure depende del servicio en el que se implemente.

En general, los servicios de Azure pueden admitir varias maneras de obtener y almacenar certificados. Puede obtener certificados de confianza de la propia entidad de certificación (CA) de Azure o puede cargar certificados de confianza privados emitidos por una entidad de certificación de terceros. Puede usar el propio almacén de certificados del servicio o puede usar Azure Key Vault para almacenar el certificado, junto con otros secretos.

En la tabla siguiente se muestran los servicios y se incluyen vínculos que explican cómo funciona la seguridad HTTPS al implementar en estos servicios y guías paso a paso para administrar los certificados.

Servicio de Azure Notas
Azure App Service Azure App Service es un servicio de implementación adecuado para un único contenedor que proporciona una experiencia predeterminada que significa que obtiene un punto de conexión seguro con un certificado de confianza proporcionado por Azure sin ninguna sobrecarga adicional. Para un mayor control, puede elegir entre varias opciones para obtener y almacenar el certificado. Puede usar su propio certificado de confianza obtenido de una entidad de certificación de terceros en lugar del certificado de confianza predeterminado proporcionado por Azure. Opcionalmente, puede almacenar certificados en Azure Key Vault. Consulte Introducción a TLS de App Service.
Azure Container Apps Azure Container Apps es un servicio de hospedaje adecuado para aplicaciones en contenedores mediante uno o varios contenedores. Al igual que Azure App Service, proporciona una experiencia predeterminada que usa certificados proporcionados por Azure de confianza automáticamente, pero también proporciona una variedad de opciones de arquitectura de red para admitir diferentes escenarios. Consulte Redes en Azure Container Apps.
Azure Container Instances Para configurar un punto de conexión público HTTPS para un contenedor hospedado en Azure Container Instances, consulte Habilitación de un punto de conexión TLS en un contenedor sidecar. Esta opción minimiza el impacto en el propio contenedor.
Azure Kubernetes Service (AKS) Consulte la guía en la documentación de AKS para configurar TLS para una entrada de red en su clúster. AKS proporciona las funcionalidades de administración más avanzadas, control de la rotación y renovación de certificados con máxima flexibilidad.
Servicio de Azure Notas
Azure App Service Azure App Service es un servicio de implementación adecuado para un único contenedor que proporciona una experiencia predeterminada que significa que obtiene un punto de conexión seguro con un certificado de confianza proporcionado por Azure sin ninguna sobrecarga adicional. Para un mayor control, puede elegir entre varias opciones para obtener y almacenar el certificado. Puede usar su propio certificado de confianza obtenido de una entidad de certificación de terceros en lugar del certificado de confianza predeterminado proporcionado por Azure. Opcionalmente, puede almacenar certificados en Azure Key Vault. Consulte Introducción a TLS de App Service.
Azure Container Apps Azure Container Apps es un servicio de hospedaje adecuado para aplicaciones en contenedores mediante uno o varios contenedores. Al igual que Azure App Service, proporciona una experiencia predeterminada que usa certificados proporcionados por Azure de confianza automáticamente, pero también proporciona una variedad de opciones de arquitectura de red para admitir diferentes escenarios. Consulte Redes en Azure Container Apps.
Azure Container Instances Para configurar un punto de conexión público HTTPS para un contenedor hospedado en Azure Container Instances, consulte Habilitación de un punto de conexión TLS en un contenedor sidecar. Esta opción minimiza el impacto en el propio contenedor.
Service Fabric Consulte Seguridad de aplicaciones y servicios de Service Fabric. Normalmente, configura un proxy inverso para controlar la seguridad de las solicitudes entrantes. Consulte Reverse Proxy en Azure Service Fabric.
Azure Kubernetes Service (AKS) Consulte la guía en la documentación de AKS para configurar TLS para una entrada de red en su clúster. AKS proporciona las funcionalidades de administración más avanzadas, control de la rotación y renovación de certificados con máxima flexibilidad.

Opciones de seguridad de red para varios contenedores

Si el escenario implicase varios contenedores, tendría la opción de proteger solo el tráfico de entrada (es decir, en el equilibrador de carga orientado externamente o el proxy inverso) o aplicar comunicaciones seguras entre cada contenedor de la aplicación. Esta última opción proporciona seguridad para capas más profundas del sistema, incluso si hay una vulneración en la capa externa. El uso de HTTPS para toda la comunicación entre contenedores está fuera del ámbito de este artículo.

Para Azure Container Apps, puede configurar el ingreso que usa HTTPS para las llamadas externas, y dentro de la red de múltiples contenedores, puede usar HTTP o TCP. Para una comunicación segura entre contenedores, puede usar mTLS (TLS mutuo), que requiere certificados en ambos lados de una solicitud, un cliente y un servidor, o entre microservicios. Consulte Entrada en Azure Container Apps y Configuración de la autenticación de certificados de cliente en Azure Container Apps.