翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Config 配信チャネルの Amazon S3 バケットのアクセス許可
重要
このページでは、 AWS Config 配信チャネルの Amazon S3 バケットを設定します。このページは、 AWS Config 設定レコーダーが記録できるAWS::S3::Bucket
リソースタイプに関するものではありません。 AWS Config 配信チャネルの詳細については、「配信チャネルの管理」を参照してください。
デフォルトでは、すべての Amazon S3 バケットとオブジェクトはプライベートです。リソース所有者およびバケットを作成した AWS アカウント のみが、バケットにアクセスできます。ただし、リソース所有者は、他のリソースとユーザーにアクセス許可を付与することを選択できます。これを行う 1 つの方法として、アクセスポリシーを記述します。
が Amazon S3 バケットを自動的に AWS Config 作成する場合 (コンソールを使用して配信チャネル AWS Config を設定する場合など)、これらのアクセス許可は自動的に Amazon S3 バケットに追加されます。ただし、既存の Amazon S3 バケットを指定した場合は、S3 バケットのアクセス許可が正しいことを確認する必要があります。
注記
オブジェクトはバケットからアクセス許可を継承しません。例えば、バケットを作成してユーザーに書き込みアクセスを許可した場合、そのユーザーから明示的にアクセスが許可されない限り、そのユーザーのオブジェクトにアクセスできません。
目次
IAM ロールを使用するときに Amazon S3 バケットに必要なアクセス許可
がアカウント内の Amazon S3 バケットに設定情報 (履歴ファイルとスナップショット) AWS Config を送信すると、セットアップ時に割り当てたIAMロールを引き受けます AWS Config。が別のアカウントの Amazon AWS Config S3 バケットに設定情報を送信すると、まずIAMロールの使用を試みますが、バケットのアクセスポリシーがIAMロールWRITE
へのアクセスを許可しない場合、この試行は失敗します。 Amazon S3 この場合、 は再度情報 AWS Config を送信します。今回は AWS Config サービスプリンシパルとして情報を送信します。配信が成功する前に、アクセスポリシーはconfig.amazonaws.com
プリンシパル名WRITE
へのアクセスを許可する必要があります。 AWS Config は、S3 バケットに配信するオブジェクトの所有者です。Amazon S3 バケットへのアクセスを AWS Config
に付与するには、以下のステップ 6 で説明したアクセスポリシーを別のアカウントの Amazon S3 バケットにアタッチする必要があります。
AWS Config が Amazon S3 バケットにログを配信する前に、バケットが存在するかどうか、バケットがどの AWS リージョンにあるか AWS Config をチェックします。 AWS Config また、 は Amazon S3 を呼び出しHeadBucketAPIてバケットが存在するかどうかを確認し、バケットリージョンを取得します。ロケーションチェックの実行時にバケットを見つけるアクセス許可が提供されていない場合は、 AWS CloudTrail ログにAccessDenied
エラーが表示されます。ただし、バケットの場所へのアクセス許可を付与しない場合、Amazon S3 バケットへのログ配信は成功します。
注記
Amazon S3 のアクセス許可を付与するにはHeadBucket
API、以下のステップ 6 で説明しているようにAWSConfigBucketExistenceCheck
、Sid としてs3:ListBucket
アクションを実行するアクセス許可を付与します。
サービスでリンクされたロールの使用時に Amazon S3 バケットに必要なアクセス許可
AWS Config サービスにリンクされたロールには、Amazon S3 バケットにオブジェクトを配置するアクセス許可がありません。したがって、サービスにリンクされたロール AWS Config を使用して を設定すると、 は代わりに設定項目を AWS Config サービスプリンシパルとして送信 AWS Config します。Amazon S3 バケット AWS Config へのアクセスを許可するには、以下のステップ 6 で説明したアクセスポリシーを、自分のアカウントまたは別のアカウントの Amazon S3 バケットにアタッチする必要があります。
Amazon S3 バケット AWS Config へのアクセスの許可
自分のアカウントまたは別のアカウントの Amazon S3 バケットにアクセスポリシーを追加するには、以下のステップを実行します。アクセスポリシーにより、 AWS Config は設定情報を Amazon S3 バケットに送信できます。
-
S3 バケットを持つアカウント AWS Management Console を使用して にサインインします。
https://console.aws.amazon.com/s3/
で Amazon S3 コンソールを開きます。 -
設定項目の配信 AWS Config に使用するバケットを選択し、プロパティを選択します。
-
[Permissions] (アクセス許可) を選択します。
-
Edit Bucket Policy を選択します。
-
次のポリシーを Bucket Policy Editor ウィンドウ内にコピーします。
重要
Amazon S3 バケット AWS Config へのアクセスを許可する際のセキュリティのベストプラクティスとして、バケットポリシーのアクセスを
AWS:SourceAccount
条件付きで制限することを強くお勧めします。既存のバケットポリシーがこのセキュリティのベストプラクティスに従わない場合は、この保護を含めるようにバケットポリシーを編集することを強くお勧めします。これにより、 AWS Config が想定ユーザーに代わってのみアクセスが許可されます。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::
amzn-s3-demo-bucket
", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID
" } } }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID
" } } }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket
/[optional] prefix
/AWSLogs/sourceAccountID
/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "AWS:SourceAccount": "sourceAccountID
" } } } ] }注記
AWS Config サービスプリンシパル名 (SPN) ではなくIAMロールにアクセス許可を付与する場合は、
PutObjectACL
アクセス許可不足エラーを避けるため、IAMロールにクロスアカウントバケットに対するアクセス許可があることを確認してください。「」の「サンプルIAMロールポリシー」を参照してください IAM S3 バケットのロールポリシー。 -
バケットポリシーの以下の値を置き換えます。
-
amzn-s3-demo-bucket
– AWS Config が設定項目を配信する Amazon S3 バケットの名前。 -
[optional] prefix
– バケットにフォルダのような組織を作成するのに役立つ Amazon S3 オブジェクトキーへのオプションの追加。 -
sourceAccountID
– がターゲットバケットに設定項目を AWS Config 配信するアカウントの ID。
-
-
Save、Close の順に選択します。
上記の Amazon S3 バケットポリシーの AWS:SourceAccount
条件を使用し Config サービスプリンシパルが特定のアカウントに代わってオペレーションを実行するときに、 Amazon S3 バケットのみと交信するように制限することができます。同じ組織の多くのアカウント AWS Config で をセットアップして設定項目を 1 つの Amazon S3 バケットに配信する場合は、 などの AWS Organizations 条件キーを使用できるように、サービスにリンクされたIAMロールの代わりに ロールを使用することをお勧めしますAWS:PrincipalOrgID
。で使用する IAMロールのアクセス許可の管理の詳細については AWS Config、「割り当てられたIAMロールのアクセス許可 AWS Config」を参照してください。のアクセス許可の管理の詳細については AWS Organizations、AWS 「組織のアクセス許可の管理」を参照してください。
AWS Config は、特定の AWS Config 配信チャネルに代わってオペレーションを実行するときに、Config サービスプリンシパルが Amazon S3 バケットとのみやり取りするように制限する AWS:SourceArn
条件もサポートしています。 AWS Config サービスプリンシパルを使用する場合、 AWS:SourceArn
プロパティは常に に設定されます。arn:aws:config:sourceRegion:sourceAccountID:*
ここで、 sourceRegion
は配信チャネルのリージョンであり、 sourceAccountID
は配信チャネルを含むアカウントの ID です。 AWS Config 配信チャネルの詳細については、「配信チャネルの管理」を参照してください。たとえば、以下の条件を追加すると、アカウント us-east-1
の 123456789012
リージョン中の送信チャンネルに代わってのみ、Config サービスプリンシパルが Amazon S3 バケットと交信するように制限します: "ArnLike": {"AWS:SourceArn":
"arn:aws:config:us-east-1:123456789012:*"}
。