Amazon KMS 访问控制词汇表 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon KMS 访问控制词汇表

以下主题描述了 Amazon KMS 访问控制中的重要术语和概念。

身份验证

身份验证是验证您的身份的过程。要向发送请求 Amazon KMS,您必须 Amazon 使用您的 Amazon 凭据登录。

Authorization

授权提供发送创建、管理或使用 Amazon KMS 资源的请求的权限。例如,您必须获得授权才能在加密操作中使用 KMS 密钥。

要控制对 Amazon KMS 资源的访问权限,请使用密钥策略IAM 策略授权。每个 KMS 密钥都必须有一个密钥政策。如果密钥策略允许,您还可以使用 IAM policy 和授权来允许相关主体访问 KMS 密钥。要优化授权,您可以使用 条件键,以仅在请求或资源满足您指定的条件时才允许或拒绝访问。您还可以向您信任的 其他 Amazon Web Services 账户 中的主体授予访问权限。

使用身份进行身份验证

身份验证是您 Amazon 使用身份凭证登录的方式。您必须以 IAM 用户身份进行身份验证 Amazon Web Services 账户根用户,或者通过担任 IAM 角色进行身份验证。

对于编程访问, Amazon 提供 SDK 和 CLI 来对请求进行加密签名。有关更多信息,请参阅《IAM 用户指南》中的适用于 API 请求的Amazon 签名版本 4

Amazon Web Services 账户 root 用户

创建时 Amazon Web Services 账户,首先会有一个名为 Amazon Web Services 账户 root 用户的登录身份,该身份可以完全访问所有资源 Amazon Web Services 服务 和资源。我们强烈建议不要使用根用户进行日常任务。有关需要根用户凭证的任务,请参阅《IAM 用户指南》中的需要根用户凭证的任务

联合身份

作为最佳实践,要求人类用户使用与身份提供商的联合身份验证才能 Amazon Web Services 服务 使用临时证书进行访问。

联合身份是指来自您的企业目录、Web 身份提供商的用户 Amazon Directory Service ,或者 Amazon Web Services 服务 使用来自身份源的凭据进行访问的用户。联合身份代入可提供临时凭证的角色。

IAM 用户和群组

IAM 用户是对某个人员或应用程序具有特定权限的一个身份。建议使用临时凭证,而非具有长期凭证的 IAM 用户。有关更多信息,请参阅 IAM 用户指南中的要求人类用户使用身份提供商的联合身份验证才能 Amazon 使用临时证书进行访问

IAM 组指定一组 IAM 用户,便于更轻松地对大量用户进行权限管理。有关更多信息,请参阅《IAM 用户指南》中的 IAM 用户的使用案例

IAM 角色

IAM 角色是具有特定权限的身份,可提供临时凭证。您可以通过从用户切换到 IAM 角色(控制台)或调用 Amazon CLI 或 Amazon API 操作来代入角色。有关更多信息,请参阅《IAM 用户指南》中的担任角色的方法

IAM 角色对于联合用户访问、临时 IAM 用户权限、跨账户访问、跨服务访问以及在 Amazon 上运行的应用程序非常有用。 EC2有关更多信息,请参阅《IAM 用户指南》中的 IAM 中的跨账户资源访问

使用策略管理访问

您可以 Amazon 通过创建策略并将其附加到 Amazon 身份或资源来控制中的访问权限。策略定义了与身份或资源关联时的权限。 Amazon 在委托人提出请求时评估这些政策。大多数策略都以 JSON 文档的 Amazon 形式存储在中。有关 JSON 策略文档的更多信息,请参阅《IAM 用户指南》中的 JSON 策略概述

管理员使用策略,通过定义哪个主体可以对什么资源以及在什么条件下执行操作,来指定谁有权访问什么内容。

默认情况下,用户和角色没有权限。IAM 管理员创建 IAM 策略并将其添加到角色中,然后用户可以代入这些角色。IAM 策略定义权限,而不考虑您使用哪种方法来执行操作。

基于身份的策略

基于身份的策略是您附加到身份(用户、组或角色)的 JSON 权限策略文档。这些策略控制身份可在什么条件下对哪些资源执行什么操作。要了解如何创建基于身份的策略,请参阅《IAM 用户指南》中的使用客户管理型策略定义自定义 IAM 权限

基于身份的策略可以是内联策略(直接嵌入到单个身份中)或托管策略(附加到多个身份的独立策略)。要了解如何在托管策略和内联策略之间进行选择,请参阅《IAM 用户指南》中的在托管策略与内联策略之间进行选择

基于资源的策略

Amazon KMS 密钥策略是一种基于资源的策略,用于控制对 KMS 密钥的访问。每个 KMS 密钥都必须有一个密钥政策。您可以使用其他授权机制来允许对 KMS 密钥的访问,但仅在密钥策略允许时才可以这样操作。(您可以使用 IAM policy 拒绝对 KMS 密钥的访问,即使密钥策略未显式允许。)

基于资源的策略是附加到资源(如 KMS 密钥)的 JSON 策略文档,用于控制对该特定资源的访问。基于资源的策略定义了指定的主体可以对该资源执行的操作以及执行操作的条件。您无需在基于资源的策略中指定资源,但必须指定委托人,例如账户、用户、角色、联合用户或 Amazon Web Services 服务。基于资源的策略是位于管理该资源的服务中的内联策略。您不能在基于资源的策略中使用 Amazon IAM 中的AWSKeyManagementServicePowerUser托管策略,例如托管策略。

其他策略类型

Amazon 支持其他策略类型,这些策略类型可以设置更常见的策略类型授予的最大权限:

  • 权限边界 – 设置基于身份的策略可以授予 IAM 实体的最大权限。有关更多信息,请参阅《 IAM 用户指南》中的 IAM 实体的权限边界

  • 服务控制策略 (SCPs)-在中指定组织或组织单位的最大权限 Amazon Organizations。有关更多信息,请参阅《Amazon Organizations 用户指南》中的服务控制策略

  • 资源控制策略 (RCPs)-设置账户中资源的最大可用权限。有关更多信息,请参阅《Amazon Organizations 用户指南》中的资源控制策略 (RCPs)

  • 会话策略 – 在为角色或联合用户创建临时会话时,作为参数传递的高级策略。有关更多信息,请参阅《IAM 用户指南》中的会话策略

多个策略类型

当多个类型的策略应用于一个请求时,生成的权限更加复杂和难以理解。要了解在涉及多种策略类型时如何 Amazon 确定是否允许请求,请参阅 IAM 用户指南中的策略评估逻辑

Amazon KMS 资源

在中 Amazon KMS,主要资源是 Amazon KMS key。 Amazon KMS 还支持别名,这是一种为 KMS 密钥提供友好名称的独立资源。某些 Amazon KMS 操作允许您使用别名来标识 KMS 密钥。

KMS 密钥或别名的每个实例均具有标准格式的唯一 Amazon Resource Name (ARN)。在 Amazon KMS 资源中, Amazon 服务名称为kms

  • Amazon KMS key

    ARN 格式:

    arn:Amazon partition name:Amazon service name:Amazon Web Services 区域:Amazon Web Services 账户 ID:key/key ID

    示例 ARN:

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

  • 别名

    ARN 格式:

    arn:Amazon partition name:Amazon service name:Amazon Web Services 区域:Amazon Web Services 账户 ID:alias/alias name

    示例 ARN:

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

Amazon KMS 提供了一组 API 操作来使用您的 Amazon KMS 资源。有关在 Amazon Web Services 管理控制台 和 Amazon KMS API 操作中识别 KMS 密钥的更多信息,请参阅密钥标识符 (KeyId)。有关 Amazon KMS 操作列表,请参阅 Amazon Key Management Service API 参考