Questo argomento spiega come attivare TLS e mTLS unidirezionali su ingressgateway .
Configurazione di TLS unidirezionale
Utilizza TLS unidirezionale per proteggere gli endpoint proxy API sul gateway di ingresso. Per attivare TLS unidirezionale, configura l'ingress con coppie di chiavi/certificati TLS o con un segreto Kubernetes, come spiegato nelle opzioni seguenti.
Opzione 1: coppia chiave/certificato
Fornisci i file del certificato e della chiave SSL nella proprietà virtualhosts
del file delle sostituzioni:
virtualhosts: - name:$ENVIRONMENT_GROUP_NAME sslCertPath: "$CERT_FILE " sslKeyPath: "$KEY_FILE "
dove $ENVIRONMENT_GROUP_NAME è il nome di un gruppo di ambienti con gli alias host corrispondenti e $CERT_FILE e $KEY_FILE sono i file della chiave e del certificato TLS. Vedi Creare certificati TLS.
Opzione 2: secret Kubernetes
Crea un secret Kubernetes e aggiungilo al file delle sostituzioni.
- Crea il secret in uno dei due seguenti spazi dei nomi:
- Spazio dei nomi
apigee
se utilizzi il gateway di ingresso Apigee. istio-system
se utilizzi Anthos Service Mesh installato dal cliente.
kubectl create -n apigee secret generic
$SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE kubectl create -n istio-system secret generic
$SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE - Spazio dei nomi
- Configura la proprietà
virtualhosts
nel file delle sostituzioni:virtualhosts: - name:
$ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret:$SECRET_NAME
Configurazione di mTLS
Anziché TLS unidirezionale, puoi configurare mTLS sul gateway in entrata. Esistono due opzioni per la configurazione di mTLS, come spiegato di seguito.
Opzione 1: coppia chiave/certificato e file CA
Fornisci un certificato dell'autorità di certificazione (CA) con i file della chiave e del certificato SSL nella proprietà virtualhosts
del file delle sostituzioni:
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 gli alias host corrispondenti, $CA_FILE è un certificato autorizzato e $CERT_FILE e $KEY_FILE sono i file della chiave e del certificato TLS. Vedi Creare certificati TLS.
Opzione 2: Kubernetes Secrets
Crea due secret di Kubernetes. Il primo segreto è per la coppia chiave/certificato SSL e il secondo per la CA. Aggiungili al file delle sostituzioni.
- Crea due secret Kubernetes in uno dei due seguenti spazi dei nomi:
- Spazio dei nomi
apigee
se utilizzi il gateway di ingresso Apigee. istio-system
se utilizzi Anthos Service Mesh installato dal cliente.
kubectl create -n apigee secret generic
$SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE kubectl create -n istio-system secret generic
$SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE - Spazio dei nomi
- Crea un secret per la CA:
kubectl create -n apigee secret generic
$SECRET_NAME -cacert \ --from-file=cacert=$CA_FILE kubectl create -n istio-system secret generic
$SECRET_NAME -cacert \ --from-file=cacert=$CA_FILE - Configura la proprietà
virtualhosts
nel file delle sostituzioni:virtualhosts: - name:
$ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret:$SECRET_NAME