更改密钥策略
您可以在 Amazon Web Services 账户 中通过使用 Amazon Web Services Management Console 或 PutKeyPolicy 操作更改 KMS 密钥的密钥策略。但这些技术不能用于更改其他 Amazon Web Services 账户 中的 KMS 密钥的密钥策略。
当更改密钥策略时,请注意以下规则:
-
您可以查看 Amazon 托管式密钥 或客户托管密钥的密钥策略,但只能更改客户托管密钥的密钥策略 Amazon 托管式密钥 的策略由在账户中创建 KMS 密钥的 Amazon 服务创建和管理。您无法查看或更改 Amazon 拥有的密钥 的密钥策略。
-
您可以在密钥策略中添加或删除 IAM 用户、IAM 角色和 Amazon Web Services 账户,并更改允许或拒绝这些主体执行的操作。有关在密钥策略中指定委托人和权限的方法的更多信息,请参阅密钥策略。
-
您无法向密钥策略添加 IAM 组,但可以添加多位 IAM 用户。有关更多信息,请参阅 允许多位 IAM 用户访问 KMS 密钥。
-
如果向密钥策略添加外部 Amazon Web Services 账户,您还必须使用外部账户中的 IAM 策略向这些账户中的 IAM 用户、组或角色授予权限。有关更多信息,请参阅 允许其他账户中的用户使用 KMS 密钥。
-
所生成的密钥策略文档不能超过 32 KB(32,768 字节)。
如何更改密钥策略
您可以通过三种不同的方式更改密钥策略,如以下各部分所述。
主题
使用 Amazon Web Services Management Console默认视图
您可以使用控制台中名为默认视图的图形界面来更改密钥策略。
如果以下步骤与您在此控制台中看到的内容不一致,可能意味着,此密钥策略不是由此控制台创建的。也可能意味着,修改此密钥策略的方式不受控制台的默认视图的支持。在这种情况下,请按照使用 Amazon Web Services Management Console策略视图或使用 Amazon KMS API中的步骤操作。
查看客户托管密钥的密钥策略,如 查看密钥策略(控制台) 中所述。(您无法更改 Amazon 托管式密钥 的密钥策略。)
-
确定要更改的内容。
使用 Amazon Web Services Management Console策略视图
您可以使用控制台的策略视图更改密钥策略文档。
查看客户托管密钥的密钥策略,如 查看密钥策略(控制台) 中所述。(您无法更改 Amazon 托管式密钥 的密钥策略。)
-
在 Key Policy (密钥策略) 部分中,选择 Switch to policy view (切换到策略视图)。
-
编辑密钥策略文档,然后选择 Save changes (保存更改)。
使用 Amazon KMS API
您可以使用 PutKeyPolicy 操作更改 Amazon Web Services 账户 中的 KMS 密钥的密钥策略。但不能对其他 Amazon Web Services 账户 中的 KMS 密钥使用此 API。
-
使用 GetKeyPolicy 操作获取现有密钥策略文档,然后将密钥策略文档保存到文件中。有关多种编程语言中的示例代码,请参阅 获取密钥策略。
-
在您的首选文本编辑器中打开该密钥策略文档,编辑该密钥策略文档,然后保存文件。
-
使用 PutKeyPolicy 操作,将更新后的密钥策略文档应用于 KMS 密钥。有关多种编程语言中的示例代码,请参阅 设置密钥策略。
有关将密钥策略从一个 KMS 密钥复制到另一个密钥的示例,请参阅 Amazon CLI 命令参考中的 GetKeyPolicy 示例。
允许多位 IAM 用户访问 KMS 密钥
IAM 组不是密钥策略中的有效委托人。要允许多位 IAM 用户访问 KMS 密钥,请执行以下操作之一:
-
将每位 IAM 用户添加到密钥策略中。此方法要求您在授权用户列表每次发生更改时更新密钥策略。
-
确保密钥策略包含启用 IAM 策略以允许访问 KMS 密钥的语句。然后,创建一个 IAM 策略以允许访问 KMS 密钥,再将该策略附加到 IAM 组(其中包含经授权的 IAM 用户)。使用此方式,您不需要在授权用户列表发生更改时更改任何策略。相反,您只需在相应的 IAM 组中添加或删除这些用户。
有关 Amazon KMS 密钥策略和 IAM 策略如何协同工作的更多信息,请参阅 密钥访问故障排除。