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 unilaterale, configura l'ingresso con coppie di chiavi/certificati TLS o con un segreto Kubernetes, come spiegato nelle opzioni che seguono.
Opzione 1: coppia chiave/certificata
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 di override:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
Configurazione di mTLS
Invece del protocollo TLS unidirezionale, puoi configurare mTLS nella 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 ambiente con gli alias host corrispondenti, $CA_FILE è un certificato autorizzato e $CERT_FILE e $KEY_FILE sono chiave e 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:
apigee
se utilizzi il gateway in entrata 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
- 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