A financial enterprise is designing its multi-account governance structure using AWS Organizations. The security team wants to ensure that developers operating within the Sandbox Organizational Unit (OU) are restricted to using only Amazon EC2, Amazon S3, and Amazon DynamoDB. The developers must be blocked from using any other AWS services, even if they have administrative privileges in their local accounts. This control must be enforced centrally with the least administrative overhead. How should the Solutions Architect implement this governance control?
- Attach a Service Control Policy (SCP) to the Sandbox OU that uses a Deny effect with a NotAction element specifying ec2:*, s3:*, dynamodb:*, and organizations:*, while keeping the default FullAWSAccess SCP attached. Grant developers access locally using IAM policies.Answer
- BAttach a Service Control Policy (SCP) to the Sandbox OU with an Allow effect for ec2:*, s3:*, and dynamodb:* actions, and instruct developers that this policy grants them the necessary access permissions directly.
- CCreate an AWS-managed KMS key in the organization's management account and modify its key policy to deny access to any services other than EC2, S3, and DynamoDB for all sandbox account principals.
- DCreate a centralized IAM policy in a shared services account and use AWS Resource Access Manager (RAM) to share this policy with the Sandbox OU, forcing all local IAM roles to inherit its limits.
Answer
Attach a Service Control Policy (SCP) to the Sandbox OU that uses a Deny effect with a NotAction element specifying ec2:*, s3:*, dynamodb:*, and organizations:*, while keeping the default FullAWSAccess SCP attached. Grant developers access locally using IAM policies.
The correct solution attaches a Service Control Policy (SCP) using a Deny effect with a NotAction element to the Sandbox OU. This acts as a centralized guardrail, blocking all services except EC2, S3, DynamoDB, and Organizations. Since SCPs do not grant permissions, developers must still be granted access locally via IAM policies.
Step-by-Step Solution
Key Concept
Service Control Policies (SCPs) act as filters that limit the maximum permissions of IAM users and roles in member accounts, but they do not grant permissions directly. A common pattern for whitelisting specific services with minimal maintenance is using a Deny effect with a NotAction block.