本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
EKS 叢集的 KMS 信封加密
注意
Amazon Elastic Kubernetes Service (Amazon EKS) 為執行 Kubernetes 1.28 版或更新版本的 EKS 叢集中的所有 Kubernetes API 資料提供預設信封加密。如需詳細資訊,請參閱《EKS 使用者指南》中所有 Kubernetes API 資料的預設信封加密。
EKS 支援使用 AWS KMS
先前,Amazon EKS 支援僅在叢集建立期間使用 KMS 金鑰啟用信封加密
閱讀 AWS 容器部落格
在啟用 KMS 加密的情況下建立叢集
# kms-cluster.yaml # A cluster with KMS encryption enabled --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: kms-cluster region: us-west-2 managedNodeGroups: - name: ng # more config secretsEncryption: # KMS key used for envelope encryption of Kubernetes secrets keyARN: arn:aws:kms:us-west-2:<account>:key/<key>
eksctl create cluster -f kms-cluster.yaml
在現有叢集上啟用 KMS 加密
若要在尚未啟用 KMS 加密的叢集上啟用 KMS 加密,請執行
eksctl utils enable-secrets-encryption -f kms-cluster.yaml
或沒有組態檔案:
eksctl utils enable-secrets-encryption --cluster=kms-cluster --key-arn=arn:aws:kms:us-west-2:<account>:key/<key> --region=<region>
除了在 EKS 叢集上啟用 KMS 加密之外,eksctl 還會使用新的 KMS 金鑰,透過註釋 更新它們來重新加密所有現有的 Kubernetes 秘密eksctl.io/kms-encryption-timestamp
。透過傳遞 可以停用此行為--encrypt-existing-secrets=false
,如 所示:
eksctl utils enable-secrets-encryption --cluster=kms-cluster --key-arn=arn:aws:kms:us-west-2:<account>:key/<key> --encrypt-existing-secrets=false --region=<region>
如果叢集已啟用 KMS 加密,eksctl 將繼續重新加密所有現有的秘密。
注意
啟用 KMS 加密後,就無法停用或更新以使用不同的 KMS 金鑰。