A company has a multi-account AWS environment with centralized logging. The security team wants to ensure that all VPC Flow Logs are published to a central S3 bucket in the logging account. Which combination of steps should be taken to achieve this?
VPC Flow Logs support cross-account delivery to S3 with appropriate bucket policy.
Why this answer
VPC Flow Logs can be published directly to an S3 bucket in another account by specifying the bucket ARN in the logging account. The bucket policy must grant the `S3:PutObject` permission to the log delivery service principal (`delivery.logs.amazonaws.com`) for the source accounts, enabling cross-account log delivery without intermediate services.
Exam trap
The trap here is that candidates assume cross-account S3 delivery requires a VPC endpoint or a streaming service like Firehose, but AWS natively supports direct cross-account S3 delivery for VPC Flow Logs via bucket policies.
How to eliminate wrong answers
Option A is wrong because Amazon Kinesis Data Firehose adds unnecessary complexity and cost; VPC Flow Logs can natively deliver to S3 without requiring Firehose. Option C is wrong because VPC endpoints provide private connectivity to S3 but do not enable cross-account log delivery; the bucket policy is the mechanism for cross-account access. Option D is wrong because publishing to a central CloudWatch Logs group does not place logs in the central S3 bucket as required, and CloudWatch Logs is not the target specified in the question.