View a markdown version of this page

配置 Amazon KMS 的钥匙 Amazon Web Services 支持 授权 - Amazon Web Services 支持
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

配置 Amazon KMS 的钥匙 Amazon Web Services 支持 授权

键要求

支持许可证的加密签名需要客户管理的 Amazon KMS 密钥。您的密钥必须满足以下要求:

  • 关键规格:ECC_NIST_P384

  • 密钥用法:SIGN_VERIFY

  • 密钥必须与支持许可证位于同一 Amazon 区域。

您的私钥材料永远不会消失 Amazon KMS。您可以在密钥上创建授权,允许其调用DescribeKeyGetPublicKey、和Sign。补助金的范围仅限于支持许可证,当支持许可证被删除或停用时,该补助金将失效。

操作方法 Amazon Web Services 支持 授权使用你的 Amazon KMS 键

创建支持许可证时,您的 Amazon KMS 密钥将按以下方式使用:

  1. 使用前向访问会话DescribeKey代表您拨打电话,验证密钥是否符合要求的规范 (ECC_NIST_P384) 和用法 (SIGN_VERIFY)。

  2. 代表您致电,在密钥CreateGrant上创建授权。该赠款允许DescribeKeyGetPublicKey、和Sign操作。

  3. 当 Amazon Web Services 支持 请求与现有支持许可证匹配时,使用授权调Sign用密钥来验证授权。生成的签名将验证 Amazon Web Services 支持 谁有权执行该操作。

所需的关键政策声明

将以下政策声明添加到您的 Amazon KMS 密钥策略中。这些是 Amazon Web Services 支持 授权使用密钥所需的最低权限。

{ "Sid": "Allows access to CreateGrant through SupportAuthZ", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleRole"}, "Action": ["kms:CreateGrant"], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "supportauthz.us-east-1.amazonaws.com", "kms:GranteeServicePrincipal": "us-east-1.supportauthz.amazonaws.com", "kms:RetiringServicePrincipal": "us-east-1.supportauthz.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": ["DescribeKey", "GetPublicKey", "Sign"] }, "ArnLike": { "kms:GrantConstraintSourceArn": "arn:aws:supportauthz:us-east-1:111122223333:supportpermit/*" } } }, { "Sid": "Allows access to DescribeKey through SupportAuthZ", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleRole"}, "Action": ["kms:DescribeKey"], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "supportauthz.us-east-1.amazonaws.com" } } }

这些语句授予以下权限:

CreateGrant

允许为DescribeKeyGetPublicKey、和Sign操作创建授权。这些条件仅限于通过 Amazon Web Services 支持 授权服务提出的请求创建授权,其范围仅限于支持您账户中的许可资源。 Amazon Web Services 支持 授权使用前向访问会话进行呼叫CreateGrant,这是创建支持许可证的一部分。

DescribeKey

当您使用前向访问会话创建支持许可时,允许验证密钥是否符合所需的规格和使用类型。

注意

111122223333替换为您的 Amazon 账户 ID us-east-1 和您创建支持许可证的地 Amazon 区。

撤销 Amazon Web Services 支持 授权访问

撤消密钥签名权限的推荐方法是撤消授权。这样可以防止进一步的签名操作,而不会影响密钥的其他用途。

要列出和撤消 Amazon Web Services 支持 授权授权,请执行以下操作:

  1. 在密钥上列出授权以查找授权 ID:

    aws kms list-grants \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

    通过补助金的名称或引用您的支持许可的GrantConstraints来源 ARN 来识别补助金。

  2. 撤销补助金:

    aws kms revoke-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grant-id grant-id-from-list-grants

撤销拨款后,将无法再为使用此密钥的任何支持许可证颁发新的签名授权。由于 Amazon KMS API 遵循最终的一致性模型,因此在整个变更生效之前可能会有短暂的延迟 Amazon KMS。

注意

撤销拨款不会删除相关的支持许可。支持许可证仍处于活动状态,但无法签署授权。补助金是针对每份支持许可证的。使用相同的 Amazon KMS 密钥创建新的支持许可证并不能恢复 Amazon Web Services 支持 授权使用原始支持许可证的密钥的能力。

禁用或删除密钥

您还可以禁用或计划删除 Amazon KMS 密钥,以防止 Amazon Web Services 支持 授权颁发签名授权。但是,这会影响密钥的所有用途,而不仅仅是 Amazon Web Services 支持 授权。

重要

两者 Amazon KMS 与 Amazon Web Services 支持 授权最终是一致的。禁用或计划删除密钥后,更改最多可能需要几分钟才能完全生效。在此期间,可能会继续使用密钥签发已签名的授权。撤销补助金最终也是一致的。

如果您禁用密钥,则可以在 Amazon KMS 控制台中或通过调EnableKey用重新启用该密钥。如果您删除密钥,则无法恢复。

监控密钥使用情况

当您的 Amazon KMS 密钥用于签署授权时,会在密钥的事件历史 Amazon CloudTrail 记录中记录签名操作。您可以使用这些事件来审核代表您签署授权的时间和频率。