A research organization is designing a genomic data processing platform. The processing applications run on Amazon EC2 instances in a dedicated Computation Account (Account A). The raw genome sequencing output files must be written directly to an Amazon S3 bucket located in a central Data Archive Account (Account B).
The organization's security policy requires:
- All data stored in the S3 bucket must be encrypted at rest using SSE-KMS with a Customer Managed Key (CMK) managed by the Data Archive Account (Account B).
- The Data Archive Account must maintain full ownership of all uploaded objects, and access control lists (ACLs) must be completely disabled.
- The EC2 instances in Account A must have the minimum necessary permissions to perform the uploads.
Which combination of configuration steps will meet these security requirements?
- In Account B, configure S3 Object Ownership to Bucket Owner Enforced. Modify the KMS CMK key policy to grant the EC2 instance role in Account A permissions for kms:GenerateDataKey and kms:Decrypt. Configure the S3 bucket policy to allow s3:PutObject for the EC2 instance role in Account A. In Account A, assign an IAM policy to the EC2 instances that allows s3:PutObject on the bucket in Account B and kms:GenerateDataKey on the KMS CMK in Account B.Answer
- BIn Account B, configure S3 Object Ownership to Bucket Owner Enforced and set the bucket's default encryption to use the AWS managed key (aws/s3). Configure the S3 bucket policy to allow s3:PutObject for the EC2 instance role in Account A. In Account A, assign an IAM policy to the EC2 instances that allows s3:PutObject on the bucket in Account B.
- CIn Account B, configure S3 Object Ownership to Bucket Owner Preferred. Modify the KMS CMK key policy to grant the EC2 instance role in Account A permissions for kms:GenerateDataKey and kms:Decrypt. Configure the S3 bucket policy to allow s3:PutObject for the EC2 instance role in Account A. In Account A, assign an IAM policy to the EC2 instances that allows s3:PutObject and specifies the bucket-owner-full-control canned ACL during upload.
- DIn Account B, configure S3 Object Ownership to Bucket Owner Enforced. In the AWS Organizations management account, attach a Service Control Policy (SCP) to the Organizational Unit (OU) containing Account A and Account B that allows s3:PutObject on the bucket and kms:GenerateDataKey on the KMS CMK. In Account A, assign an IAM policy to the EC2 instances that allows s3:PutObject on the bucket in Account B.