A biotech research organization uses AWS Organizations to manage member accounts. A Solutions Architect is designing a centralized logging and auditing solution. The solution must collect AWS CloudTrail logs from all current and future member accounts and store them in a single Amazon S3 bucket located in a dedicated Security account. The logs must be encrypted at rest using a customer managed key (CMK) in AWS KMS to comply with strict industry regulations. The configuration must prevent member accounts from disabling log collection or deleting the logs, while minimizing administrative overhead.
Which TWO configurations should the Solutions Architect implement to meet these requirements? (Select TWO.)
- In the Security account, configure the S3 bucket policy to allow the `cloudtrail.amazonaws.com` service principal to perform `s3:GetBucketAcl` and `s3:PutObject` operations, restricting access to the organization using the `aws:PrincipalOrgID` condition key.Answer
- In the Security account, create a customer managed KMS key. Configure the KMS key policy to allow the `cloudtrail.amazonaws.com` service principal to perform `kms:GenerateDataKey*` and `kms:DescribeKey` operations, using the `aws:PrincipalOrgID` condition key to restrict access to the organization.Answer
- CIn the Security account, configure the S3 bucket to use the default AWS-managed KMS key (`aws/s3`) for encryption, and update the key policy to allow cross-account access for the `cloudtrail.amazonaws.com` service principal across the organization.
- DIn the Security account, configure the S3 bucket policy to allow the IAM execution roles of each member account to perform `s3:PutObject` operations to deliver the log files.
- ECreate a Service Control Policy (SCP) that grants the `s3:PutObject` permission on the Security account's S3 bucket to all member accounts, and attach the SCP to the Organization root to enable log delivery without modifying the S3 bucket policy.
Answer
Configure the S3 bucket policy in the Security account to allow the CloudTrail service principal to perform `s3:GetBucketAcl` and `s3:PutObject` operations under the condition that the organization matches the target Org ID. Additionally, create a customer managed KMS key in the Security account and configure its key policy to allow the CloudTrail service principal to perform `kms:GenerateDataKey*` and `kms:DescribeKey` operations restricted by the same organization ID condition.
For centralized logging using AWS CloudTrail across multiple accounts in AWS Organizations, the destination S3 bucket policy must allow the `cloudtrail.amazonaws.com` service principal to write objects and retrieve bucket ACLs, restricted to the organization ID. When logs are encrypted with a KMS key, the key must be a Customer Managed Key (CMK) because default AWS-managed keys cannot be shared cross-account or have their policies edited. The customer managed KMS key policy must authorize the CloudTrail service principal to generate data keys and describe the key, matching the organization's ID to allow secure cross-account log delivery.
Step-by-Step Solution
Key Concept
Centralized cross-account logging with AWS CloudTrail, S3 bucket policies, and AWS KMS Customer Managed Keys.
Estimated Time:2m 0s