總覽
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 | 不適用 | 不適用 | 不適用 |