我想依 AWS 區域列出 AWS Key Management Service (AWS KMS) 帳戶的 AWS KMS 金鑰授權和委託人。
解決方案
您可以使用 AWS Command Line Interface (AWS CLI) 或 AWS 開發套件,擷取 KMS 金鑰的授權數量,以及每個金鑰的委託人。請確定您使用政策許可安裝和設定 AWS CLI,以執行 list-keys 和 list-grants。
**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版 AWS CLI。
執行下列命令以列出您的 KMS 金鑰和授權:
**注意:**以您的 AWS 區域取代 your-region,並以您的 AWS KMS 金鑰 ID 來取代 your-AWS KMS-key-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 – 查詢選項來篩選輸出中的元素。
執行此命令以列出 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 輸出格式。