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.
.Acerca de configurar opciones de TLS en un endpoint o servidor de destino
Un objetivo se puede representar mediante un objeto XML como el siguiente:
<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 endpoint de destino que se modifica para configurar TLS se define mediante la etiqueta <SSLInfo>
. Utilizas la misma etiqueta <SSLInfo>
para configurar un punto final o un servidor de destino.
Para obtener información sobre los elementos secundarios de <SSLInfo>
, consulta la sección
Configuración de TargetEndpoint de TLS/SSL.
En la siguiente tabla se describen los elementos de configuración de TLS que utiliza la etiqueta <SSLInfo>
:
Elemento | Descripción |
---|---|
<Enabled> |
El bloque <SSLInfo> se puede usar para TLS/SSL unidireccional y bidireccional.
Si se define como El valor predeterminado de |
<Enforce> |
Aplica un SSL estricto entre Apigee y el backend de destino. Si se le asigna el valor Si no se define o se define como |
<ClientAuthEnabled> |
Habilita TLS bidireccional (también conocido como TLS mutuo o mTLS) entre Apigee y el cliente de la API, o entre Apigee y el backend de destino. Para habilitar TLS bidireccional, normalmente debes configurar un almacén de confianza en Apigee y otro en el servidor de backend. |
<KeyStore> |
Un almacén de claves que contiene claves privadas usadas para la autenticación de clientes salientes |
<KeyAlias> |
El alias especificado al subir 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 se ignoran los errores de validación. Si el sistema backend usa SNI y devuelve un certificado con un nombre distinguido (DN) de asunto que no coincide con el nombre de host, no hay forma de ignorar el error y la conexión falla. Nota: Si |
<Ciphers> |
Cifrados admitidos para TLS/SSL saliente. Si no se especifica ninguna, se permitirán todas las disponibles para la JVM. Para restringir las cifrados, añade los siguientes elementos con la lista de cifrados 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 saliente. Si no se especifica ningún protocolo, se permitirán todos los protocolos disponibles para la JVM. Para restringir protocolos, especifícalos explícitamente. Por ejemplo, para permitir solo TLS v1.2 o TLS v1.3, haz lo siguiente: <Protocols> <Protocol>TLSv1.2</Protocol> <Protocol>TLSv1.3</Protocol> </Protocols> |
Acerca de la configuración de los elementos <KeyStore> y <TrustStore>
En el ejemplo anterior, el almacén de claves y el almacén de confianza se especifican mediante referencias, con el siguiente formato:
<KeyStore>ref://myKeystoreRef</KeyStore> <TrustStore>ref://myTruststoreRef</TrustStore>
Apigee recomienda encarecidamente que siempre utilices referencias al almacén de claves y al almacén de confianza. Una referencia es una variable que contiene el nombre del almacén de claves o del almacén de confianza, en lugar de especificar el nombre del almacén de claves directamente. En este ejemplo:
myKeystoreRef
es una referencia que contiene el nombre del almacén de claves. En este ejemplo, el nombre del almacén de claves es myKeystore.myTruststoreRef
es una referencia que contiene el nombre del almacén de confianza. En este ejemplo, el nombre del almacén de confianza es myTruststore.
Cuando caduca un certificado, debe actualizar el endpoint o el servidor de destino para especificar el almacén de claves o el almacén de confianza que contiene el nuevo certificado. La ventaja de una referencia es que puedes modificar el valor de la referencia para cambiar el almacén de claves o el almacén de confianza sin tener que modificar el endpoint o el servidor de destino:
Para cambiar el valor de la referencia, no es necesario que te pongas en contacto con el equipo de Asistencia de Google Cloud.
También puedes especificar directamente el nombre del almacén de claves y el nombre del almacén de confianza:
<KeyStore>myKeystore</KeyStore> <TrustStore>myTruststore</TrustStore>
Si especificas directamente el nombre del almacén de claves o del almacén de confianza, debes ponerte en contacto con el equipo de Asistencia de Google Cloud.
Otra 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. Para obtener más información, consulta el artículo Usar variables de flujo para definir valores de TLS/SSL de forma dinámica.
Acerca de la configuración de TLS
Todos los clientes de Apigee, tanto los que tienen una suscripción de pago como los que están en periodo de evaluación, tienen control total sobre la configuración de los endpoints de destino y los servidores de destino. Además, los clientes de pago de Apigee tienen control total sobre las propiedades de TLS.
Gestión de certificados caducados
Si un certificado TLS caduca o si la configuración de tu sistema cambia de forma que el certificado ya no sea válido, tendrás que actualizarlo. Cuando configures TLS para un endpoint o un servidor de destino, debes decidir cómo vas a realizar esa actualización antes de llevar a cabo cualquier configuración.
Cuando caduca un certificado
En Apigee, los certificados se almacenan en uno de estos dos lugares:
- Keystore contiene el certificado TLS y la clave privada que se usan para identificar la entidad durante el handshake TLS.
- Truststore contiene certificados de confianza en un cliente TLS que se usa para validar el certificado de un servidor TLS presentado al cliente. Estos certificados suelen ser certificados con firma automática, certificados firmados por una AC de confianza o certificados que se usan como parte de TLS bidireccional (también conocido como TLS mutuo o mTLS).
Cuando caduca un certificado de un almacén de claves y estás usando una referencia al almacén de claves, no puedes subir un certificado nuevo al almacén de claves. En su lugar, puedes hacer lo siguiente:
- Crea un nuevo almacén de claves.
- Sube el nuevo certificado al nuevo almacén de claves con el mismo nombre de alias que en el antiguo.
- Actualiza la referencia en el servidor o endpoint de destino para usar el nuevo almacén de claves.
Cuando caduca un certificado de un almacén de confianza y usas una referencia al almacén de confianza, debes hacer lo siguiente:
- Crea un nuevo almacén de confianza.
- Sube el nuevo certificado al nuevo almacén de confianza. El nombre del alias no importa en los almacenes de confianza. Nota: Si un certificado forma parte de una cadena, debe crear un solo archivo que contenga todos los certificados y subirlo a un único alias, o bien subir todos los certificados de la cadena por separado al almacén de confianza con un alias diferente para cada certificado.
- Actualiza la referencia en el servidor o endpoint de destino para que use el nuevo almacén de confianza.
Resumen de los métodos para actualizar un certificado caducado
El método que utilice para especificar el nombre del almacén de claves y del almacén de confianza en el endpoint o servidor de destino determina cómo debe actualizar el certificado. Puedes usar:
- Referencias
- Nombres directos
- Variables de flujo
Cada uno de estos métodos tiene repercusiones diferentes en el proceso de actualización, tal como se describe en la siguiente tabla:
Tipo de configuración | Cómo actualizar o sustituir un certificado | Uso |
---|---|---|
Referencia (recomendado) |
En el caso de un almacén de claves, crea uno nuevo con un nombre nuevo y un alias con el mismo nombre que el alias antiguo.
En el caso de un almacén de confianza, crea uno con un nombre nuevo. |
Actualiza la referencia al almacén de claves o al almacén de confianza.
No es necesario que te pongas en contacto con el equipo de Asistencia de Apigee. |
Variable de flujo |
En el caso de un almacén de claves, crea uno nuevo con un nombre nuevo y un alias con el mismo nombre o con un nombre nuevo.
En el caso de un almacén de confianza, crea uno con un nombre nuevo. |
Transfiere la variable de flujo actualizada en cada solicitud con el nombre del nuevo almacén de claves, alias o almacén de confianza.
No es necesario que te pongas en contacto con el equipo de Asistencia de Apigee. |
Directo | Crea un nuevo almacén de claves, alias y almacén de confianza. | Vuelve a implementar el proxy. |
Directo | Elimina el almacén de claves o el almacén de confianza y vuelve a crearlo con el mismo nombre. |
Las solicitudes de API fallarán hasta que se definan el nuevo almacén de claves y el alias.
Si el almacén de claves se usa para TLS bidireccional (también conocido como TLS mutuo o mTLS) entre Apigee y el servicio de backend, ponte en contacto con el servicio de atención al cliente de Google Cloud para reiniciar los procesadores de mensajes. |
Directo | Si solo quiere usar el almacén de confianza, suba un certificado nuevo al almacén de confianza. | Ponte en contacto con el equipo de Asistencia de Google Cloud para reiniciar los procesadores de mensajes. |