AWS KMS でリージョン別に CMK 許可とプリンシパルを一覧表示するにはどうすればよいですか?

最終更新日: 2020 年 9 月 10 日

AWS リージョンごとに、AWS Key Management Service (AWS KMS) アカウントに対するカスタマーマスターキー (CMK) の付与とプリンシパルを一覧表示したいです。

解決方法

AWS コマンドラインインターフェイス (AWS CLI) または AWS SDK を使用して、CMK の付与数とそれぞれのプリンシパルを取得できます。ポリシーアクセス許可を使用して AWS CLI をインストールおよび設定していることを確認し、list-keyslist-grants を実行します。

次のコマンドを実行して CMK と付与を一覧表示します。

注意: enter your regionAWS リージョンに置き換えます。

aws kms list-keys --region enter your region
aws kms list-grants --region enter your region --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

特定の AWS リージョンのすべての CMK に対してクエリを実行するには、次のコマンドを実行します。

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

注: この例では、ビルトインの AWS CLI --query オプションを使って、出力から要素をフィルタリングしています。

このコマンドを実行して、各プリンシパルにおける KMS キーの付与数を一覧表示します。

aws kms list-grants --region enter your region --key-id 1234abcd-12ab-34cd-56ef-1234567890ab | jq '.Grants[].GranteePrincipal' -r | sort | uniq -c;

注意: このコマンドを実行するには、jq がインストールされている必要があります。jq のインストール手順については、JSON 出力形式をご参照ください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術的なサポートが必要ですか?