總覽
GKE on AWS 使用客戶管理的 AWS Key Management Service (KMS) 對稱金鑰加密下列項目:
在正式環境中,建議使用不同的金鑰進行設定和磁碟區加密。如要進一步降低金鑰遭盜用的風險,您也可以為下列項目分別建立金鑰:
為進一步提升安全性,您可以建立 AWS KMS 金鑰政策,只指派最低必要權限。詳情請參閱建立具有特定權限的 KMS 金鑰。
建立 AWS KMS 金鑰
如要建立金鑰,請執行下列指令:
aws --region AWS_REGION kms create-key \
--description "KEY_DESC"
更改下列內容:
- 將
AWS_REGION
替換為 AWS 區域的名稱 KEY_DESC
,並附上金鑰的文字說明
針對您建立的每個金鑰,請儲存這個指令輸出內容中名為 KeyMetadata.Arn
的值,以供日後使用。
建立具備特定權限的 KMS 金鑰
如果您為不同函式建立個別金鑰,則需要為每個金鑰提供 KMS 金鑰政策,授予該金鑰的適當權限。如果您在建立金鑰時未指定金鑰政策,AWS KMS 會建立預設金鑰政策,授予擁有帳戶中的所有主體對金鑰所有作業的無限制存取權。
建立金鑰政策時,您必須允許 AWS IAM 政策存取金鑰政策。金鑰政策也必須授予帳戶使用 IAM 政策的權限。如未取得金鑰政策的授權,允許權限的 IAM 政策不會生效。詳情請參閱「AWS KMS 中的金鑰政策」。
下表說明 GKE on AWS 使用的各項 AWS IAM 角色權限。
GKE Multi-cloud API 服務代理人角色 | 控制層角色 | 節點集區角色 | AWS AutoScaling 服務角色 | |
---|---|---|---|---|
叢集控制層設定加密 | kms:Encrypt | kms:Decrypt | 不適用 | 不適用 |
叢集控制層資料庫加密 | 不適用 | kms:Encrypt kms:Decrypt |
不適用 | 不適用 |
叢集控制層主要磁碟區加密 | kms:GenerateDataKeyWithoutPlaintext | kms:CreateGrant | 不適用 | 不適用 |
叢集控制層根磁碟區加密 | 不適用 | 不適用 | 不適用 | 請參閱「允許存取客戶管理金鑰的金鑰政策部分」 |
節點集區設定加密 | kms:Encrypt | 不適用 | kms:Decrypt | 不適用 |
節點集區根磁碟區加密 | 不適用 | 不適用 | 不適用 | 請參閱「允許存取客戶管理金鑰的金鑰政策部分」 |
其他需求 | kms:DescribeKey | 不適用 | 不適用 | 不適用 |