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

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

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

重要

このページでは、 の Amazon S3 バケットの設定について説明します。 AWS Config 配信チャネル。このページは、 AWS::S3::Bucket AWS Config 設定レコーダーは を記録できます。の詳細については、 AWS Config 配信チャネルについては、「配信チャネルの管理」を参照してください。

デフォルトでは、すべての Amazon S3 バケットとオブジェクトはプライベートです。であるリソース所有者のみ AWS アカウント バケットを作成した は、そのバケットにアクセスできます。ただし、リソース所有者は、他のリソースとユーザーにアクセス許可を付与することを選択できます。これを行う 1 つの方法として、アクセスポリシーを記述します。

If AWS Config は Amazon S3 バケットを自動的に作成します (例えば、 AWS Config コンソールで配信チャネルを設定)、これらのアクセス許可は Amazon S3 バケットに自動的に追加されます。ただし、既存の Amazon S3 バケットを指定した場合は、S3 バケットのアクセス許可が正しいことを確認する必要があります。

注記

オブジェクトはバケットからアクセス許可を継承しません。例えば、バケットを作成してユーザーに書き込みアクセスを許可した場合、そのユーザーから明示的にアクセスが許可されない限り、そのユーザーのオブジェクトにアクセスできません。

IAM ロールを使用するときに Amazon S3 バケットに必要なアクセス許可

メトリック AWS Config は、設定情報 (履歴ファイルとスナップショット) をアカウントの Amazon S3 バケットに送信し、セットアップ時に割り当てたIAMロールを引き受けます。 AWS Config。 いつ AWS Config は、別のアカウントの Amazon S3 バケットに設定情報を送信します。最初にIAMロールの使用を試みますが、バケットのアクセスポリシーがIAMロールWRITEへのアクセスを許可しない場合、この試行は失敗します。この場合、 AWS Config は情報をもう一度送信します。今回は として送信します。 AWS Config サービスプリンシパル。配信が成功する前に、アクセスポリシーはconfig.amazonaws.comプリンシパル名WRITEへのアクセスを許可する必要があります。 AWS Config は、S3 バケットに配信するオブジェクトの所有者です。以下のステップ 6 で説明したアクセスポリシーを別のアカウントの Amazon S3 バケットにアタッチして、 を付与する必要があります。 AWS Config Amazon S3 バケットへのアクセス。

前 AWS Config は Amazon S3 バケットにログを配信できます AWS Config は、バケットが存在するかどうか、およびどのバケットに存在するかをチェックします。 AWS バケットが配置されているリージョン。 AWS Config は Amazon S3 を呼び出しHeadBucketAPIて、バケットが存在するかどうかを確認し、バケットリージョンを取得しようとします。ロケーションチェックの実行時にバケットを見つけるアクセス許可が提供されていない場合は、 にAccessDeniedエラーが表示されます。 AWS CloudTrail ログ。ただし、バケットの場所へのアクセス許可を付与しない場合、Amazon S3 バケットへのログ配信は成功します。

注記

Amazon S3 のアクセス許可を付与するにはAPI、以下のステップ HeadBucket 6 で説明されているようにAWSConfigBucketExistenceCheck、Sid s3:ListBucketとしてアクションを実行するアクセス許可を付与します。

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

- AWS Config サービスにリンクされたロールには、Amazon S3 バケットにオブジェクトを配置するアクセス許可がありません。したがって、 をセットアップすると、 AWS Config サービスにリンクされたロールの使用 AWS Config は設定項目を として送信します。 AWS Config 代わりに サービスプリンシパル。以下のステップ 6 で説明したアクセスポリシーを、自分のアカウントまたは別のアカウントの Amazon S3 バケットにアタッチして付与する必要があります。 AWS Config Amazon S3 バケットへのアクセス。

付与 AWS Config Amazon S3 バケットへのアクセス

自分のアカウントまたは別のアカウントの Amazon S3 バケットにアクセスポリシーを追加するには、以下のステップを実行します。アクセスポリシーでは、 AWS Config Amazon S3 バケットに設定情報を送信するには、 にします。

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

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

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

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

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

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

    重要

    を許可する場合のセキュリティのベストプラクティス AWS Config Amazon S3 バケットへのアクセスは、 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" } } } ] }
    注記

    の代わりにIAMロールにアクセス許可を付与する場合 AWS Config サービスプリンシパル名 (SPN)。アクセスPutObjectACL許可不足エラーを避けるため、IAMロールにクロスアカウントバケットに対するアクセス許可があることを確認します。「」のIAM「ロールポリシーの例」を参照してください IAM S3 バケットのロールポリシー

  7. バケットポリシーの以下の値を置き換えます。

    • amzn-s3-demo-bucket – が属する Amazon S3 バケットの名前 AWS Config は設定項目を配信します。

    • [optional] prefix – バケットにフォルダのような組織を作成するのに役立つ Amazon S3 オブジェクトキーへのオプションの追加。

    • sourceAccountID - のアカウントの ID AWS Config は、設定項目をターゲットバケットに配信します。

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

上記の Amazon S3 バケットポリシーの AWS:SourceAccount 条件を使用し Config サービスプリンシパルが特定のアカウントに代わってオペレーションを実行するときに、 Amazon S3 バケットのみと交信するように制限することができます。を設定する予定がある場合 AWS Config 同じ組織の多くのアカウントで設定項目を単一の Amazon S3 バケットに配信する場合は、サービスにリンクされたIAMロールの代わりに ロールを使用することをお勧めします。 AWS Organizations などの 条件キーAWS:PrincipalOrgID。で使用する IAMロールのアクセス許可の管理の詳細については、「」を参照してください。 AWS Config、「 に割り当てられたIAMロールのアクセス許可」を参照してください。 AWS Config。 のアクセス許可の管理の詳細については、「」を参照してください。 AWS Organizations、「 のアクセス許可の管理」を参照してください。 AWS 組織

AWS Config は、特定の に代わってオペレーションを実行するときに、Config サービスプリンシパルが Amazon S3 バケットとのみやり取りするように制限する AWS:SourceArn条件もサポートします。 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:*"}