KMS密钥访问和权限 - AWS Key Management Service

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

KMS密钥访问和权限

要使用 AWS KMS,您必须拥有 AWS 可用于对请求进行身份验证的凭证。证书必须包括访问 AWS 资源的权限 AWS KMS keys 和别名。除非明确提供密钥权限,否则 AWS 委托人对KMS密钥没有任何权限,并且从不被拒绝。不存在使用或管理KMS密钥的隐式或自动权限。

要控制对KMS密钥的访问权限,您可以使用以下策略机制。

  • 密钥策略-每个KMS密钥都有密钥策略。它是控制KMS密钥访问的主要机制。您可以单独使用密钥策略来控制访问权限,这意味着对KMS密钥的全部访问范围是在单个文档(密钥策略)中定义的。有关使用密钥策略的更多信息,请参阅密钥政策

  • IAM策略 — 您可以将IAM策略与密钥策略和授权结合使用,以控制对KMS密钥的访问权限。通过用这种方式控制访问,您可以管理 IAM 中各 IAM 身份的所有权限。要使用IAM策略允许访问KMS密钥,密钥策略必须明确允许访问密钥。有关使用 IAM 策略的更多信息,请参阅IAM 策略

  • G rants — 您可以将授权与密钥策略和IAM策略结合使用,以允许访问KMS密钥。通过这种方式控制访问权限,您可以允许访问KMS密钥策略中的密钥,并允许身份将其访问权限委托给其他人。有关使用授权的更多信息,请参阅补助金 AWS KMS

KMS关键政策

管理 AWS KMS 资源访问权限的主要方法是使用策略。策略是用于描述哪些委托人可以访问什么资源的文档。附加到IAM身份的策略称为基于身份的策略(或IAM策略),附加到其他类型资源的策略称为资源策略。 AWS KMS KMS密钥的资源策略称为密钥策略

所有KMS密钥都有密钥策略。如果您不提供一个,请为您 AWS KMS 创建一个。 AWS KMS 使用的默认密钥策略会有所不同,具体取决于您是在 AWS KMS 控制台中创建密钥还是使用密钥 AWS KMS API。我们建议您编辑默认密钥政策,使其符合贵组织对最低权限的要求。

如果密钥和IAM委托人位于同一个 AWS 账户中,则可以单独使用密钥策略来控制访问权限,这意味着对KMS密钥的全部访问范围是在单个文档(密钥策略)中定义的。但是,当一个账户中的调用者必须访问另一个账户中的密钥时,您不能仅使用密钥政策来授予访问权限。在跨账户场景中,必须将IAM策略附加到来电者的用户或角色,明确允许来电者API拨打电话。

您还可以将IAM策略与密钥策略和授权结合使用,以控制对KMS密钥的访问权限。要使用IAM策略来控制对KMS密钥的访问,密钥策略必须授予账户使用IAM策略的权限。您可以指定启用策略的密钥策略语句,也可以在密钥IAM策略中明确指定允许的委托人

在制定策略时,请确保有严格的控制措施,限制可以执行以下操作的人员:

  • 更新、创建、删除IAM和KMS密钥策略

  • 为用户、角色和群组附加和分离IAM策略

  • 在钥匙上附加和拆除KMS钥匙策略 KMS

KMS密钥补助金

除了关键政策外IAM,还 AWS KMS 支持补助金。授权提供了一种灵活而强大的权限委托方式。您可以使用授权向账户或其他 AWS AWS 账户中的IAM委托人授予有时限的KMS密钥访问权限。如果您在创建策略时不知道主体的名称,或者需要访问权限的主体经常发生变化,我们建议您授予有时限的访问权限。被授权人委托人可以与KMS密钥在同一个账户中,也可以位于不同的账户中。如果委托人和KMS密钥位于不同的账户中,则除了授权外,您还必须指定IAM策略。拨款需要额外的管理,因为您必须致电API来创建授权,并在不再需要时取消或撤销授权。

以下主题详细介绍了如何使用 AWS Identity and Access Management (IAM) 以及通过控制谁可以访问资源来保护您的资源的 AWS KMS 权限。