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

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

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

解決方法

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

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

以下のコマンドを実行して、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 出力形式をご参照ください。</p


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


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