- v1.12 (più recente)
- Versione 1.11
- Versione 1.10
- Elenco delle versioni supportate
- Versione 1.9
- Versione 1.8
- Versione 1.7
- Versione 1.6
- Versione 1.5
- Versione 1.4
- Versione 1.3
- Versione 1.2
- Versione 1.1
Versioni supportate:
Versioni non supportate:
Questo argomento spiega come abilitare TLS e mTLS unidirezionale sul traffico in entrata Istio.
Configurazione di TLS unidirezionale
Utilizza il protocollo TLS unidirezionale per proteggere gli endpoint proxy API sul traffico in entrata Istio. Per abilitare TLS unidirezionale, devi configurare il traffico in entrata con coppie di certificati/chiave TLS o con un secret di Kubernetes, come spiegato nelle seguenti opzioni.
Opzione 1: coppia chiave/certificato
Fornisci i file del certificato e della chiave SSL nella proprietà virtualhosts
nel file di override:
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
Dove $ENVIRONMENT_GROUP_NAME è il nome di un gruppo di ambienti con alias host corrispondenti, mentre $CERT_FILE e $KEY_FILE sono file di chiavi e certificati TLS. Vedi Creare certificati TLS.
Opzione 2: secret di Kubernetes
Crea un Secret Kubernetes nello spazio dei nomi istio-system
e aggiungi il nome del secret al file di override:
- Crea il secret:
kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Configura la proprietà
virtualhosts
nel file di override:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Configurazione di mTLS
Anziché utilizzare il protocollo TLS unidirezionale, puoi configurare mTLS sul traffico in entrata Istio. Esistono due opzioni per configurare mTLS, come spiegato di seguito.
Opzione 1: coppia chiave/certificato e file CA
Fornisci un certificato dell'autorità di certificazione (CA) con i file di certificati e chiavi SSL nella proprietà virtualhosts
nel file di override:
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL caCertPath: "$CA_FILE" sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
Dove $ENVIRONMENT_GROUP_NAME è il nome di un gruppo di ambienti con alias host corrispondenti, $CA_FILE è un certificato autorizzato, mentre $CERT_FILE e $KEY_FILE sono file di chiavi e certificati TLS. Vedi Creare certificati TLS.
Opzione 2: secret di Kubernetes
Creare due secret Kubernetes nello spazio dei nomiistio-system
. Il primo secret è per l'autorità di certificazione e il secondo è per la coppia di certificato/chiave SSL.
e poi aggiungili al file di override.
- Creare due secret Kubernetes nello
spazio dei nomi
istio-system
. Il primo secret è per la CA e il secondo è per la coppia di certificato/chiave SSL:kubectl create -n istio-system secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Crea un secret per la CA:
kubectl create -n istio-system secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Configura la proprietà
virtualhosts
nel file di override:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME