Question

Difficulty: MediumCentralized Monitoring, Logging, and Auditing Solutions

A multinational retail pharmaceutical company manages 120 member accounts under AWS Organizations. The security team requires all VPC Flow Logs from all member accounts to be collected and consolidated into a single central Amazon S3 bucket in a dedicated Security account. For data security compliance, all log data must be encrypted at rest using a customer managed KMS key (CMK). Which configuration should a solutions architect recommend to meet these requirements with the least administrative overhead?

  1. A
    Configure the Amazon S3 bucket in the Security account and enable default encryption using the AWS-managed S3 key (aws/s3). Update the S3 bucket policy to allow the delivery.logs.amazonaws.com service principal to write objects. Configure VPC Flow Logs in each member account to publish to the central S3 bucket.
  2. B
    Configure the Amazon S3 bucket in the Security account. Create a Customer Managed KMS key in the Security account. Attach IAM policies to all IAM users and roles in the member accounts that grant permission to perform s3:PutObject and use the KMS key. Configure VPC Flow Logs in each member account to publish to the central S3 bucket.
  3. Configure the Amazon S3 bucket in the Security account. Create a Customer Managed KMS key in the Security account with a key policy that allows the delivery.logs.amazonaws.com service principal to perform kms:GenerateDataKey* actions. Update the S3 bucket policy to allow the delivery.logs.amazonaws.com service principal to write objects. Configure VPC Flow Logs in each member account to publish to the central S3 bucket.Answer
  4. D
    Configure the Amazon S3 bucket in the Security account. Create a Customer Managed KMS key in the Security account. Attach a Service Control Policy (SCP) at the Organization root level that allows the delivery.logs.amazonaws.com service principal to write to the central S3 bucket and access the KMS key. Configure VPC Flow Logs in each member account to publish to the central S3 bucket.

Answer

Configure the Amazon S3 bucket and a Customer Managed KMS key in the Security account, update the key policy to allow the delivery.logs.amazonaws.com service principal to perform kms:GenerateDataKey* actions, update the S3 bucket policy to allow the service principal to write objects, and configure the member VPC Flow Logs to target the central bucket.
The correct answer provides the only valid method for publishing VPC Flow Logs cross-account to an S3 bucket encrypted with a KMS key. It uses a Customer Managed Key whose policy can be modified to grant the log delivery service principal (delivery.logs.amazonaws.com) permissions to generate data keys. Simultaneously, the S3 bucket policy is configured to allow the same service principal to write objects to the bucket.

Step-by-Step Solution

1
Configure the centralized Amazon S3 bucket and Customer Managed KMS key in the Security account.
Unified destination and key resources are created in the dedicated security account.
This establishes central control over logging resources and provides a key that can be configured with cross-account access.
2
Update the KMS key policy to permit the log delivery service principal to perform key generation actions.
The delivery.logs.amazonaws.com principal is granted kms:GenerateDataKey* permissions on the Customer Managed key.
The log delivery service requires permission to generate data keys to encrypt files before depositing them into the cross-account bucket.
3
Add a statement to the S3 bucket policy allowing the log delivery service principal to put objects.
The delivery.logs.amazonaws.com principal is granted s3:PutObject permissions on the centralized bucket.
Cross-account log delivery relies on the S3 bucket policy to authorize the write operations from the log delivery service.
4
Configure the VPC Flow Logs in all member accounts to publish to the S3 bucket in the Security account.
Log collection is initiated, and flow logs are successfully delivered and encrypted in the central bucket.
This links the source network traffic in the member accounts to the central audit repository.

Key Concept

Cross-account VPC Flow Logs delivery to an encrypted S3 bucket requires granting permissions to the Log Delivery service principal (delivery.logs.amazonaws.com) using both the S3 bucket policy and a Customer Managed KMS key policy.
Rate this question