での IAM ポリシーの使用 AWS KMS - AWS Key Management Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

での IAM ポリシーの使用 AWS KMS

IAM ポリシーをキーポリシー権限VPCエンドポイントポリシーとともに使用して、 AWS KMS keys の へのアクセスを制御できます AWS KMS。

注記

IAM ポリシーを使用してKMSキーへのアクセスを制御するには、キーのKMSキーポリシーが IAM ポリシーを使用するアクセス許可をアカウントに付与する必要があります。具体的には、キーポリシーには、ポリシーを有効にするIAMポリシーステートメントを含める必要があります。

このセクションでは、 IAMポリシーを使用して AWS KMS オペレーションへのアクセスを制御する方法について説明します。に関する一般的な情報についてはIAM、「 IAMユーザーガイド」を参照してください。

すべてのKMSキーにはキーポリシーが必要です。 IAMポリシーはオプションです。IAM ポリシーを使用してKMSキーへのアクセスを制御するには、キーのKMSキーポリシーが IAM ポリシーを使用するアクセス許可をアカウントに付与する必要があります。具体的には、キーポリシーには、ポリシーを有効にするIAMポリシーステートメントを含める必要があります。

IAM ポリシーは、任意の AWS KMS オペレーションへのアクセスを制御できます。キーポリシーとは異なり、IAMポリシーは複数のKMSキーへのアクセスを制御し、いくつかの関連 AWS サービスのオペレーションに対するアクセス許可を提供できます。ただし、IAMポリシーは、特定のキーを含まないためCreateKey、キーポリシーでは制御できない などのオペレーションへのアクセスを制御するのに特に便利ですKMS。

Amazon Virtual Private Cloud (Amazon VPC) エンドポイント AWS KMS を介して にアクセスする場合は、VPCエンドポイントポリシーを使用して、エンドポイントの使用時に AWS KMS リソースへのアクセスを制限することもできます。たとえば、 VPCエンドポイントを使用する場合、 のプリンシパルのみがカスタマーマネージドキー AWS アカウント にアクセスすることを許可できます。詳細については、「 VPCエンドポイントポリシー」を参照してください。

JSON ポリシードキュメントの記述と書式設定については、「 IAMユーザーガイド」のIAMJSON「 ポリシーリファレンス」を参照してください。

以下の方法で IAM ポリシーを使用できます。

  • フェデレーションまたはクロスアカウントアクセス許可のロールにアクセス許可ポリシーをアタッチする – IAMポリシーを IAMロールにアタッチして、ID フェデレーションを有効にしたり、クロスアカウントアクセス許可を許可したり、EC2インスタンスで実行されているアプリケーションにアクセス許可を付与したりできます。IAM ロールのさまざまなユースケースの詳細については、「 IAMユーザーガイド」のIAM「 ロール」を参照してください。

  • ユーザーまたはグループにアクセス許可ポリシーをアタッチする — ユーザーまたはユーザーのグループ に AWS KMS オペレーションの呼び出しを許可するポリシーをアタッチできます。ただし、IAMベストプラクティスでは、可能な限りロールなどの一時的な認証情報で ID IAM を使用することをお勧めします。

次の例は、 アクセス AWS KMS 許可を持つ IAMポリシーを示しています。このポリシーは、アタッチされている ID IAM にすべてのKMSキーとエイリアスを一覧表示することを許可します。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } }

すべての IAM ポリシーと同様、このポリシーには Principal 要素がありません。IAM ポリシーをIAMアイデンティティにアタッチすると、そのアイデンティティはポリシーで指定されたアクセス許可を取得します。

すべての AWS KMS APIアクションとそれらが適用されるリソースを示す表については、「」を参照してくださいアクセス許可に関するリファレンス

複数のIAMプリンシパルにKMSキーへのアクセスを許可する

IAM グループは、キーポリシーで有効なプリンシパルではありません。複数のユーザーとロールがKMSキーにアクセスできるようにするには、次のいずれかを実行します。

  • キーポリシーのプリンシパルとして IAMロールを使用します。必要に応じて、複数の権限を持つユーザーがそのロールを引き受けることができます。詳細については、「 IAMユーザーガイド」の「 IAMロール」を参照してください。

    キーポリシーでは複数のIAMユーザーを一覧表示できますが、この方法は推奨されません。これは、承認されたユーザーのリストが変更されるたびにキーポリシーを更新する必要があるためです。また、IAMベストプラクティスでは、長期的な認証情報を持つIAMユーザーの使用は推奨されません。詳細については、「 IAMユーザーガイド」の「 のセキュリティのベストプラクティスIAM」を参照してください。

  • IAM ポリシーを使用して、 IAMグループに アクセス許可を付与します。これを行うには、キーポリシーにKMSキーへのアクセスIAMを許可する ステートメントが含まれていることを確認し、KMSキーへのアクセスを許可する IAMポリシーを作成しそのポリシーを承認されたユーザーを含む IAMグループにアタッチします。 IAMこのアプローチを使用すると、承認されたユーザーのリストが変更されたときにポリシーを変更する必要はありません。代わりに、該当する IAM グループに対してそれらのユーザーを追加または削除する必要があります。詳細については、「 IAMユーザーガイド」のIAM「ユーザーグループ」を参照してください。

AWS KMS キーポリシーと IAMポリシーの連携の詳細については、「」を参照してくださいAWS KMS アクセス許可のトラブルシューティング