A multinational corporation runs its workloads across multiple AWS accounts managed under AWS Organizations. As part of a security audit, a solutions architect is tasked with upgrading the data protection configuration for application access logs. These logs are pushed from member accounts to a centralized Amazon S3 bucket in a dedicated Logging Account. The S3 bucket currently uses default encryption with the AWS-managed KMS key for Amazon S3 (aws/s3). The audit requires that all logs must be encrypted at rest using a key that supports automatic rotation and allows the organization to control key access policies. The member accounts must be able to continue writing logs, and the security analysts in the Logging Account must be able to read and decrypt them. Which of the following represents the most secure and compliant way to implement this requirement?
- ARetain the AWS-managed key (aws/s3) in the Logging Account. Modify the S3 bucket's resource policy to permit cross-account s3:PutObject requests from the member accounts. Update the key policy of the AWS-managed aws/s3 key in the Logging Account to delegate cross-account access, granting kms:GenerateDataKey permissions to the member accounts' execution roles.
- BGenerate a symmetric customer managed KMS key in the Logging Account. Update the key policy of the customer managed key to allow kms:GenerateDataKey and kms:Decrypt permissions to the Logging Account root user. Modify the centralized S3 bucket's resource policy to grant s3:PutObject and kms:GenerateDataKey permissions to the member accounts, relying on the bucket policy to delegate key access.
- Provision a symmetric customer managed KMS key in the Logging Account. Update the key's policy to grant the member accounts' execution roles the permission to perform the kms:GenerateDataKey action, and grant the Logging Account's security analysts permission to perform the kms:Decrypt action. Configure the centralized S3 bucket to use this customer managed KMS key as the default encryption key, and modify the bucket's resource policy to permit cross-account s3:PutObject requests.Cevap
- DDeploy a symmetric customer managed KMS key in the Logging Account. Configure the centralized S3 bucket to use this customer managed key as the default encryption key. Attach a Service Control Policy (SCP) at the root level of the organization that allows kms:GenerateDataKey and kms:Decrypt actions for all member accounts to grant them direct permission to use the customer managed key in the Logging Account.