A global retail conglomerate manages member accounts organized under AWS Organizations. The security team wants to implement a centralized logging architecture to consolidate VPC Flow Logs from all existing and future VPCs into a single Amazon S3 bucket located in a dedicated Security Operations account. The logs must be encrypted at rest using SSE-KMS, and member accounts must be prevented from disabling or altering the flow log configurations. How should a solutions architect design this solution to meet these requirements?
- ACreate an Amazon S3 bucket in the Security Operations account, encrypted using the default AWS-managed KMS key (`aws/s3`). Configure the S3 bucket policy to allow the `delivery.logs.amazonaws.com` service principal `s3:PutObject` permissions. Deploy VPC Flow Logs in all VPCs pointing to the central S3 bucket. Apply a Service Control Policy (SCP) to the organization root that denies `ec2:DeleteFlowLogs` and `ec2:ModifyFlowLogs` unless the call is made by a designated administrative role.
- BCreate an Amazon S3 bucket in the Security Operations account, encrypted using a customer managed KMS key. Configure the S3 bucket policy to allow the IAM root principal of each member account `s3:PutObject` permissions. Update the KMS key policy to grant the same member account root principals `kms:GenerateDataKey*` permissions. Deploy VPC Flow Logs in all VPCs pointing to the central S3 bucket. Apply a Service Control Policy (SCP) to the organization root that denies `ec2:DeleteFlowLogs` and `ec2:ModifyFlowLogs` unless the call is made by a designated administrative role.
- Create an Amazon S3 bucket in the Security Operations account, encrypted using a customer managed KMS key. Configure the S3 bucket policy to allow the `delivery.logs.amazonaws.com` service principal `s3:PutObject` and `s3:GetBucketAcl` permissions. Update the KMS key policy to grant the `delivery.logs.amazonaws.com` service principal `kms:GenerateDataKey*` and `kms:Decrypt` permissions. Deploy VPC Flow Logs in all VPCs pointing to the central S3 bucket. Apply a Service Control Policy (SCP) to the organization root that denies `ec2:DeleteFlowLogs` and `ec2:ModifyFlowLogs` unless the call is made by a designated administrative role.Cevap
- DCreate an Amazon S3 bucket in the Security Operations account, encrypted using a customer managed KMS key. Apply a Service Control Policy (SCP) to the organization root that allows member accounts to perform `s3:PutObject` on the central S3 bucket, while denying `ec2:DeleteFlowLogs` and `ec2:ModifyFlowLogs` unless the call is made by a designated administrative role. Deploy VPC Flow Logs in all VPCs pointing to the central S3 bucket without modifying the S3 bucket policy.
Cevap
The correct solution is to create an Amazon S3 bucket in the Security Operations account encrypted using a customer managed KMS key, configure both the S3 bucket policy and KMS key policy to trust the `delivery.logs.amazonaws.com` service principal, and apply a Service Control Policy (SCP) to prevent unauthorized tampering of flow logs across the organization.
The correct solution requires configuring a customer managed KMS key and an S3 bucket policy that both explicitly grant access to the `delivery.logs.amazonaws.com` service principal. A customer managed key is necessary because the default AWS-managed key (`aws/s3`) cannot be configured with custom policies to allow cross-account service principal authorization. Additionally, the Service Control Policy (SCP) acts as an effective guardrail to prevent modification of the VPC Flow Logs in the member accounts without attempting to grant access itself.
Adım Adım Çözüm
Anahtar Kavram
Cross-account log aggregation with AWS KMS encryption and S3 bucket policies.
Tahmini Süre:3m 0s