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 seguenti opzioni.
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.
Gateway di ingresso Apigee
kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
Anthos Service Mesh
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.
Gateway di ingresso Apigee
kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
Anthos Service Mesh
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:
Gateway di ingresso Apigee
kubectl create -n apigee secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
Anthos Service Mesh
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