フローログのための Amazon S3 バケットのアクセス許可
デフォルトでは、Amazon S3 バケットとそれに含まれているオブジェクトはプライベートです。バケット所有者のみが、そのバケットとそれに含まれているオブジェクトにアクセスできます。ただし、バケット所有者は、アクセスポリシーを記述することで他のリソースおよびユーザーにアクセス権限を付与することができます。
フローログを作成するユーザーがバケットを所有し、そのバケットに PutBucketPolicy
および GetBucketPolicy
許可を持っている場合、次のポリシーが自動的にそのバケットにアタッチされます。このポリシーは、バケットにアタッチされている既存のポリシーを上書きします。
それ以外の場合は、バケット所有者が、フローログ作成者の AWS アカウント ID を指定して、このポリシーをバケットに追加しなければ、フローログの作成は失敗します。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「バケットポリシーの使用」を参照してください。
my-s3-arn
に指定する ARN は、Hive と互換性のある S3 のプレフィックスを使用するかどうかによって異なります。
-
デフォルトのプレフィックス
arn:aws:s3:::
bucket_name
/optional_folder
/AWSLogs/account_id
/* -
Hive 互換の S3 プレフィックス
arn:aws:s3:::
bucket_name
/optional_folder
/AWSLogs/aws-account-id=account_id
/*
ベストプラクティスは、個々の AWS アカウント の ARN ではなく、ログ配信サービスプリンシパルに、これらのアクセス許可を付与することです。また、aws:SourceAccount
および aws:SourceArn
条件キーを使用して、混乱した使節の問題から保護することもベストプラクティスです。ソースアカウントはフローログの所有者であり、ソース ARN は、ログサービスのワイルドカード (*) ARN です。
ログ配信サービスは、HeadBucket
Amazon S3 API アクションを呼び出して、S3 バケットの存在と場所を確認することに注意してください。このアクションを呼び出すアクセス許可をログ配信サービスに付与する必要はありません。S3 バケットとその場所が確認できない場合でも、VPC フローログが配信されます。ただし、CloudTrail ログの HeadBucket
への呼び出しには AccessDenied
エラーが発生します。