

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

# 检查授予
<a name="determining-access-grants"></a>

授权是用于指定权限的高级机制，您或与之集成的 AWS 服务 AWS KMS 可以使用这些权限来指定如何以及何时使用 KMS 密钥。授权将附加到 KMS 密钥，每个授权都包含一位委托人，此委托人可获得使用 KMS 密钥和所允许的操作列表的权限。授权是密钥策略的替代方案，对特定的使用案例很有用。有关更多信息，请参阅 [补助金 AWS KMS](grants.md)。

要获取 KMS 密钥的授权列表，请使用 AWS KMS [ListGrants](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListGrants.html)操作。您可以检查 KMS 密钥的授权来确定当前有权通过这些授权使用 KMS 密钥的对象。例如，下面是某个授权的 JSON 表示形式，此授权使用 [ 中的 ](https://docs.aws.amazon.com/cli/latest/reference/kms/list-grants.html)list-grants AWS 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 表示形式的另一个授权示例，此授权使用 [ 中的 ](https://docs.aws.amazon.com/cli/latest/reference/kms/list-grants.html)list-grants AWS 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
}]}
```