TLS und mTLS für das Ingress-Gateway konfigurieren

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.

  1. Erstellen Sie das Secret im Namespace apigee:
    kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME  \
      --from-file=key=$KEY_FILE \
      --from-file=cert=$CERT_FILE
  2. 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.

  1. Erstellen Sie zwei Kubernetes-Secrets im Namespace apigee.
    kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME  \
      --from-file=key=$KEY_FILE \
      --from-file=cert=$CERT_FILE
  2. Erstellen Sie ein Secret für die Zertifizierungsstelle:
    kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME-cacert  \
      --from-file=cacert=$CA_FILE
  3. Konfigurieren Sie das Attribut virtualhosts in Ihrer Überschreibungsdatei:
    virtualhosts:
      - name: $ENVIRONMENT_GROUP_NAME
        tlsMode: MUTUAL  # Note: Be sure to specify MUTUAL
        sslSecret: $SECRET_NAME