A digital manufacturing enterprise operates a multi-account environment with AWS accounts organized under AWS Organizations. The compliance officer mandates that all API activity across all accounts and regions must be centrally logged and audited. The solutions architect designs a solution to consolidate AWS CloudTrail logs into an Amazon S3 bucket within a dedicated Security account. The architecture must satisfy the following constraints:
- All log data at rest must be encrypted using a Customer Managed Key (CMK) in AWS KMS.
- Member accounts must be prevented from disabling or altering the logging configuration.
- The S3 bucket policy and the KMS key policy must enforce least-privilege access, restricting delivery only to CloudTrail for accounts belonging to the organization.
- AWS-managed KMS keys must not be used due to security policies restricting cross-account key sharing.
Which configuration strategy should the solutions architect implement to meet these requirements?
- Configure an organization trail in the management account that delivers logs to the S3 bucket in the Security account, encrypted by a customer managed KMS CMK in the Security account. Configure the S3 bucket policy to allow s3:PutObject for the CloudTrail service principal with a condition for the Organization ID. Configure the KMS key policy in the Security account to allow kms:GenerateDataKey* and kms:DescribeKey for the CloudTrail service principal with a condition for the Organization ID. Apply a Service Control Policy to the organization's root that denies CloudTrail modification and deletion actions.Answer
- BConfigure an organization trail in the management account that delivers logs to the S3 bucket in the Security account. Configure the S3 bucket to use the default AWS-managed KMS key for S3 (aws/s3) for encryption. Update the S3 bucket policy to allow the CloudTrail service principal from the organization's member accounts to write to the bucket. Apply a Service Control Policy to the organization's root to prevent member accounts from modifying the trail configuration.
- CConfigure an organization trail in the management account that delivers logs to the S3 bucket in the Security account. Create a customer managed KMS CMK in the Security account. Apply a Service Control Policy to the organization's root that explicitly grants kms:GenerateDataKey* and kms:Decrypt permissions to the CloudTrail service principal for the KMS CMK ARN, while denying any modifications to CloudTrail configurations in the member accounts.
- DConfigure individual trails in each member account using AWS CloudFormation StackSets to deliver logs to the S3 bucket in the Security account, encrypted by a customer managed KMS CMK in the Security account. Rely on the IAM policies attached to the CloudTrail service roles in the member accounts to grant the necessary write permissions to the S3 bucket. Apply a Service Control Policy to deny member accounts the ability to delete the CloudFormation stacks.