- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
En este tema se explica cómo habilitar TLS unidireccional y mTLS en la entrada de Istio.
Configurar TLS unidireccional
Usa TLS unidireccional para proteger los endpoints de proxy de API en la entrada de Istio. Para habilitar TLS unidireccional, configura el ingreso con pares de certificado y clave TLS o con un secreto de Kubernetes, tal como se explica en las siguientes opciones.
Opción 1: par de claves/certificados
Proporciona los archivos de certificado y clave SSL en la propiedad virtualhosts
de tu archivo de anulaciones:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
Donde $ENVIRONMENT_GROUP_NAME es el nombre de un grupo de entornos con los alias de host correspondientes, y $CERT_FILE y $KEY_FILE son archivos de clave y certificado TLS. Consulta Crear certificados TLS.
Opción 2: Secreto de Kubernetes
Crea un secreto de Kubernetes en el espacio de nombres istio-system
y añade el nombre del secreto al archivo de anulaciones:
- Crea el secreto:
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Configura la propiedad
virtualhosts
en el archivo de anulaciones:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Configurar mTLS
En lugar de TLS unidireccional, puedes configurar mTLS en la entrada de Istio. Hay dos opciones para configurar mTLS, como se explica a continuación.
Opción 1: par de claves/certificados y archivo de AC
Proporciona un certificado de autoridad de certificación (CA) con archivos de certificado y clave SSL en la propiedad virtualhosts
de tu archivo de anulaciones:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
tlsMode: MUTUAL
caCertPath: "$CA_FILE"
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"
Donde $ENVIRONMENT_GROUP_NAME es el nombre de un grupo de entornos con los alias de host correspondientes, $CA_FILE es un certificado autorizado y $CERT_FILE y $KEY_FILE son archivos de clave y certificado TLS. Consulta Crear certificados TLS.
Opción 2: secretos de Kubernetes
Crea dos secretos de Kubernetes en el espacio de nombresistio-system
. El primer secreto es para la AC y el segundo es para el par de clave y certificado SSL.
A continuación, añádelos al archivo de anulaciones.
- Crea dos secretos de Kubernetes en el espacio de nombres
istio-system
. El primer secreto es para la AC y el segundo es para el par de certificado y clave SSL:kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Crea un secreto para la AC:
kubectl create -n istio-system secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Configura la propiedad
virtualhosts
en el archivo de anulaciones:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME