AWS Config 配信チャネルの Amazon S3 バケットのアクセス許可 - AWS Config

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

AWS Config 配信チャネルの Amazon S3 バケットのアクセス許可

重要

このページでは、 AWS Config 配信チャネルの Amazon S3 バケットをセットアップします。このページは、 AWS Config 設定レコーダーが記録できるAWS::S3::Bucketリソースタイプに関するものではありません。

Amazon S3 バケットとオブジェクトはデフォルトでプライベートです。バケット AWS アカウント を作成した (リソース所有者) のみがアクセス許可を持ちます。リソース所有者は、アクセスポリシーを作成することで、他のリソースやユーザーにアクセスを許可できます。

AWS Config が自動的に S3 バケットを作成すると、必要なアクセス許可が追加されます。ただし、既存の S3 バケットを指定する場合は、これらのアクセス許可を手動で追加する必要があります。

IAM ロールの使用時に Amazon S3 バケットに必要なアクセス許可

AWS Config は、設定レコーダーに割り当てた IAM ロールを使用して、アカウント内の S3 バケットに設定履歴とスナップショットを配信します。クロスアカウント配信の場合、 AWS Config 最初に割り当てられた IAM ロールの使用を試みます。バケットポリシーが IAM ロールWRITEへのアクセスを許可しない場合、 はconfig.amazonaws.comサービスプリンシパル AWS Config を使用します。バケットポリシーは、配信を完了config.amazonaws.comするために WRITEへのアクセスを許可する必要があります。配信が成功すると、 はクロスアカウント S3 バケットに配信するすべてのオブジェクトの所有権 AWS Config を維持します。

AWS Config は、設定レコーダーに割り当てた IAM ロールを使用して Amazon S3 HeadBucket API を呼び出し、S3 バケットが存在するかどうか、およびその場所を確認します。 AWS Config の確認に必要なアクセス許可がない場合は、 AWS CloudTrail ログにAccessDeniedエラーが表示されます。ただし、 AWS Config は、S3 バケットが存在するかどうかとその場所を確認するために必要なアクセス許可がない場合でも、設定履歴とスナップショットを配信 AWS Config できます。

最小アクセス許可

Amazon S3 API には s3:ListBucketアクションが必要です。 HeadBucket

サービスでリンクされたロールの使用時に Amazon S3 バケットに必要なアクセス許可

AWS Config サービスにリンクされたロールには、Amazon S3 バケットにオブジェクトを配置するアクセス許可がありません。サービスにリンクされたロール AWS Config を使用して を設定すると、 AWS Config はconfig.amazonaws.comサービスプリンシパルを使用して設定履歴とスナップショットを配信します。アカウントまたはクロスアカウント送信先の S3 バケットポリシーには、 AWS Config サービスプリンシパルがオブジェクトを書き込むためのアクセス許可が含まれている必要があります。

Amazon S3 バケット AWS Config へのアクセスの許可

以下のステップを完了すると AWS Config 、 が設定履歴とスナップショットを Amazon S3 バケットに配信できるようになります。

  1. S3 バケットを持つアカウント AWS Management Console を使用して にサインインします。

  2. Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  3. 設定項目の配信 AWS Config に使用するバケットを選択し、プロパティを選択します。

  4. [Permissions] (アクセス許可) を選択します。

  5. Edit Bucket Policy を選択します。

  6. 次のポリシーを Bucket Policy Editor ウィンドウ内にコピーします。

    セキュリティに関するベストプラクティス

    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" } } } ] }
  7. バケットポリシーの以下の値を置き換えます。

    • amzn-s3-demo-bucket – AWS Config が設定履歴とスナップショットを配信する Amazon S3 バケットの名前。

    • [optional] prefix – オプションで Amazon S3 にオブジェクトキーに追加するプレフィックス。バケット内でフォルダのような構成を作成するのに役立ちます。

    • sourceAccountID – AWS Config が設定履歴とスナップショットを配信するアカウントの ID。

  8. SaveClose の順に選択します。

AWS:SourceAccount 条件は、 AWS Config オペレーションを指定された に制限します AWS アカウント。単一の S3 バケットに配信する組織内のマルチアカウント設定では、サービスにリンクされたロールではなく、 AWS Organizations 条件キーで IAM ロールを使用します。例えば、AWS:PrincipalOrgID。詳細については、AWS Organizations 「 ユーザーガイド」の「組織のアクセス許可の管理」を参照してください。

AWS:SourceArn 条件は、指定された配信チャネルに AWS Config オペレーションを制限します。AWS:SourceArn 形式は ですarn:aws:config:sourceRegion:123456789012

たとえば、アカウント 123456789012 の米国東部 (バージニア北部) リージョンの配信チャネルへの S3 バケットアクセスを制限するには、次の条件を追加します。

"ArnLike": {"AWS:SourceArn": "arn:aws:config:us-east-1:123456789012:"}

クロスアカウントの配信時に Amazon S3 バケットに必要なアクセス許可

別のアカウントの Amazon S3 バケットに設定履歴とスナップショットを配信するように AWS Config が設定されている場合 (クロスアカウント設定)、配信チャネルに指定された設定レコーダーと S3 バケットが異なる場合 AWS アカウント、次のアクセス許可が必要です。

  • 設定レコーダーに割り当てる IAM ロールには、 s3:ListBucket オペレーションを実行するための明示的なアクセス許可が必要です。これは、 がこの IAM ロールを使用して Amazon S3 HeadBucket API を AWS Config 呼び出してバケットの場所を決定するためです。

  • S3 バケットポリシーには、 AWS Config サービスプリンシパルと設定レコーダーに割り当てられた IAM ロールの両方に対するアクセス許可を含める必要があります。

バケットポリシー設定の例を次に示します。

{ "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": "config.amazonaws.com", "AWS": "IAM Role-Arn assigned to the configuration recorder" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "AWS:SourceAccount": "sourceAccountID" } } }