A media company is designing a secure video processing pipeline. The architecture uses two AWS accounts within an AWS Organization: an Ingestion Account and a Processing Account. Users upload raw video files to an Amazon S3 bucket in the Ingestion Account. An application hosted on Amazon ECS tasks in the Processing Account must read the raw video files, process them, and store the output in a bucket in the Processing Account. All raw video files must be encrypted at rest using AWS KMS. The solution must follow the principle of least privilege. Which combination of configuration steps will allow the ECS application in the Processing Account to read the encrypted raw video files from the Ingestion Account? (Select TWO.)
- In the Ingestion Account, update the key policy of a customer managed KMS key to grant the ECS task role in the Processing Account permissions to perform the kms:Decrypt action, and update the Ingestion S3 bucket policy to allow the same task role to perform the s3:GetObject action.Cevap
- In the Processing Account, attach an IAM policy to the ECS task role that grants permissions to perform the s3:GetObject action on the Ingestion S3 bucket and the kms:Decrypt action on the customer managed KMS key in the Ingestion Account.Cevap
- CIn the Ingestion Account, configure default S3 bucket encryption using the AWS managed KMS key (aws/s3) and update the bucket policy to grant the ECS task role in the Processing Account access to the bucket.
- DIn the AWS Organizations management account, apply a Service Control Policy (SCP) to the Organizational Unit containing the Processing Account that explicitly grants the ECS task role the s3:GetObject and kms:Decrypt permissions on the Ingestion Account resources, bypassing the need for local IAM policies.
- EIn the Ingestion Account, create an IAM role with a trust policy allowing SAML 2.0 federation, and configure the ECS tasks in the Processing Account to assume this role using the sts:AssumeRoleWithSAML API call.
Cevap
The correct configurations are to update the customer managed KMS key policy and S3 bucket policy in the Ingestion Account to grant access to the ECS task role, and to attach an IAM policy to the ECS task role in the Processing Account allowing s3:GetObject on the bucket and kms:Decrypt on the KMS key.
The correct answer combines updating the resource-based policies (S3 bucket policy and KMS key policy) in the Ingestion Account to delegate trust to the ECS task role, and attaching a matching identity-based IAM policy to the ECS task role in the Processing Account. Because cross-account access requires evaluation of both identity-based policies in the requesting account and resource-based policies in the owning account, both configurations are necessary.
Adım Adım Çözüm
Anahtar Kavram
Cross-account S3 bucket access with KMS encryption requires explicit authorization on both the resource policies (S3 bucket and KMS key policies) and the identity-based policy, using a customer managed KMS key.