Configurazione di TLS e mTLS sul gateway in entrata

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.

  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 delle sostituzioni:
    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 TLS dati dei certificati contenenti i 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 gli alias host corrispondenti, $CA_FILE specifica i dati del certificato TLS (file del pacchetto CA) contenente i certificati dell'autorità di certificazione e $CERT_FILE e $KEY_FILE sono i file della chiave e del certificato TLS. Vedi Creare certificati TLS.

Opzione 2: Kubernetes Secrets

Crea due secret di Kubernetes. Il primo è per la coppia certificato/chiave SSL e il secondo è per la CA. e aggiungili al file degli override.

  1. Crea due secret Kubernetes per lo 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 delle sostituzioni:
    virtualhosts:
      - name: $ENVIRONMENT_GROUP_NAME
        tlsMode: MUTUAL  # Note: Be sure to specify MUTUAL
        sslSecret: $SECRET_NAME