Sunday, October 5, 2025

SCP (Service Control Policies) Blocklist & Allowlist strategies | Deep Dive.

SCP (Service Control Policies) Blocklist and Allowlist Strategies is one of the most important parts of advanced AWS Organizations governance design.

Scope:

  •        Review:  SCPs,
  •        SCP Evaluation Logic,
  •        SCP Strategies Overview,
  •        Allowlist Strategy (Deny-by-default),
  •        Blocklist Strategy (Allow-by-default),
  •        Hybrid Strategy (Recommended in Enterprises),
  •        Regional Restrictions (Common Guardrail),
  •        SCP Management Best Practices,
  •        Real-world Implementation Flow,
  •        Visual – SCP Strategy Architecture.

 1. Review:  SCPs

Service Control Policies (SCPs) are organization-level guardrails that define the maximum permissions available to IAM entities (users, roles, groups) in any AWS account within an Organization.

They:

  • Don’t grant permissions directly.
  • Filter what permissions IAM policies can grant.
  • Are evaluated alongside IAM policies — both must allow an action.

🧩 SCP = Permission boundary across accounts (Org, OU, or Account).

 2. SCP Evaluation Logic

When a request is made:

Policy Type

Purpose

Must Allow?

AWS Organizations SCP

Define max available permissions

IAM Identity Policy

Define granted permissions

Resource Policy

Optional, resource-specific control

✅ (if applicable)

Session Policy / Permission Boundary

Further limit effective permissions

# If any of these denies, the action is blocked.

 3. SCP Strategies Overview

Two primary strategies are used to control access:

Strategy

Description

Typical Use Case

Allowlist (Deny-by-default)

Explicitly allow only approved services/actions; everything else is implicitly denied.

High-security or compliance environments (e.g., regulated workloads, GovCloud, PCI).

Blocklist (Allow-by-default)

Allow all AWS services except explicitly denied ones.

General-purpose accounts, development/test environments, or partial control scenarios.


4. Allowlist Strategy (Deny-by-default)

Concept

twtech defines an SCP that explicitly allows a specific subset of AWS services (e.g., EC2, S3, CloudTrail) and implicitly denies everything else.

#  twtechExample

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "twtechAllowList",

      "Effect": "Allow",

      "Action": [

        "ec2:*",

        "s3:*",

        "cloudtrail:*"

      ],

      "Resource": "*"

    }

  ]

}

NB: Everything not listed in the Action array is denied.

 Pros

  • Strong security control and predictability.
  • Prevents access to new AWS services until explicitly approved.
  • Ideal for highly regulated workloads.

 Cons

  • High maintenance — every new service requires policy updates.
  • May block dependencies if not tested carefully.
  • Inhibits developer agility.

 5. Blocklist Strategy (Allow-by-default)

 Concept

twtech creates an SCP that denies access to specific services or operations it don’t want used (e.g., aws-portal:*, support:*, or regions not in scope).

# twtechExample

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "twtechDenyCertainServices",

      "Effect": "Deny",

      "Action": [

        "aws-portal:*",

        "support:*",

        "cur:*"

      ],

      "Resource": "*"

    }

  ]

}

Pros

  • Minimal maintenance effort.
  • New AWS services are available by default.
  • Good for innovation and flexibility.

 Cons

  • Risk of accidental use of new, unapproved, or costly services.
  • Can’t “pre-deny” unknown new services.

 6. Hybrid Strategy (Recommended in Enterprises)

Most mature organizations adopt a hybrid approach:

  • Allowlist at the root or sensitive OU level for foundational workloads.
  • Blocklist at developer/test OUs to prevent misuse.
  • Combine with Tag-based IAM controls, permission boundaries, and AWS Control Tower Guardrails.

# Example Hierarchy text diagram:

Root

── Security OU (Allowlist SCP)

│   └── Audit Account (Tight allowlist)

── Prod OU (Hybrid SCPs)

│   ── Deny unsafe regions

│   ── Allow core services

└── Dev/Test OU (Blocklist SCP)

    ── Deny expensive services (e.g., SageMaker, FSx)

    └── Deny production region

 7. Regional Restrictions (Common Guardrail)

{

  "Version": "2012-10-17",

  "Statement": [

    {

      "Sid": "twtechDenyUnsupportedRegions",

      "Effect": "Deny",

      "Action": "*",

      "Resource": "*",

      "Condition": {

        "StringNotEquals": {

          "aws:RequestedRegion": [

            "us-east-2",

            "us-west-2"

          ]

        }

      }

    }

  ]

}

NB: This ensures workloads only run in approved regions.

 8. SCP Management Best Practices

Category

Best Practice

Design

Start with least privilege (Allowlist for critical OUs).

Testing

Validate in sandbox OUs before applying Org-wide.

Versioning

Use descriptive Sid and version control (e.g., in Git).

Change Management

Automate SCP deployment via AWS CloudFormation StackSets or IaC pipelines.

Auditing

Regularly review SCPs via AWS Config and IAM Access Analyzer.

 9. Real-world Implementation Flow:

  1. Define organizational structure (OUs).
  2. Attach baseline SCPs (root-level guardrails).
  3. Apply OU-specific SCPs (restrict per environment).
  4. Validate via Access Analyzer & simulation tools.
  5. Continuously monitor via AWS Config conformance packs.

 10. Visual – SCP Strategy Architecture with:

  • OU hierarchy.
  • Allowlist vs Blocklist placement.
  • SCP evaluation flow.


No comments:

Post a Comment

Amazon EventBridge | Overview.

Amazon EventBridge - Overview. Scope: Intro, Core Concepts, Key Benefits, Link to official documentation, Insights. Intro: Amazon EventBridg...