AWS Config 配信チャネル用の KMS キーのアクセス許可 - AWS Config

AWS Config 配信チャネル用の KMS キーのアクセス許可

S3 バケット配信用の AWS Config によって配信されるオブジェクトで、KMS ベースの暗号化を使用可能にする S3 バケットの AWS KMS キーに関するポリシーを作成する場合は、このトピックの情報を参考にしてください。

IAM ロールの使用時 (S3 バケット配信) に KMS キーに必要なアクセス許可

IAM ロールを使用して AWS Config をセットアップする場合、以下のアクセス許可ポリシーを KMS キーに適用することができます。

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Effect": "Allow", "Resource": "*myKMSKeyARN*", "Principal": { "AWS": [ "account-id1", "account-id2", "account-id3" ] } } ] }
注記

IAM ロール、Amazon S3 バケットポリシー、または AWS KMS キーが適切なアクセスを AWS Config に提供しないと Amazon S3 バケットに設定情報を AWS Config が送信しようとしても失敗します。この場合、AWS Config は再度情報を送信しますが、今回は AWS Config サービスプリンシパルとして送信します。この場合、にキーを使用するアクセスを許可するには以下で説明するアクセス許可ポリシーを AWS KMS キーにアタッチし、AWS Config が Amazon S3 バケットに情報を配信するときに、そのキーを使用するためのアクセスを許可する必要があります。

サービスでリンクされたロールの使用時 (S3 バケット配信) の AWS KMS キーに必要なアクセス許可

AWS Config サービスにリンクされたロールには、AWS KMS キーへのアクセス権限がありません。したがって、お客様が AWS Config サービスにリンクされたロールを使用して設定した場合、AWS Config は代わりにAWS Config サービスプリンシパルとして情報を送信します。Amazon S3 バケットに情報を発信するため、AWS Config に AWS KMS キーを使用するアクセス許可を付与するには、以下で説明しているように AWS KMS キーにアクセスポリシーをアタッチする必要があります。

AWS Config に AWS KMS キーへのアクセス権の付与する

このポリシーでは、AWS Config によって Amazon S3 バケットに情報を配信する際に AWS KMS キーを使用できます。

{ "Id": "Policy_ID", "Statement": [ { "Sid": "AWSConfigKMSPolicy", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "myKMSKeyARN", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } } ] }

キーポリシーの以下の数値を置き換えます。

  • myKMSKeyARN — AWS KMS が構成項目を送る Amazon S3 バケット中のデータを暗号化するために使用される AWS Config キーの ARN。

  • sourceAccountID – AWS Config がターゲットバケットに設定項目を配信するアカウントの ID。

上記の AWS:SourceAccount キーポリシーの AWS KMS 条件を使用して、Config サービスプリンシパルが特定のアカウントに代わってオペレーションを実行するときにのみ AWS KMS キーと交信するように制限できます。

AWS Config は、設定サービスプリンシパルが特定の AWS:SourceArn 配信チャネルに代わってオペレーションを実行するときに、Amazon S3 バケットとだけ交信するように制限する AWS Config 条件もサポートします。AWS Config サービスプリンシパルを使用する場合、AWS:SourceArn プロパティは常に arn:aws:config:sourceRegion:sourceAccountID:* が配信チャネルのリージョンがある sourceRegion に設定され、sourceAccountID は配信チャネルを含むアカウントの ID になります。AWS Config 配信チャンネルの詳細については、「配信チャネルの管理」を参照してください。たとえば、以下の条件を追加すれば、アカウント us-east-1123456789012 リージョンでの配信チャネルに代わってのみ Config サービスプリンシパルが Amazon S3 バケットと交信するように制限されます: "ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:*"}