Questo argomento spiega come abilitare TLS e mTLS unidirezionali sul gateway in entrata .
Configurazione di TLS unidirezionale
Utilizza TLS unidirezionale per proteggere gli endpoint del proxy API sul gateway in entrata. Per attivare con TLS unidirezionale, puoi configurare il traffico in entrata con coppie di certificati/chiavi TLS o Secret, come spiegato nelle opzioni seguenti.
Opzione 1: coppia chiave/certificata
Fornisci il certificato SSL e i file della chiave nella proprietà virtualhosts
nel file degli override:
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
Dove $ENVIRONMENT_GROUP_NAME è il nome di un gruppo di ambiente con alias host corrispondenti, mentre $CERT_FILE e $KEY_FILE sono chiave e certificato TLS . Vedi Creare certificati TLS.
Opzione 2: secret Kubernetes
Creare un Kubernetes Secret e aggiungilo al file degli override.
- Crea il secret in uno dei due spazi dei nomi seguenti:
apigee
se utilizzi il gateway in entrata Apigee.istio-system
se 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
- 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/certificata e file CA
Fornisci un certificato dell'autorità di certificazione (CA) con il certificato SSL e i file della chiave nel
virtualhosts
proprietà nel file degli 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 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: secret di Kubernetes
Creare due Secret di Kubernetes. Il primo è per la coppia certificato/chiave SSL e il secondo è per la CA. e aggiungili al file degli override.
- Crea due secret Kubernetes in uno dei due spazi dei nomi seguenti:
apigee
se utilizzi il gateway in entrata Apigee.istio-system
se 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
- 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à
virtualhosts
nel file di override:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME