如何在 AWS KMS 中按区域列出 CMK 授权和委托人?

上次更新时间:2020 年 9 月 10 日

我想按 AWS 区域列出我的 AWS Key Management Service (AWS KMS) 账户的客户主密钥 (CMK) 授权和委托人。

解决方法

您可以使用 AWS 命令行界面 (AWS CLI)AWS 开发工具包来检索 CMK 拥有的授权数量以及每个授权的委托人。请确保您安装了 AWS CLI 并配置了执行 list-keyslist-grants 命令的策略权限。

运行以下命令以列出 CMK 授权:

注意:请将 enter your region 替换为您的 AWS 区域

aws kms list-keys --region enter your region
aws kms list-grants --region enter your region --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

如要查询您在特定 AWS 区域的所有 CMK,请运行以下命令:

for key in $(aws kms list-keys --region enter your region --query 'Keys[].KeyId' --output text);do aws kms list-grants --region <enter your region> --key-id $key; done

注意:此示例使用了内置的 AWS CLI --query 选项来筛选输出中的元素。

运行以下命令以列出一个 KMS 密钥的每个委托人拥有的授权数量:

aws kms list-grants --region enter your region --key-id 1234abcd-12ab-34cd-56ef-1234567890ab | jq '.Grants[].GranteePrincipal' -r | sort | uniq -c;

注意:您必须安装了 jq 才能运行此命令。有关安装 jq 的说明,请参阅 JSON 输出格式


这篇文章对您有帮助吗?


您是否需要账单或技术支持?