本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 保護 Kubernetes AWS 私有 CA
Kubernetes 容器和應用程式使用數位憑證,透過 TLS 提供安全身分驗證和加密。Kubernetes 中廣泛採用的 TLS 憑證生命週期管理解決方案是 cert-manager
AWS 私有 CA 提供開放原始碼外掛程式給 cert-manager、aws-privateca-issuer
下圖顯示可在 Amazon EKS 叢集中使用 TLS 的一些選項。此範例叢集包含各種資源,位於負載平衡器後方。這些數字識別 TLS 安全通訊的可能端點,包括外部負載平衡器、輸入控制器、服務中的個別 Pod,以及一對 Pod 彼此安全通訊。

-
負載平衡器的終止。
Elastic Load Balancing (ELB) 是一種 AWS Certificate Manager 整合服務,這表示您可以使用私有 CA 佈建 ACM、簽署憑證,並使用 ELB 主控台安裝憑證。此解決方案提供遠端用戶端與負載平衡器之間的加密通訊。資料會以未加密的方式傳遞至 EKS 叢集。或者,您可以提供私有憑證給非AWS 負載平衡器來終止 TLS。
-
在 Kubernetes 輸入控制器終止。
輸入控制器位於 EKS 叢集內,做為原生負載平衡器和路由器。如果您同時安裝了 cert-manager 和 aws-privateca-issuer,並使用私有 CA 佈建叢集,Kubernetes 可以在控制器上安裝已簽署的 TLS 憑證,使其可做為叢集的外部通訊端點。負載平衡器和輸入控制器之間的通訊會加密,而傳入後,資料會未加密地傳遞至叢集的資源。
-
在 Pod 終止。
每個 Pod 都是一或多個容器的群組,可共用儲存體和網路資源。如果您已同時安裝 cert-manager 和 aws-privateca-issuer,並使用私有 CA 佈建叢集,Kubernetes 可以視需要在 Pod 上安裝已簽署的 TLS 憑證。根據預設,叢集中其他 Pod 無法使用在 Pod 終止的 TLS 連線。
-
Pod 之間的安全通訊。
您也可以使用憑證佈建多個 Pod,以允許它們彼此通訊。可能的情況如下:
-
使用 Kubernetes 產生的自我簽署憑證進行佈建。這可保護 Pod 之間的通訊,但自我簽署憑證不符合 HIPAA 或 FIPS 要求。
-
使用私有 CA 簽署的憑證佈建。如同上述第 2 和 3 項,這需要同時安裝 cert-manager 和 aws-privateca-issuer,並使用私有 CA 佈建叢集。然後,Kubernetes 可以視需要在 Pod 上安裝簽署的 TLS 憑證。
-
cert-manager 的跨帳戶使用
具有 CA 跨帳戶存取權的管理員可以使用 cert-manager 來佈建 Kubernetes 叢集。如需詳細資訊,請參閱跨帳戶存取私有 CAs的安全最佳實務。
注意
只有特定 AWS 私有 CA 憑證範本可用於跨帳戶案例。如需可用範本的清單,支援的憑證範本 請參閱 。
支援的憑證範本
下表列出可與 cert-manager 搭配使用以佈建 Kubernetes 叢集的 AWS 私有 CA 範本。
範例解決方案
下列整合解決方案示範如何在 Amazon EKS 叢集 AWS 私有 CA 上設定對 的存取。