View a markdown version of this page

配置 AWS KMS 的钥匙 AWS Support 授权 - AWS Support

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

配置 AWS KMS 的钥匙 AWS Support 授权

键要求

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

  • 关键规格:ECC_NIST_P384

  • 密钥用法:SIGN_VERIFY

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

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

操作方法 AWS Support 授权使用你的 AWS KMS 键

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

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

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

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

所需的关键政策声明

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

{ "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操作创建授权。这些条件仅限于通过 AWS Support 授权服务提出的请求创建授权,其范围仅限于支持您账户中的许可资源。 AWS Support 授权使用前向访问会话进行呼叫CreateGrant,这是创建支持许可证的一部分。

DescribeKey

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

注意

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

撤销 AWS Support 授权访问

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

要列出和撤消 AWS Support 授权授权,请执行以下操作:

  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

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

注意

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

禁用或删除密钥

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

重要

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

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

监控密钥使用情况

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