RBAC 適用於 AWS KMS - AWS Key Management Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

RBAC 適用於 AWS KMS

角色型存取控制 (RBAC) 是一種授權策略,它只會為使用者提供執行其工作職責所需的許可,而不需要更多。 透過在金鑰政策 中指定金鑰用量的精細許可, AWS KMS RBAC 支援 來控制對金鑰的存取。 中的金鑰政策 AWS KMS金鑰政策會指定資源、動作、效果、主體和選用條件,以授予對金鑰的存取權。

若要RBAC在 中實作 AWS KMS,我們建議將 許可分開給金鑰使用者和金鑰管理員。

Key users

下列金鑰政策範例允許ExampleUserRoleIAM角色使用 KMS金鑰。

{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws: iam::111122223333:role/ExampleUserRole" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

在此範例中,您的金鑰使用者可能需要的許可可能比使用者更少。僅指派使用者所需的許可。使用下列問題來協助您進一步精簡許可。

  • 哪些IAM主體 (角色或使用者) 需要存取 金鑰?

  • 每個主體需要使用 金鑰執行哪些動作? 例如,主體是否只需要加密和簽署許可?

  • 使用者是人工還是 AWS 服務? 如果是 AWS 服務,您可以使用 條件金鑰將金鑰用量限制為特定 AWS 服務。

Key administrators

下列金鑰政策範例允許ExampleAdminRoleIAM角色管理KMS金鑰。

{ "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws: iam::111122223333:role/ExampleAdminRole" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }

在此範例中,您的金鑰管理員可能需要的許可可能少於管理員。僅指派金鑰管理員所需的許可。

僅提供使用者履行其角色所需的許可。使用者的許可可能會因金鑰是否用於測試或生產環境而有所不同。如果您在某些非生產環境中使用限制性較低的許可,請實作 程序來測試政策,然後再發佈至生產環境。