A SysOps administrator is troubleshooting an issue where an IAM user in a member account is unable to access an Amazon S3 bucket located in a different AWS account. The IAM user has an identity-based policy that grants full S3 permissions (s3:*) to the external bucket. The bucket policy in the destination account explicitly allows access from the IAM user's ARN. However, when the user attempts to list the bucket contents, they receive an Access Denied error. The member account is located within an Organizational Unit (OU) in AWS Organizations. The organization's root has the default FullAWSAccess Service Control Policy (SCP) attached. The OU containing the member account has a custom SCP attached with the following policy document:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:*",
"dynamodb:*"
],
"Resource": "*"
}
]
}
What is the root cause of this Access Denied error?
- AThe IAM user lacks the iam:PassRole permission, which is required to authorize the cross-account delegation of S3 permissions.
- BThe member account's VPC has an S3 Gateway Endpoint that is not associated with the subnet's route table, which blocks all S3 API calls.
- The custom SCP attached to the OU does not explicitly allow S3 actions, resulting in an implicit deny for all S3 operations originating from the member account.Answer
- DThe destination S3 bucket is encrypted with the default AWS managed key (aws/s3), and the IAM user has not been granted explicit KMS decrypt permissions in their identity-based policy.