本主題說明如何在 Ingress Gateway 上啟用單向 TLS 和 mTLS。
設定單向 TLS
使用單向傳輸層安全標準 (TLS),保護 Ingress 閘道上的 API Proxy 端點。如要啟用單向傳輸層安全標準 (TLS),請使用傳輸層安全標準 (TLS) 憑證/金鑰配對或 Kubernetes Secret 設定 Ingress,詳情請參閱下列選項。
方法 1:金鑰/憑證組
在覆寫檔案的 virtualhosts 屬性中提供 SSL 憑證和金鑰檔案:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"其中 $ENVIRONMENT_GROUP_NAME 是具有對應主機別名的環境群組名稱,$CERT_FILE 和 $KEY_FILE 則是 TLS 金鑰和憑證檔案。請參閱「建立傳輸層安全標準 (TLS) 憑證」。
選項 2:Kubernetes Secret
建立 Kubernetes Secret,並將其新增至覆寫檔案。
- 在
apigee命名空間中建立 Secret:kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- 在覆寫檔案中設定
virtualhosts屬性:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: SIMPLE # Note: SIMPLE is the default, so it is optional. sslSecret: $SECRET_NAME - 在
apigee命名空間中建立兩個 Kubernetes Secret:kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME \ --from-file=key=$KEY_FILE \ --from-file=cert=$CERT_FILE
- 為 CA 建立密鑰:
kubectl create -n APIGEE_NAMESPACE secret generic $SECRET_NAME-cacert \ --from-file=cacert=$CA_FILE
- 在覆寫檔案中設定
virtualhosts屬性:virtualhosts: - name: $ENVIRONMENT_GROUP_NAME tlsMode: MUTUAL # Note: Be sure to specify MUTUAL sslSecret: $SECRET_NAME
設定 mTLS
您可以在 Ingress 閘道上設定 mTLS,取代單向 TLS。您可以透過下列兩種方式設定 mTLS。
選項 1:金鑰/憑證配對和 CA 檔案
提供包含憑證授權單位憑證的 TLS 憑證資料:
virtualhosts:
- name: $ENVIRONMENT_GROUP_NAME
tlsMode: MUTUAL
caCertPath: "$CA_FILE"
sslCertPath: "$CERT_FILE"
sslKeyPath: "$KEY_FILE"其中 $ENVIRONMENT_GROUP_NAME 是具有對應主機別名的環境群組名稱,$CA_FILE 指定包含憑證授權單位憑證的 TLS 憑證資料 (CA 組合檔案),而 $CERT_FILE 和 $KEY_FILE 則是 TLS 金鑰和憑證檔案。請參閱「建立傳輸層安全標準 (TLS) 憑證」。
選項 2:Kubernetes Secret
建立兩個 Kubernetes Secret。第一個密鑰用於 SSL 憑證/金鑰配對,第二個密鑰則用於 CA。然後將這些項目新增至覆寫檔案。