In diesem Thema wird beschrieben, wie Sie One-Way-TLS und mTLS auf dem Ingress-Gateway aktivieren.
One-Way-TLS konfigurieren
Verwenden Sie One-Way-TLS, um API-Proxyendpunkte auf dem Ingress-Gateway zu schützen. Wenn Sie One-Way-TLS aktivieren möchten, konfigurieren Sie das Ingress mit TLS-Zertifikat/-Schlüsselpaaren oder mit einem Kubernetes-Secret, wie in den folgenden Optionen beschrieben.
Option 1: Schlüssel/Zertifikat-Paar
Geben Sie die SSL-Zertifikats- und SSL-Schlüsseldateien in der Überschreibungsdatei im Attribut virtualhosts
an:
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
Dabei ist $ENVIRONMENT_GROUP_NAME der Name einer Umgebungsgruppe mit entsprechenden Hostaliassen. $CERT_FILE und $KEY_FILE sind TLS-Schlüssel- und TLS-Zertifikatsdateien. Weitere Informationen finden Sie unter TLS-Zertifikate erstellen.
Option 2: Kubernetes-Secret
Erstellen Sie ein Kubernetes Secret und fügen Sie es der Überschreibungsdatei hinzu.
- Erstellen Sie das Secret im Namespace
apigee
:kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Konfigurieren Sie das Attribut
virtualhosts
in Ihrer Überschreibungsdatei:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME
mTLS konfigurieren
Anstatt One-Way-TLS zu konfigurieren, können Sie mTLS auf dem Ingress-Gateway konfigurieren. Es gibt zwei Optionen zum Konfigurieren von mTLS. Eine Erklärung für beide finden Sie unten.
Option 1: Schlüssel/Zertifikat-Paar und CA-Datei
Geben Sie TLS-Zertifikatsdaten mit Zertifikaten der Zertifizierungsstelle an:
virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL caCertPath: "$CA_FILE" sslCertPath: "$CERT_FILE" sslKeyPath: "$KEY_FILE"
Dabei ist $ENVIRONMENT_GROUP_NAME der Name einer Umgebungsgruppe mit entsprechenden Hostaliassen, $CA_FILE gibt TLS-Zertifikatsdaten (CA-Bundle-Dateien) an, die Zertifizierungsstellenzertifikate enthalten, und $CERT_FILE und $KEY_FILE sind TLS-Schlüssel- und TLS-Zertifikatsdateien. Weitere Informationen finden Sie unter TLS-Zertifikate erstellen.
Option 2: Kubernetes-Secrets
Zwei Kubernetes-Secrets erstellen. Das erste Secret ist für das SSL-Zertifikat/SSL-Schlüssel-Paar und das zweite für die Zertifizierungsstelle bestimmt. Fügen Sie sie dann der Überschreibungsdatei hinzu.
- Erstellen Sie zwei Kubernetes-Secrets im Namespace
apigee
:kubectl create -n apigee secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- Erstellen Sie ein Secret für die Zertifizierungsstelle:
kubectl create -n apigee secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- Konfigurieren Sie das Attribut
virtualhosts
in Ihrer Überschreibungsdatei:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME