如何在 AWS KMS 中依區域列出 KMS 金鑰授權和委託人?

上次更新日期:2021 年 10 月 12 日

我想依 AWS 區域列出 AWS Key Management Service (AWS KMS) 帳戶的 AWS KMS 金鑰授權和委託人。

解決方案

您可以使用 AWS Command Line Interface (AWS CLI)AWS 開發套件,擷取 KMS 金鑰的授權數量,以及每個金鑰的委託人。請確定您使用政策許可安裝設定 AWS CLI,以執行 list-keyslist-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 輸出格式


此文章是否有幫助?


您是否需要帳單或技術支援?