更改密钥政策 - AWS Key Management Service

更改密钥政策

您可以在 AWS 账户 中通过使用 AWS 管理控制台 或 PutKeyPolicy 操作更改 KMS 密钥的密钥策略。但这些技术不能用于更改其他 AWS 账户 中的 KMS 密钥的密钥策略。

当更改密钥策略时,请注意以下规则:

  • 您可以查看 AWS 托管式密钥客户托管密钥的密钥策略,但只能更改客户托管密钥的密钥策略 AWS 托管式密钥 的策略由在账户中创建 KMS 密钥的 AWS 服务创建和管理。您无法查看或更改 AWS 拥有的密钥 的密钥策略。

  • 您可以在密钥策略中添加或删除 IAM 用户、IAM 角色和 AWS 账户,并更改允许或拒绝这些主体执行的操作。有关在密钥策略中指定委托人和权限的方法的更多信息,请参阅密钥策略

  • 您无法向密钥策略添加 IAM 组,但可以添加多个 IAM 用户和 IAM 角色。有关更多信息,请参阅 允许多个 IAM 主体访问 KMS 密钥

  • 如果向密钥政策添加外部 AWS 账户,您还必须使用外部账户中的 IAM policy 向这些账户中的 IAM 用户、组或角色授予权限。有关更多信息,请参阅 允许其他账户中的用户使用 KMS 密钥

  • 所生成的密钥策略文档不能超过 32 KB(32,768 字节)。

如何更改密钥策略

您可以通过三种不同的方式更改密钥策略,如以下各部分所述。

使用 AWS 管理控制台默认视图

您可以使用控制台中名为默认视图的图形界面来更改密钥策略。

如果以下步骤与您在此控制台中看到的内容不一致,可能意味着,此密钥策略不是由此控制台创建的。也可能意味着,修改此密钥策略的方式不受控制台的默认视图的支持。在这种情况下,请按照使用 AWS 管理控制台策略视图使用 AWS KMS API中的步骤操作。

  1. 查看客户托管密钥的密钥策略,如 使用 AWS KMS 控制台 中所述。(您无法更改 AWS 托管式密钥 的密钥策略。)

  2. 确定要更改的内容。

    • 要添加或删除密钥管理员以及允许或阻止密钥管理员删除 KMS 密钥,请使用此页面的 Key administrators(密钥管理员)部分中的控件。密钥管理员管理 KMS 密钥,包括启用和禁用它、设置密钥策略以及启用密钥轮换

    • 要添加或删除密钥用户以及允许或禁止外部 AWS 账户 使用 KMS 密钥,请使用此页面的 Key users(密钥用户)部分中的控件。密钥用户可以在加密操作(如加密、解密、重新加密和生成数据密钥)中使用 KMS 密钥。

使用 AWS 管理控制台策略视图

您可以使用控制台的策略视图更改密钥策略文档。

  1. 查看客户托管密钥的密钥策略,如 使用 AWS KMS 控制台 中所述。(您无法更改 AWS 托管式密钥 的密钥策略。)

  2. 密钥策略部分中,选择切换到策略视图

  3. 选择编辑

  4. 确定要更改的内容。

    • 要添加新语句,请选择添加新语句。然后,您可以从语句构建器面板列出的选项中选择新密钥策略语句的操作、主体和条件,也可手动输入策略语句元素。

    • 要移除密钥策略中的某个语句,请选择该语句,然后选择移除。检查所选的策略语句并确认您要将其移除。如果您决定不移除该语句,请选择取消

    • 要编辑现有的密钥策略语句,请选择该语句。然后,您可以使用语句生成器面板来选择要修改的特定元素,也可手动编辑该语句。

  5. 选择保存更改

使用 AWS KMS API

您可以使用 PutKeyPolicy 操作更改 AWS 账户 中的 KMS 密钥的密钥策略。但不能对其他 AWS 账户 中的 KMS 密钥使用此 API。

  1. 使用 GetKeyPolicy 操作获取现有密钥策略文档,然后将密钥策略文档保存到文件中。有关多种编程语言中的示例代码,请参阅 将 GetKeyPolicy 与 AWS SDK 或 CLI 配合使用

  2. 在您的首选文本编辑器中打开该密钥策略文档,编辑该密钥策略文档,然后保存文件。

  3. 使用 PutKeyPolicy 操作,将更新后的密钥策略文档应用于 KMS 密钥。有关多种编程语言中的示例代码,请参阅 将 PutKeyPolicy 与 AWS SDK 或 CLI 配合使用

有关将密钥策略从一个 KMS 密钥复制到另一个密钥的示例,请参阅 AWS CLI 命令参考中的 GetKeyPolicy 示例