Uso de certificados TLS/SSL en la aplicación en Azure Spring Apps
Nota:
Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de jubilación de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para obtener más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan de consumo estándar y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el consumo estándar y el plan dedicado de Azure Spring Apps a Azure Container Apps.
La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise
En este artículo se muestra cómo usar certificados públicos en Azure Spring Apps para la aplicación. La aplicación puede actuar como un cliente y acceder a un servicio externo que requiere autenticación de certificado, o puede que tenga que realizar tareas criptográficas.
Cuando permite que Azure Spring Apps administre los certificados TLS/SSL, puede mantener por separado los certificados y el código de la aplicación para proteger así la información confidencial. El código de la aplicación puede acceder a los certificados públicos que agregue a la instancia de Azure Spring Apps.
Requisitos previos
- Una aplicación implementada en Azure Spring Apps. Consulte Inicio rápido: implementación de la primera aplicación de Azure Spring Apps o use una aplicación existente.
- Un archivo de certificado con la extensión .crt, .cer, .pem o .der o una instancia implementada de Azure Key Vault con un certificado privado.
Importación de un certificado
Puede elegir importar el certificado en la instancia de Azure Spring Apps desde Key Vault o usar un archivo de certificado local.
Importación de un certificado de Key Vault
Debe conceder acceso a su almacén de claves a Azure Spring Apps antes de importar el certificado.
Azure Key Vault ofrece dos sistemas de autorización: el control de acceso basado en roles de Azure (Azure RBAC), que opera en los planos de control y de datos de Azure, y el modelo de política de acceso, que opera solo en el plano de datos.
Siga estos pasos para conceder el acceso:
Inicie sesión en Azure Portal.
Seleccione Almacenes de claves y, a continuación, seleccione el almacén de claves desde el que va a importar el certificado.
En el panel de navegación, seleccione Directivas de acceso y, a continuación, seleccione Crear.
Seleccione Permisos de certificado y, a continuación, seleccione Obtener y Enumerar.
En Entidad de seguridad, seleccione el proveedor de recursos de Azure Spring Cloud.
Seleccione Revisar y crear y, a continuación, seleccione Crear.
Después de que conceda acceso al almacén de claves, puede importar el certificado mediante estos pasos:
Vaya a la instancia del servicio.
En el panel de navegación izquierdo de la instancia, seleccione Configuración de TLS/SSL.
Seleccione Importar certificado de Key Vault en la sección Certificados de clave pública.
Seleccione el almacén de claves en la sección Almacenes de claves, seleccione el certificado en la sección Certificado y, a continuación, seleccione Seleccionar.
Proporcione un valor para Nombre de certificado, seleccione Habilitar sincronización automática si es necesario y, a continuación, seleccione Aplicar. Para obtener más información, consulte la sección Certificado de sincronización automática de Asignación de un dominio personalizado existente a Azure Spring Apps.
Cuando haya importado correctamente el certificado, lo verá en la lista de Certificados de clave pública.
Nota:
Las instancias de Azure Key Vault y Azure Spring Apps deben residir en el mismo inquilino.
Importación de un archivo de certificado local
Puede importar un archivo de certificado almacenado localmente mediante estos pasos:
- Vaya a la instancia del servicio.
- En el panel de navegación izquierdo de la instancia, seleccione Configuración de TLS/SSL.
- Seleccione Cargar certificado público en la sección Certificados de clave pública.
Cuando haya importado correctamente el certificado, lo verá en la lista de Certificados de clave pública.
Carga de un certificado
Para cargar un certificado en la aplicación en Azure Spring Apps, comience con estos pasos:
- Vaya a la instancia de la aplicación.
- En el panel de navegación izquierdo de la aplicación, seleccione Administración del certificado.
- Seleccione Agregar certificado para elegir certificados accesibles para la aplicación.
Carga de un certificado desde el código
Los certificados cargados están disponibles en la carpeta /etc/azure-spring-cloud/certs/public. Use el código Java siguiente para cargar un certificado público en una aplicación en Azure Spring Apps.
CertificateFactory factory = CertificateFactory.getInstance("X509");
FileInputStream is = new FileInputStream("/etc/azure-spring-cloud/certs/public/<certificate name>");
X509Certificate cert = (X509Certificate) factory.generateCertificate(is);
// use the loaded certificate
Carga de un certificado en el almacén de confianza
Para una aplicación Java, puede elegir Cargar en el almacén de confianza para el certificado seleccionado. El certificado se agrega automáticamente a los TrustStores predeterminados de Java para autenticar un servidor en la autenticación TLS/SSL.
El siguiente registro de la aplicación muestra que el certificado se ha cargado correctamente.
Load certificate from specific path. alias = <certificate alias>, thumbprint = <certificate thumbprint>, file = <certificate name>