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

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

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

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

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

注記

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

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

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

前AWS ConfigAmazon S3 バケットにログを配信できます。AWS Configは、バケットが存在するかどうかをチェックし、AWSリージョンがある場合、バケットがあります。AWS ConfigAmazon S3 を呼び出そうとしますHeadBucketAPI を使用して、バケットが存在するかどうかを確認し、バケットリージョンを取得します。場所を確認するときに、バケットを見つけるアクセス許可が付与されていない場合は、AccessDenied エラーが AWS CloudTrail ログに記録されます。ただし、バケットの場所のアクセス許可を付与しない場合、Amazon S3 バケットへのログ配信は成功します。

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

をセットアップする場合AWS Configサービスにリンクされたロールを使用する場合は、以下のステップ 6 で説明したアクセスポリシーを自分のアカウントまたは別のアカウントの Amazon S3 バケットにアタッチして、AWS ConfigAmazon S3 バケットにアクセスする。のサービスにリンクされたロールを使用することは推奨されませんAWS Configクロスアカウント設定

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

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

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

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

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

  4. [Permissions] を選択します。

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

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

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AWSConfigBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": [ "config.amazonaws.com" ] }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::targetBucketName" }, { "Sid": "AWSConfigBucketExistenceCheck", "Effect": "Allow", "Principal": { "Service": [ "config.amazonaws.com" ] }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::targetBucketName" }, { "Sid": "AWSConfigBucketDelivery", "Effect": "Allow", "Principal": { "Service": [ "config.amazonaws.com" ] }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::targetBucketName/[optional] prefix/AWSLogs/sourceAccountID-WithoutHyphens/Config/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
    注記

    AWS Config所有のAWSに固有のものではなく、AWS アカウントまたはリンクされたアカウントをAWS組織。つまり、サービスは組織 ID または組織単位に基づく条件では機能しません。

    注記

    代わりに IAM ロールにアクセス許可を付与する場合AWS Configサービスプリンシパル名 (SPN) を使用する場合は、IAM ロールにPutObjectACLアクセス許可をクロスアカウントバケットに追加して、不十分なアクセス許可エラーを避けることができます。IAM ロールポリシーの例を参照してください。 Amazon S3 バケット用の IAM ロールポリシー

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

    • ターゲットバケット名— 先の Amazon S3 バケットの名前です。AWS Configは、構成項目を提供します。

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

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

  8. [Save]、[Close] の順に選択します。