AWS KMS で KMS キーのグラントとプリンシパルをリージョン別にリストするにはどうすればよいですか?

所要時間1分
0

AWS Key Management Service (AWS KMS) アカウントの AWS KMS キーのグラントとプリンシパルを AWS リージョン別にリストしたいと考えています。

解決方法

AWS Command Line Interface (AWS CLI) または AWS SDK を使用して、KMS キーが持っているグラントの数と、各キーのプリンシパルを取得できます。list-keys および list-grants を実行するポリシー許可を使用して、AWS CLI をインストールおよび設定するようにしてください。

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

以下のコマンドを実行して、KMS キーとグラントをリストします。

注意: リージョンAWS リージョンに、AWS KMS キー IDAWS KMS キー 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 --query option を使用して、出力からの要素をフィルタリングします。

このコマンドを実行して、各プリンシパルにおける 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 出力形式をご参照ください。


AWS公式
AWS公式更新しました 2年前