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 アクセスが許可されない場合、AWS Configは config.amazonaws.com サービスプリンシパルを使用します。配信を完了するためには、バケットポリシーが WRITE アクセスを config.amazonaws.com に許可する必要があります。配信が成功すると、 はクロスアカウント S3 バケットに配信するすべてのオブジェクトの所有権AWS Configを維持します。

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

最小アクセス許可

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

サービスでリンクされたロールの使用時に 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 マネジメントコンソールを使用して にサインインします。

  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が想定ユーザーに代わってのみアクセスが許可されます。

    JSON
    { "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 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 バケットポリシーには、設定レコーダーに割り当てられた IAM ロールのアクセス許可が含まれている必要があります。

以下は、バケットポリシー設定の例です。

{ "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "AWS": "IAM Role-Arn assigned to the configuration recorder" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", }