Esta página se aplica a Apigee y Apigee Hybrid.
Consulta la documentación de
Apigee Edge.
En esta sección, se muestra cómo configurar TLS para el tráfico de un proxy a un destino.
Información sobre la configuración de opciones de TLS en un extremo o un servidor de destino
Un destino puede representarse con un objeto XML como el que se muestra a continuación:
<HTTPTargetConnection> <Properties/> <URL>https:myTargetAddress</URL> <SSLInfo> <Enabled>true</Enabled> <Enforce>true</Enforce> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> <TrustStore>ref://myTruststoreRef</TrustStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> <Protocols>myProtocols</Protocols> <Ciphers>myCipher</Ciphers> </SSLInfo> </HTTPTargetConnection>
El área de la configuración del extremo de destino que modificas para configurar TLS se define con la etiqueta <SSLInfo>. Usa la misma etiqueta <SSLInfo> para configurar un extremo o servidor de destino.
Para obtener información sobre los elementos secundarios de <SSLInfo>, consulta Configuración de TargetEndpoint de TLS/SSL.
En la siguiente tabla, se describen los elementos de configuración de TLS que usa la etiqueta <SSLInfo>:
| Elemento | Descripción |
|---|---|
<Enabled> |
El bloque <SSLInfo> se puede usar para TLS/SSL unidireccional y bidireccional.
Si se establece en El valor predeterminado de |
<Enforce> |
Aplica un SSL estricto entre Apigee y el backend de destino. Si se establece en Si no se establece o se establece en |
<ClientAuthEnabled> |
Habilita TLS bidireccional (también conocida como TLS mutua o mTLS) entre Apigee y el cliente de API, o entre Apigee y el backend de destino. Por lo general, la habilitación de TLS bidireccional requiere que configures un almacén de confianza en el perímetro y un almacén de confianza. |
<KeyStore> |
Un almacén de claves que contiene claves privadas usadas para la autenticación de clientes salientes |
<KeyAlias> |
El alias especificado cuando subiste un certificado y una clave privada al almacén de claves. |
<TrustStore> |
Un almacén de claves que contiene certificados de servidor de confianza. |
<IgnoreValidationErrors> |
Indica si los errores de validación se ignoran. Si el sistema de backend usa SNI y muestra un certificado con un nombre distinguido (DN) del asunto que no coincide con el nombre de host, no hay manera de ignorar el error, y la conexión falla. Nota: Si |
<Ciphers> |
Algoritmos de cifrado admitidos para TLS/SSL saliente. Si no se especifican algoritmos de cifrado, se permitirán todos los algoritmos de cifrado disponibles para la JVM. Para restringir los algoritmos de cifrado, agrega los siguientes elementos que enumeran los algoritmos de cifrado admitidos: <Ciphers> <Cipher>TLS_RSA_WITH_3DES_EDE_CBC_SHA</Cipher> <Cipher>TLS_RSA_WITH_DES_CBC_SHA</Cipher> </Ciphers> |
<Protocols> |
Protocolos admitidos para TLS/SSL de salida. Si no se especifican protocolos, se permitirán todos los protocolos disponibles para la JVM. Para restringir los protocolos, especifícalos de forma explícita. Por ejemplo, para permitir solo TLS v1.2 o TLS v1.3: <Protocols> <Protocol>TLSv1.2</Protocol> <Protocol>TLSv1.3</Protocol> </Protocols> |
Información sobre la configuración de los elementos <KeyStore> y <TrustStore>
En el ejemplo anterior, el almacén de claves y el almacén de certificados de confianza se especifican con referencias, con el siguiente formato:
<KeyStore>ref://myKeystoreRef</KeyStore> <TrustStore>ref://myTruststoreRef</TrustStore>
En este ejemplo:
myKeystoreRefes una referencia que contiene el nombre del almacén de claves. En este ejemplo, el nombre del almacén de claves es myKeystore.myTruststoreRefes una referencia que contiene el nombre del almacén de confianza. En este ejemplo, el nombre del almacén de confianza es myTruststore.
Cuando vence un certificado, debes actualizar el extremo o el servidor de destino para especificar el almacén de claves o el almacén de confianza que contiene el certificado nuevo. Sin embargo, si usas referencias, puedes modificar el valor de references para reflejar los nuevos nombres del almacén de claves o del almacén de certificados de confianza en lugar de modificar el endpoint o el servidor de destino. Si deseas cambiar el valor de la referencia, no es necesario que te comuniques con el equipo de Atención al cliente de Google Cloud.
Como alternativa, puedes especificar el nombre del almacén de claves y el nombre del almacén de confianza directamente:
<KeyStore>myKeystore</KeyStore> <TrustStore>myTruststore</TrustStore>
Si especificas el nombre del almacén de claves o del almacén de confianza directamente, debes comunicarte con Atención al cliente de Google Cloud.
La tercera opción es usar variables de flujo:
<KeyStore>{ssl.keystore}</KeyStore>
<TrustStore>{ssl.truststore}</TrustStore>Puedes usar variables de flujo para especificar de forma dinámica un almacén de claves o un almacén de confianza, con un efecto similar al de usar una referencia. Si deseas obtener más información, consulta Usa variables de flujo para configurar valores TLS/SSL de forma dinámica.
Acerca de la configuración de TLS
Todos los clientes de Apigee, tanto los pagos como los de evaluación, tienen control total sobre la configuración de los servidores y extremos de destino. Además, los clientes pagos de Apigee tienen control total sobre las propiedades de TLS.
Administra certificados vencidos
Si un certificado TLS vence o si la configuración de tu sistema cambia de modo que el certificado ya no es válido, deberás actualizar el certificado. Cuando configuras TLS para un extremo o servidor de destino, debes decidir cómo realizar esa actualización antes de establecer cualquier configuración.
Cuando vence un certificado
En Apigee, almacenas certificados en uno de estos dos lugares:
- Almacén de claves: contiene el certificado TLS y la clave privada que se usa para identificar la entidad durante el protocolo de enlace TLS.
- Almacén de confianza: contiene certificados de confianza en un cliente TLS que se usa para validar el certificado de un servidor TLS que se presenta al cliente. Por lo general, estos certificados son autofirmados, firmados por una AC de confianza o usados como parte de una TLS bidireccional (también conocida como TLS o mTLS mutua).
El método que usas para especificar el almacén de claves y el almacén de certificados de confianza en el extremo o servidor de destino determina cómo se realiza la actualización del certificado. Puedes usar referencias, nombres directos o variables de flujo. Cada método tiene diferentes repercusiones en el proceso de actualización, como se describe en la siguiente tabla:
| Tipo de configuración | Cómo actualizar o reemplazar el certificado | Uso / Impacto |
|---|---|---|
| Referencia (recomendada) |
Almacén de claves: Crea un almacén de claves nuevo con un nombre nuevo y un alias con el mismo nombre que el alias anterior. Almacén de confianza: Crea un almacén de confianza con un nombre nuevo. El nombre del alias no es importante. |
Actualiza la referencia para que apunte a la nueva tienda.
No es necesario comunicarse con el equipo de asistencia de Apigee. Sin tiempo de inactividad. |
| Variable de flujo |
Almacén de claves: Crea un almacén de claves nuevo con un nombre nuevo y un alias con el mismo nombre o con un nombre nuevo. Almacén de confianza: Crea un almacén de confianza con un nombre nuevo. |
Pasa la variable de flujo actualizada en cada solicitud con el nombre de la nueva tienda.
No es necesario comunicarse con el equipo de asistencia de Apigee. Sin tiempo de inactividad. |
| Directo |
Método 1: Crea un almacén nuevo (recomendado para evitar el tiempo de inactividad) Crea un almacén de claves o un almacén de certificados de confianza nuevo con un nombre nuevo y sube el certificado nuevo (y la clave privada si creas un almacén de claves). |
Actualiza la configuración del extremo o servidor de destino para especificar el nuevo nombre del almacén directamente y, luego, vuelve a implementar el proxy de API.
No es necesario comunicarse con el equipo de asistencia de Apigee. |
| Directo |
Método 2a: Actualización in situ (borrar y volver a crear) Borra el almacén de claves o el almacén de confianza y vuelve a crearlo con el mismo nombre. |
Las solicitudes a la API fallarán durante el período de eliminación y recreación. Dado que los procesadores de mensajes almacenan en caché los almacenes especificados directamente, no detectarán automáticamente el certificado actualizado. Debes comunicarte con Atención al cliente de Google Cloud para reiniciar los Message Processors. |
| Directo |
Método 2b: Actualización in situ (carga del almacén de certificados de confianza) Solo para almacenes de certificados de confianza, sube un nuevo certificado directamente al almacén de certificados de confianza existente. |
Dado que los procesadores de mensajes almacenan en caché los almacenes especificados directamente, no detectarán automáticamente el nuevo certificado. Debes comunicarte con Atención al cliente de Google Cloud para reiniciar los Message Processors. |