本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
检查授予
授权是一种高级机制,用于指定您或与 AWS KMS 集成的 AWS 服务可用于指定使用 KMS 密钥的方式和时间的权限。授权将附加到 KMS 密钥,每个授权都包含一位委托人,此委托人可获得使用 KMS 密钥和所允许的操作列表的权限。授权是密钥策略的替代方案,对特定的使用案例很有用。有关更多信息,请参阅 补助金 AWS KMS。
要获取 KMS 密钥的授权列表,请使用AWS KMSListGrants操作。您可以检查 KMS 密钥的授权来确定当前有权通过这些授权使用 KMS 密钥的对象。例如,下面是某个授权的 JSON 表示形式,此授权使用 中的 list-grantsAWS CLI 命令获取。
{"Grants": [{ "Operations": ["Decrypt"], "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Name": "0d8aa621-43ef-4657-b29c-3752c41dc132", "RetiringPrincipal": "arn:aws:iam::123456789012:root", "GranteePrincipal": "arn:aws:sts::111122223333:assumed-role/aws:ec2-infrastructure/i-5d476fab", "GrantId": "dc716f53c93acacf291b1540de3e5a232b76256c83b2ecb22cdefa26576a2d3e", "IssuingAccount": "arn:aws:iam::111122223333:root", "CreationDate": 1.444151834E9, "Constraints": {"EncryptionContextSubset": {"aws:ebs:id": "vol-5cccfb4e"}} }]}
要了解有权使用 KMS 密钥的对象,可查找 "GranteePrincipal"
元素。在上述示例中,被授权委托人是与 EC2 实例 i-5d476fab 关联的假设用户角色。EC2 基础设施使用此角色将加密的 EBS 卷 vol-5cccfb4e 附加到此实例。在此情况下,EC2 基础设施角色有权使用 KMS 密钥,因为您之前创建了受此 KMS 密钥保护的加密的 EBS 卷。之后,您将此卷附加到了 EC2 实例。
下面是 JSON 表示形式的另一个授权示例,此授权使用 中的 list-grantsAWS CLI 命令获取。在以下示例中,被授权者委托人是另一个 AWS 账户。
{"Grants": [{ "Operations": ["Encrypt"], "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Name": "", "GranteePrincipal": "arn:aws:iam::444455556666:root", "GrantId": "f271e8328717f8bde5d03f4981f06a6b3fc18bcae2da12ac38bd9186e7925d11", "IssuingAccount": "arn:aws:iam::111122223333:root", "CreationDate": 1.444151269E9 }]}