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

上次更新时间:2021 年 10 月 12 日

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

解决方法

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

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

运行以下命令以列出您的 KMS 密钥和授权:

注意:your-region 替换为您的 AWS 区域,将 your-AWS KMS-key-ID 替换为您的 AWS KMS 密钥 ID

aws kms list-keys --region <your-region>
aws kms list-grants --region <your-region> --key-id <your-AWS KMS-key-ID>

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

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

注意:此示例使用内置 AWS CLI --query option 从输出中筛选元素。

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

aws kms list-grants --region <your-region> --key-id <your-AWS KMS-key-ID> | jq '.Grants[].GranteePrincipal' -r | sort | uniq -c;

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


这篇文章对您有帮助吗?


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