控制密钥删除所需的权限 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

控制密钥删除所需的权限

如果您使用 IAM policy 允许 Amazon KMS 权限,则具有 Amazon 管理员访问权限("Action": "*")或 Amazon KMS 完全访问权限("Action": "kms:*")的 IAM 身份,都已被允许计划和取消 KMS 密钥的密钥删除。要允许密钥管理员安排和取消密钥策略中的密钥删除,请使用 Amazon KMS 控制台或 Amazon KMS API。

通常,只有密钥管理员才有权安排或取消密钥删除。但是,您可以通过向密钥策略或 IAM policy 添加 kms:ScheduleKeyDeletionkms:CancelKeyDeletion 权限,将这些权限授予其他 IAM 身份。您还可以使用kms:ScheduleKeyDeletionPendingWindowInDays条件键进一步限制委托人可以在请求PendingWindowInDays参数中指定的值。ScheduleKeyDeletion

允许密钥管理员安排和取消密钥删除(控制台)。

授予密钥管理员计划和取消密钥删除的权限。

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Key Management Service (Amazon KMS) 控制台:https://console.aws.amazon.com/kms

  2. 要更改 Amazon Web Services 区域,请使用页面右上角的区域选择器。

  3. 在导航窗格中,选择客户托管密钥

  4. 选择要更改其权限的 KMS 密钥的别名或密钥 ID。

  5. 选择 key policy(密钥策略)选项卡。

  6. 下一步操作具体取决于密钥策略的默认视图策略视图。只有在使用默认控制台密钥策略时,默认视图才可用。否则,仅策略视图可用。

    当默认视图可用时,Key policy(密钥策略)选项卡上会出现 Switch to policy view(切换到策略视图)或 Switch to default view(切换到默认视图)按钮。

    • 在默认视图中:

      1. Key deletion(密钥删除)下,选择 Allow key administrators to delete this key(允许密钥管理员删除此密钥)。

    • 在策略视图中:

      1. 选择编辑

      2. 在密钥管理员的策略语句中,向 Action 元素添加 kms:ScheduleKeyDeletionkms:CancelKeyDeletion 权限。

        { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSKeyAdmin"}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }
      3. 选择保存更改

允许密钥管理员计划和取消密钥删除的权限(Amazon CLI)。

您可以使用 Amazon Command Line Interface来添加计划和取消密钥删除所需的权限。

添加计划和取消密钥删除所需的权限
  1. 使用 aws kms get-key-policy 命令检索现有的密钥策略,然后将策略文档保存到文件中。

  2. 在您的首选文本编辑器中打开策略文档。在密钥管理员的策略语句中,添加 kms:ScheduleKeyDeletionkms:CancelKeyDeletion 权限。以下示例显示了一个具有这两项权限的策略语句:

    { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSKeyAdmin"}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }
  3. 使用 aws kms put-key-policy 命令将密钥策略应用于 KMS 密钥。