

- Function (prod/dev/test)
- Business unit or project
- Compliance regimes (PCI, HIPAA)
- Hybrid designs combining the above



Service Control Policies (SCPs): guardrails not grants
SCPs are JSON documents attached to roots, OUs, or accounts to set the maximum available permissions inside those accounts. Important SCP behavior:
- SCPs are evaluated before IAM identity policies. SCPs can only restrict — they do not grant permissions.
- An explicit Deny in an SCP overrides any Allow.
- SCPs affect service-linked roles and the root user.
- SCPs are inherited by child OUs and accounts in the OU hierarchy.
- Effective permissions are the intersection of SCPs, identity-based policies, resource-based policies, and permission boundaries.
SCP example
Below is an illustrative SCP implementing region restrictions, service restrictions, resource protection, privilege escalation prevention, and instance-type restrictions. Use it as a starting point and test thoroughly in non-production.
Test SCPs thoroughly in a non-production environment. A misconfigured SCP can unintentionally block necessary actions and be difficult to remediate.


- Principal (user, service, CI/CD) calls sts:AssumeRole with the target role ARN (and optional ExternalId).
- Target role has a trust policy allowing the principal to assume it.
- Temporary security credentials are issued for the assumed role.

Consider centralizing authentication with IAM Identity Center or a third-party IdP to simplify user lifecycle, centralize MFA, and improve auditability. See: https://aws.amazon.com/single-sign-on/





- Preventive controls: SCPs (Organizations), permission boundaries (accounts)
- Detective controls: AWS Config rules, IAM Access Analyzer, Security Hub, CloudTrail
- Remediation workflows: EventBridge → Lambda / Systems Manager → CloudFormation StackSets / Config remediation



- CloudTrail aggregation for API activity and audit trails
- AWS Config Aggregators for cross-account configuration checks
- Security Hub for consolidated findings and security posture
- CloudWatch and EventBridge for alerting and automation

- Define account and OU structure based on business and compliance drivers.
- Choose baseline security controls: preventive (SCPs, permission boundaries) and detective (AWS Config, CloudTrail, Access Analyzer).
- Define identity model: centralized federation (IAM Identity Center or third-party IdP) or a hybrid; enforce least privilege and centralized auditing.
- Implement automation: use EventBridge, Security Hub, Config, StackSets, Systems Manager to validate and remediate continuously.
- Iterate: monitor logs, tune policies, and improve automation to reduce manual processes.

- AWS Organizations: https://docs.aws.amazon.com/organizations/latest/userguide/
- Service Control Policies (SCPs): https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html
- IAM Identity Center (AWS SSO): https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html
- AWS Control Tower: https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html
- IAM Access Analyzer: https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer.html
- AWS Config: https://docs.aws.amazon.com/config/latest/developerguide/what-is-aws-config.html
- Amazon EventBridge: https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html
- AWS Security Hub: https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html