An energy transmission operator uses AWS Organizations to manage its multi-account environment. To comply with national security regulations, all grid control plane access logs from the Grid Operations account (Account ID: ) must be archived to a centralized compliance S3 bucket in the Security Auditing account (Account ID: ).
The security engineering team has established the following requirements:
1. All logs must be encrypted at rest using a Customer Managed Key (CMK) created and managed in the Security Auditing account.
2. The Grid Operations account must have permissions to upload log files to the compliance S3 bucket but must be strictly prevented from decrypting or reading any logs once they are archived.
3. The objects uploaded to the compliance S3 bucket must be owned by the Security Auditing account to ensure compliance audits can access them.
Which combination of configurations will securely meet these requirements?
- AIn the Security Auditing account (), enable default encryption on the compliance S3 bucket using the AWS-managed key for Amazon S3 (aws/s3). Configure the bucket policy to grant the Grid Operations account's IAM role (GridLoggerRole) permissions to perform s3:PutObject. In the Grid Operations account (), attach an IAM policy to GridLoggerRole allowing s3:PutObject on the compliance S3 bucket and kms:GenerateDataKey on the aws/s3 key.
- BIn the Security Auditing account (), configure the compliance S3 bucket with S3 Object Ownership set to Object Writer. Modify the bucket policy to allow the Grid Operations account's IAM role (GridLoggerRole) to perform s3:PutObject with a condition requiring the bucket-owner-full-control canned ACL. In the KMS key policy, grant GridLoggerRole permission to perform kms:GenerateDataKey, kms:DescribeKey, and kms:Decrypt. In the Grid Operations account (), attach an IAM policy to GridLoggerRole allowing s3:PutObject and the required ACL.
- In the Security Auditing account (), configure the compliance S3 bucket with S3 Object Ownership set to Bucket Owner Enforced. Apply a bucket policy that allows the Grid Operations account's IAM role (GridLoggerRole) to perform s3:PutObject. Create a KMS Customer Managed Key (CMK) and modify its key policy to allow GridLoggerRole to perform kms:GenerateDataKey and kms:DescribeKey, while omitting kms:Decrypt. In the Grid Operations account (), attach an IAM policy to GridLoggerRole that allows s3:PutObject on the compliance S3 bucket and kms:GenerateDataKey and kms:DescribeKey on the KMS CMK.Answer
- DIn the Security Auditing account (), configure the compliance S3 bucket with S3 Object Ownership set to Bucket Owner Enforced. Apply a bucket policy that allows the Grid Operations account's IAM role (GridLoggerRole) to perform s3:PutObject. Create a KMS Customer Managed Key (CMK) and modify its key policy to allow the Grid Operations account root principal to perform all KMS actions, including kms:Decrypt. In the AWS Organizations management account, attach a Service Control Policy (SCP) to the Grid Operations OU that explicitly denies kms:Decrypt and s3:GetObject to GridLoggerRole.