我想按 AWS 區域列出 AWS Key Management Service (KMS) 帳戶的 AWS KMS key 授權和主體。
解決方法
使用 AWS Command Line Interface (AWS CLI) 或 AWS SDK 擷取 AWS KMS key 擁有的授權和主體數目。請確定您擁有執行 list-keys 和 list-grants AWS CLI 命令的權限。
注意:
執行下列命令以列出您的 AWS KMS key 以及用於 Windows、Linux、macOS 或 Unix 的授予:
aws kms list-keys --region your-region
aws kms list-grants --region your-region --key-id your-AWS KMS-key-ID
執行下列命令,針對 Linux、macOS 或 Unix 的特定區域查詢所有 AWS KMS key:
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 選項來篩選輸出中的元素。
執行下列命令以列出每個主體對 AWS KMS key 的授權數量(適用於 Linux、macOS 或 Unix):
aws kms list-grants --region your-region --key-id your-AWS KMS-key-ID | jq '.Grants[].GranteePrincipal' -r | sort | uniq -c;
**注意:**您必須安裝 jq 才能執行上述命令。如需安裝 jq 的說明,請參閱 JSON 輸出格式。