Configurazione di TLS e mTLS sul gateway in entrata

Questo argomento spiega come abilitare TLS unidirezionale e mTLS sul ingressgateway.

Configurazione di TLS unidirezionale

Utilizza TLS unidirezionale per proteggere gli endpoint proxy API sul gateway in entrata. Per abilitare TLS unidirezionale, devi configurare il traffico in entrata con coppie di certificati/chiave TLS o con un secret di Kubernetes, come spiegato nelle seguenti opzioni.

Opzione 1: coppia chiave/certificato

Fornisci i file del certificato e della chiave SSL nella proprietà virtualhosts nel 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, mentre $CERT_FILE e $KEY_FILE sono file di chiavi e certificati TLS. Vedi Creare certificati TLS.

Opzione 2: secret di Kubernetes

Crea un secret di Kubernetes e aggiungilo al file di override.

  1. Crea il secret nello spazio dei nomi apigee:
    kubectl create -n apigee secret generic $SECRET_NAME  \
      --from-file=key=$KEY_FILE \
      --from-file=cert=$CERT_FILE
  2. 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

Anziché utilizzare 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 i dati dei certificati TLS contenenti certificati dell'autorità di certificazione:

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 specifica i dati del certificato TLS (file del bundle CA) contenenti certificati dell'autorità di certificazione, mentre $CERT_FILE e $KEY_FILE sono le chiavi TLS e i file di certificati. Vedi Creare certificati TLS.

Opzione 2: secret di Kubernetes

Creare due secret di Kubernetes. Il primo secret è per la coppia di certificato/chiave SSL, mentre il secondo è per la CA. e poi aggiungili al file di override.

  1. Crea due secret Kubernetes nello spazio dei nomi apigee:
    kubectl create -n apigee secret generic $SECRET_NAME  \
      --from-file=key=$KEY_FILE \
      --from-file=cert=$CERT_FILE
  2. Crea un secret per la CA:
    kubectl create -n apigee secret generic $SECRET_NAME-cacert  \
      --from-file=cacert=$CA_FILE
  3. Configura la proprietà virtualhosts nel file di override:
    virtualhosts:
      - name: $ENVIRONMENT_GROUP_NAME
        tlsMode: MUTUAL  # Note: Be sure to specify MUTUAL
        sslSecret: $SECRET_NAME