本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 AWS KMS 的钥匙 AWS Support 授权
键要求
支持许可证的加密签名需要客户管理的 AWS KMS 密钥。您的密钥必须满足以下要求:
-
关键规格:
ECC_NIST_P384 -
密钥用法:
SIGN_VERIFY -
密钥必须与支持许可证位于同一 AWS 区域。
您的私钥材料永远不会消失 AWS KMS。您可以在密钥上创建授权,允许其调用DescribeKeyGetPublicKey、和Sign。补助金的范围仅限于支持许可证,当支持许可证被删除或停用时,该补助金将失效。
操作方法 AWS Support 授权使用你的 AWS KMS 键
创建支持许可证时,您的 AWS KMS 密钥将按以下方式使用:
使用前向访问会话
DescribeKey代表您拨打电话,验证密钥是否符合要求的规范 (ECC_NIST_P384) 和用法 (SIGN_VERIFY)。代表您致电,在密钥
CreateGrant上创建授权。该赠款允许DescribeKeyGetPublicKey、和Sign操作。当 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 授权授权,请执行以下操作:
-
在密钥上列出授权以查找授权 ID:
aws kms list-grants \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab通过其名称或引用您的支持许可的
GrantConstraints来源 ARN 来识别补助金。 -
撤销补助金:
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 记录中记录签名操作。您可以使用这些事件来审核代表您签署授权的时间和频率。