AAWS Key Management Service (AWS KMS) アカウントの AWS KMS キーの付与とプリンシパルを AWS リージョン別にリストしたいと考えています。
解決策
AWS コマンドラインインターフェイス (AWS CLI) または AWS SDK を使用して、AWS KMS キーが持っている付与の数と、各キーのプリンシパルを取得します。list-keys および list-grants AWS CLI コマンドを実行する権限があることを確認します。
注:
次のコマンドを実行して、Windows、Linux、macOS、または Unix 用の AWS KMS キーと権限をリストします。
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 キーをクエリします。
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 を使用して、出力から要素をフィルタリングします。
次のコマンドを実行して、Linux、macOS、または Unix の AWS 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 出力形式 を参照してください。