A financial enterprise is refactoring a data processing pipeline that spans multiple AWS accounts. A processing application hosted on Amazon EC2 instances in a private subnet of a production VPC (Account B) has no outbound internet route or NAT Gateway. The instances must read sensitive records from an Amazon S3 bucket in a compliance account (Account A). The S3 bucket is encrypted using a Customer Managed Key (CMK) in Account A. The security team requires that all data transit remain within the AWS network, and the S3 bucket must restrict access to requests originating from the production VPC's S3 Gateway VPC Endpoint. The instances use an IAM role to access the bucket. Currently, attempts to download and decrypt the S3 objects are failing. Which combination of architectural modifications will resolve the access failure while meeting all security requirements?
- Deploy an Interface VPC Endpoint for KMS in the production VPC (Account B). In Account A, configure the customer-managed KMS key policy to allow the EC2 instances' IAM role to perform kms:Decrypt, and update the S3 bucket policy to allow the role to perform s3:GetObject with a condition restricting requests to the S3 Gateway VPC Endpoint ID.Cevap
- BDeploy an Interface VPC Endpoint for KMS in the production VPC (Account B). Update the S3 bucket policy in Account A to use the default AWS-managed S3 key (aws/s3), and configure the key policy of aws/s3 in Account A to allow the EC2 instances' IAM role to perform kms:Decrypt.
- CAttach a Service Control Policy (SCP) to the Organizational Unit (OU) containing Account B that explicitly grants the EC2 instances' IAM role cross-account permissions for s3:GetObject and kms:Decrypt against Account A's resources. In Account B, configure the S3 Gateway VPC Endpoint policy to allow KMS transit traffic.
- DConfigure an AWS Transit Gateway between Account A and Account B to route KMS API traffic from Account B's private subnets to Account A. In Account A, configure an AWS Direct Connect Gateway to transitively route these KMS requests to the public AWS KMS service endpoint.