En este tema, se explica cómo habilitar TLS y mTLS unidireccionales en la puerta de enlace de Ingress.
Configura TLS unidireccional
Usa TLS unidireccional para proteger los extremos del proxy de la API en la puerta de enlace de entrada. Para habilitar TLS unidireccional, configura la entrada con pares de claves/certificados TLS o con un Secreto de Kubernetes, como se explica en las siguientes opciones.
Opción 1: par de claves/certificado
Proporciona certificados SSL y archivos de claves en la propiedad virtualhosts
en tu archivo de anulación:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
En el ejemplo anterior, $ENVIRONMENT_GROUP_NAME es el nombre de un grupo de entornos con los alias de host correspondientes, mientras que $CERT_FILE y $KEY_FILE son archivos de certificados y claves de TLS. Consulta Crea certificados TLS.
Opción 2: Secret de Kubernetes
Crea un Secret de Kubernetes y agrégalo a tu archivo de anulaciones.
- Crea el Secret en el espacio de nombres
apigee
:kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Configura la propiedad
virtualhosts
en el archivo de anulación:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Configura mTLS
En lugar de TLS unidireccional, puedes configurar mTLS en la puerta de enlace de entrada. Hay dos opciones para configurar mTLS, como se explica a continuación.
Opción 1: par de claves/certificado y archivo CA
Proporciona datos de certificados TLS que contengan certificados de autoridad certificada:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
tlsMode: MUTUAL
caCertPath: "$CA_FILE"
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
En el ejemplo anterior, $ENVIRONMENT_GROUP_NAME es el nombre de un grupo de entorno con los alias de host correspondientes, $CA_FILE especifica los datos del certificado TLS (archivo de paquete de CA) que contiene los certificados de autoridad certificadora, y tanto $CERT_FILE como $KEY_FILE son archivos de certificados y claves de TLS. Consulta Crea certificados TLS.
Opción 2: Secrets de Kubernetes
Crea dos Secrets de Kubernetes. El primer secret es para el par de claves/certificado SSL y el segundo es para la CA. Luego, agrégalos a tu archivo de anulación.
- Crea dos Secrets de Kubernetes en el espacio de nombres
apigee
.kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Crea un secreto para la CA:
kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Configura la propiedad
virtualhosts
en el archivo de anulación:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME