Questo argomento spiega come attivare TLS unidirezionale e mTLS reciproca su ingressgateway .
Configurazione di TLS unidirezionale
Utilizza TLS unidirezionale per proteggere gli endpoint proxy API sul gateway di ingresso. Per abilitare TLS unidirezionale, configura l'ingresso con coppie di chiavi/certificati TLS o con un secret Kubernetes, come spiegato nelle seguenti opzioni.
Opzione 1: coppia chiave/certificato
Fornisci i file di chiave e certificato SSL nella proprietà virtualhosts del 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 e $CERT_FILE e $KEY_FILE sono file di chiave e certificato TLS. Vedi Creare certificati TLS.
Opzione 2: secret Kubernetes
Crea un secret Kubernetes e aggiungilo al file di override.
- Crea il secret in uno dei due seguenti spazi dei nomi:
- Spazio dei nomi
apigeese utilizzi il gateway in entrata Apigee. istio-systemse utilizzi Anthos Service Mesh installato dal cliente.
Gateway in entrata 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à
virtualhostsnel 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é TLS unidirezionale, puoi configurare mTLS sul gateway in entrata. 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 della chiave e del certificato SSL nella proprietà
virtualhosts del 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 e $CERT_FILE e $KEY_FILE sono file di chiave e certificato TLS. Vedi Creare certificati TLS.
Opzione 2: secret Kubernetes
Crea due secret Kubernetes. Il primo secret è per la coppia di chiavi/certificato SSL e il secondo è per la CA. Quindi, aggiungili al file di override.
- Crea due secret Kubernetes in uno dei due spazi dei nomi seguenti:
- Spazio dei nomi
apigeese utilizzi il gateway in entrata Apigee. istio-systemse utilizzi Anthos Service Mesh installato dal cliente.
Gateway in entrata 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 in entrata 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à
virtualhostsnel file di override:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME