管理对您的 AWS KMS 资源的访问概述 - AWS Key Management Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

管理对您的 AWS KMS 资源的访问概述

每个 AWS 资源属于一个 AWS 账户,而创建或访问资源的权限在该账户的权限策略中定义。账户管理员可以向各 IAM 身份(即,用户、组和角色)附加权限策略,某些服务(包括 AWS KMS)也支持向其他资源类型附加权限策略。

注意

账户管理员 (或管理员用户) 是具有管理员权限的用户。有关更多信息,请参阅 https://docs.amazonaws.cn/IAM/latest/UserGuide/getting-started_create-admin-group.html 中的IAM 用户指南创建管理员用户和组

在管理权限时,您要决定谁可以获得权限、获得哪些资源的权限以及允许的特定操作。

AWS KMS 资源和操作

在 AWS KMS,主要资源是 客户主密钥 (CMK)。 AWS KMS 还支持 别名,一个独立于 CMK,但提供了一个可以与 CMK. 某些 AWS KMS 操作允许您使用别名识别A CMK.

每个实例 CMK 或别名 Amazon资源名称 (ARN)采用标准格式。在 AWS KMS 资源中,AWS 服务名称为 kms

  • 客户主密钥 (CMK)

    ARN 格式

    arn:AWS partition name:AWS service name:AWS Region:AWS account ID:key/CMK key ID

    示例 ARN:

    arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • 别名

    ARN 格式

    arn:AWS partition name:AWS service name:AWS region:AWS account ID:alias/alias name

    示例 ARN:

    arn:aws:kms:us-west-2:111122223333:alias/example-alias

AWS KMS 提供一组 API 操作,用以处理您的 AWS KMS 资源。有关识别 CMKs 在 AWS 管理控制台 和 AWS KMS API操作,请参阅 密钥标识符 (KeyId). 有关 AWS KMS 操作的列表,请参阅 AWS Key Management Service API Reference

管理访问 AWS KMS CMKs

管理访问您的 AWS KMS CMKs 与 政策. 策略是一些用于描述谁可以访问什么内容的文档。附加到 IAM 身份的策略称作基于身份的策略(或 IAM 策略),附加到其他资源类型的策略称作基于资源的策略。在 AWS KMS,您必须将基于资源的策略附加到您的 客户主密钥 (CMKs)。这些策略称为密钥策略。所有KMS CMKs 有关键政策。

您可以控制对您的KMS的访问 CMKs 通过以下方式:

  • 使用关键政策 – 您必须使用关键政策来控制访问 CMK. 您可以单独使用关键策略来控制访问,这意味着 CMK 在单个文档(关键策略)中定义。

  • 使用 IAM 与关键政策结合的政策 – 您可以使用 IAM 与关键政策结合的政策,以控制访问 CMK. 通过用这种方式控制访问,您可以管理 IAM 中各 IAM 身份的所有权限。

  • 使用与关键政策结合的资助 – 您可以使用与关键政策结合的授权来访问 CMK. 通过这种方式控制访问,可以允许访问 CMK 在关键策略中,并允许用户将访问权限委派给他人。

对于大多数 AWS 服务,IAM 策略是控制对服务资源的访问的唯一方式。有些服务提供基于资源的策略或其他访问控制机制来补充 IAM 策略,但这些通常都是可选项,您可以只使用 IAM 策略来控制对这些服务中资源的访问。但这并不适用于 AWS KMS。允许访问KMS CMK,您必须使用关键政策单独或与 IAM 政策或授予。 IAM 本身的政策不足以允许访问 CMK,尽管您可以使用 CMK的关键政策。

有关使用密钥策略的更多信息,请参阅使用密钥策略

有关使用 IAM 策略的更多信息,请参阅使用 IAM 策略

有关使用授权的更多信息,请参阅使用授权

在策略中指定权限

AWS KMS 提供一组 API 操作。为了控制对这些 API 操作的访问,AWS KMS 提供一组可以在策略中指定的操作。有关更多信息,请参阅 AWS KMS API 权限参考。)

策略是一个用于描述一组权限的文档。下面是基本的策略元素:

  • 资源 – 在 IAM 策略中,使用 Amazon 资源名称 (ARN) 指定策略应用到的资源。有关更多信息,请参阅 AWS KMS 资源和操作。) 在关键政策中,您使用 "*" 对于资源而言,这意味着“这个 CMK." 关键政策仅适用于 CMK 它已连接到。

  • 操作 – 使用操作指定要允许或拒绝的 API 操作。例如,kms:Encrypt 操作对应于 AWS KMS Encrypt 操作。

  • 权限 – 使用权限指定是允许还是拒绝权限。如果没有显式允许访问资源,则隐式 拒绝访问。您也可以显式拒绝对资源的访问,这样可确保用户无法访问该资源,即使有其他策略允许访问也是如此。

  • 委托人 – 在 IAM 策略中,请勿指定 AWS 委托人。附加了策略的身份(IAM 用户、组或角色)即隐式委托人。在密钥策略中,则必须指定权限应用到的委托人 (身份)。您可以指定 AWS 账户(根)、IAM 用户、IAM 角色和一些 AWS 服务作为密钥策略中的委托人。IAM 组不是密钥策略中的有效委托人。

有关更多信息,请参阅 使用密钥策略使用 IAM 策略

在策略中指定条件

您可以使用另一个称为 condition 的策略元素指定策略生效的条件。例如,您可能希望策略语句仅在特定日期后生效。或者,您可能希望策略语句根据 API 请求中是否存在特定值来控制访问。

要指定条件,您可以使用预定义的条件键。一些条件键通用于 AWS,而一些条件键特定于 AWS KMS。有关更多信息,请参阅 使用策略条件。)