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

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

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

解决方法

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

注意:如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

运行以下命令以列出 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 option 从输出中筛选元素。

运行以下命令以列出一个 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 输出格式。</p


这篇文章对您有帮助吗?


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