使用授权 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用授权

A授予是一个政策工具,允许Amazonprincipals要使用的Amazon KMS 客户主密钥(CMK)。它也可以让他们查看 CMK(DescribeKey) 以及创建和管理授权。在授权访问 CMK 时,将考虑与密钥策略IAM 策略。授予通常用于临时权限,因为您可以在不更改密钥策略或 IAM 策略的情况下创建、使用其权限并将其删除。

赠款通常用于Amazon与集成的服务Amazon KMS来加密您的静态数据。该服务代表帐户中的用户创建授权,使用其权限,并在其任务完成后立即停用授权。有关详细信息Amazon服务,使用授权,请参阅Amazon 服务如何使用 Amazon KMS静态加密主题中的服务用户指南或开发人员指南。

有关演示如何使用多种编程语言的授权的代码示例,请参阅处理授予

关于赠款

赠款是一种非常灵活和有用的出入控制机制。当您将授权附加到客户主键(CMK)、授予允许委托人在满足授权中指定的条件时调用 CMK 上的特定操作。

  • 每个授权只控制对一个 CMK 的访问。CMK 可以在相同的或不同的 Amazon Web Services 账户 。

  • Amazon KMS限制了每个 CMK 的资助数量。有关详细信息,请参阅资源配额

  • 可以使用授权来允许访问,但不能拒绝。授权只能允许访问授予操作

  • 通过授权获得权限的委托人可以使用这些权限,而无需指定授权,就像权限来自密钥策略或 IAM 策略一样。但是,当您创建、停用或撤销授权时,可能会出现短暂的延迟(通常不到五分钟),直到该操作完成最终一致性。要立即使用授权中的权限,请使用授予令牌

  • 您可以使用授权允许委托人在不同的 Amazon Web Services 账户 使用 CMK。

  • 如果委托人具有所需的权限,他们可以删除授权(停用或者撤销它)。这些操作会消除授予允许的所有权限。您无需确定要添加或调整哪些策略来撤消授权。

  • 当您创建、停用或撤销授权时,可能会有一个短暂的时间间隔(通常少于 5 分钟),直到更改在整个Amazon KMS。有关详细信息,请参阅。授权的最终一致性

在创建授权和授予其他人创建授权时要谨慎。创建授权的权限具有安全影响,就像允许KMS: 普特键策略权限设置策略。

  • 有权为 CMK 创建授权的用户 (kms:CreateGrant)可以使用授权来允许用户和角色(包括Amazon服务,以使用 CMK。委托人可以是您自己的身份 Amazon Web Services 账户 或其他帐户或组织中的身份。

  • 授权只能允许Amazon KMS运算。您可以使用授权允许委托人查看 CMK、在加密操作中使用它,以及创建和停用授权。有关详细信息,请参阅。赠款业务。您还可以使用授权约束来限制授权中的权限。

  • 委托人可以从密钥策略或 IAM 策略获取创建授权的权限。这些委托人可以为任何授权操作,即使他们没有权限。当您允许kms:CreateGrant权限,则可以使用策略条件来限制此权限。

  • 委托人还可以获得从授权创建授权的权限。这些委托人只能委派他们被授予的权限,即使他们具有来自策略的其他权限也是如此。有关详细信息,请参阅授予 CreateGrant 权限

有关与授予相关概念的帮助,请参阅授权术语

对称 CMK 和非对称 CMK 的授权

您可以创建授权,以控制对对称 CMK 或非对称 CMK 的访问。但是,您不能创建授权以允许委托人执行 CMK 不支持的操作。如果您尝试,Amazon KMS 将返回 ValidationError 异常。

对称 CMK

对称 CMK 的授权不允许 SignVerifyGetPublicKey 操作。(对于旧操作,此规则有少数例外,但您不应当为 Amazon KMS 不支持的操作创建授权。)

非对称 CMK

非对称 CMK 的授权不能允许生成数据密钥或数据密钥对的操作。也不能允许与自动密钥轮换导入的密钥材料自定义密钥存储中的 CMK 有关的操作。

密钥用法为 SIGN_VERIFY 的 CMK 的授权不能允许加密操作。密钥用法为 ENCRYPT_DECRYPT 的 CMK 的授权不能允许 SignVerify 操作。

授权术语

为了有效地使用资助,您需要了解Amazon KMS使用。

授权约束

限制授予权限的条件。目前,Amazon KMS支持基于加密上下文在加密操作的请求中。有关详细信息,请参阅使用授权约束

授权编号

CMK 授权的唯一标识符。您可以使用授权以及密钥标识符,以标识RetireGrant或者RevokeGrant请求.

赠款业务

这些区域有:Amazon KMS您可以在授权中允许的操作。这些也是接受授予令牌。有关这些权限的详细信息,请参阅Amazon KMS 权限

这些操作实际上表示使用操作的权限。因此,对于ReEncrypt操作时,可以指定ReEncryptFromReEncryptTo,或同时兼用ReEncrypt*

授权操作包括:

您不能为 CMK 不支持的操作创建授权。如果您尝试,Amazon KMS 将返回 ValidationError 异常。

授予令牌

创建授权时,可能会出现短暂的延迟(通常不到五分钟),直到新授权在整个Amazon KMS,也就是说,直到它实现最终一致性。如果您尝试在实现最终一致性之前使用授权,您可能会收到访问被拒绝的错误。授权令牌允许您引用授权并立即使用授予权限。

A授予令牌是唯一的,非秘密的,可变长度,base64 编码的字符串,表示授权。您可以使用授权令牌在任何授权操作。但是,由于令牌值是哈希摘要,因此它不会显示有关授权的任何详细信息。

授权令牌被设计为仅在授权达到最终一致性之前使用。之后,被授权者委托人可以在不提供授权令牌或授权的任何其他证据的情况下使用授权中的权限。您可以随时使用授权令牌,但是一旦授权最终保持一致,Amazon KMS使用授权来确定权限,而不是授权令牌。

例如,以下命令将调用GenerateDataKeyoperation. 它使用授权令牌来表示授予调用者(被授权者)调用GenerateDataKey在指定的 CMK 上。

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --grant-token $token

您还可以使用授权令牌在管理授权的操作中标识授权。例如,已弃用委托人可以在调用RetireGrantoperation.

$ aws kms retire-grant \ --grant-token $token

CreateGrant是唯一返回授权令牌的操作。您无法从任何其他Amazon KMS操作或从CloudTrail 日志事件用于 CreateGrant 操作。这些区域有:ListGrantsListRetirableGrants操作返回授权编号,但不是授权令牌。

有关详细信息,请参阅使用授权令牌

被授权者委托人

获取授权中指定的权限的身份。授权必须有至少一位被授权委托人。被授权者委托人可以是任何Amazon委托人,包括 Amazon Web Services 账户 (根),一个IAM 用户,一个IAM 角色,a联合角色或用户或担任角色的用户。被授权主用户可以与 CMK 位于同一账户中,也可以位于不同的账户中。但是,被授权委托人不能是服务委托人,一个IAM 组,或Amazon组织

退休人员 (赠款)

终止授权。当您使用授权时,可以停用授权。

撤销和停用授权都会删除授权。但是,退用由授权中指定的委托人来完成。撤消通常由密钥管理员执行。有关详细信息,请参阅退休和撤销补助金

已弃用的委托人

一位校长谁可以停用授予。您可以在授权中指定退休委托人,但不是必需的。退休委托人可以是任何Amazon委托人,包括 Amazon Web Services 账户 (根)、IAM 用户、IAM 角色、联合身份用户以及担任角色的用户。停用委托人与 CMK 可以位于同一账户中,也可以位于不同的账户中。

除了拨款中指定的退休本金外,还可通过 Amazon Web Services 账户 (根用户)。如果授权允许RetireGrant运算,被授权者委托人可以退休赠款。另外, Amazon Web Services 账户 (根用户)或 Amazon Web Services 账户 即退休委托人可以将权限委托给同一 Amazon Web Services 账户 。有关详细信息,请参阅退休和撤销补助金

撤销 (赠款)

终止授权。您撤销授权以主动拒绝授权允许的权限。

撤销和停用授权都会删除授权。但是,退用由授权中指定的委托人来完成。撤消通常由密钥管理员执行。有关详细信息,请参阅退休和撤销补助金

最终一致性(用于赠款)

当您创建、停用或撤销授权时,可能会出现短暂的延迟(通常不到五分钟),才能在整个更改可用Amazon KMS。当这个时间间隔完成时,我们认为该操作已达到最终一致性

如果您遇到意外错误,您可能会意识到这个短暂的延迟。例如,如果您尝试管理一个新的授权或使用新授权中的权限之前该授权是在整个Amazon KMS,可能会收到访问被拒绝错误。如果您停用或撤销授权,则被授权者委托人可能仍然能够在短时间内使用其权限,直到完全删除该授权为止。典型的策略是重试请求,一些AmazonSDK 包括自动退避和重试逻辑。

Amazon KMS具有缓解这一短暂延迟的功能。

  • 要立即使用新授权中的权限,请使用授予令牌。您可以使用授权令牌来引用任何授权操作。有关说明,请参阅使用授权令牌

  • 这些区域有:CreateGrant操作有一个Name参数,以防止重试操作创建重复授权。

注意

授予令牌将取代授权的有效性,直到服务中的所有终端节点都使用新的授权状态更新为止。在大多数情况下,最终的一致性将在五分钟内实现。