Back to glossary
AWS Service Control Policy (SCP)
An AWS-native control, set at the AWS Organizations level, that restricts which actions accounts in an organization are allowed to take – one of the primitives a policy engine can build on.
Frequently Asked Questions
What are AWS Service Control Policies (SCPs)?
AWS Service Control Policies are organization-wide controls, set through AWS Organizations, that define the maximum permissions available to accounts, organizational units, or the entire organization – restricting what a principal is allowed to do, regardless of what its IAM policy grants. They don't grant permissions themselves; they set a ceiling that IAM policies can never exceed. SCPs are typically attached at the organizational-unit level so every account underneath inherits the same guardrail, which is what makes them a foundational control for multi-account AWS environments.
What is the difference between AWS SCP and RCP?
An SCP caps what a principal is allowed to do; an RCP caps what a resource will accept, regardless of who's asking. In practice, an SCP can constrain the actions principals in your organization can take, while an RCP provides an organization-level resource-side boundary that can restrict access even when identity-based or resource-based policies would otherwise allow it.
How do SCPs and RCPs work together?
SCPs and RCPs evaluate independently, and both have to allow a request for it to succeed – so mature AWS environments typically layer both: SCPs to constrain which actions identities can take, RCPs to put a hard floor under what actions resources will accept, even when identity-based or resource-based policies would otherwise allow them. Together they close the gap that either control alone would leave open.
How do you manage AWS SCPs across multiple accounts?
SCPs are managed centrally through AWS Organizations and attached at the organizational-unit level so every account underneath inherits them, but hand-writing and safely testing SCPs at scale – without accidentally locking out a legitimate workflow – is where most teams get stuck. Aryon automates SCP creation, testing, and rollout, including simulating a policy's impact against real account activity before it's enforced.
What tools help manage AWS SCPs and RCPs?
The AWS Organizations console and CLI let you write and attach SCPs and RCPs directly, but they don't simulate impact, manage exceptions, or keep policies consistent as your account structure grows. Aryon adds that layer with a continuously maintained library of security policies, centrally managed enforcement through SCPs and RCPs, impact testing before enforcement, and tracked, auditable exceptions.
How do you automate AWS SCP management?
Automating SCP management means treating policies as code – version-controlled and deployed through a pipeline – and generating new policies from your organization's actual activity and risk rather than writing every rule by hand. Aryon's policy marketplace and AI-generated recommendations do this continuously, suggesting and updating SCPs as the environment evolves.
How do you use AWS SCPs as security guardrails?
An SCP becomes a guardrail – not just a permission boundary – when it's used to actively deny known-risky actions across every account, such as disabling CloudTrail, leaving a region unencrypted by default, or removing a security service. Aryon maintains a marketplace of research-backed SCP guardrails mapped to real attack patterns, so teams aren't starting from a blank policy document.
How do AWS SCPs support cloud security governance?
SCPs support governance by giving a security team a single, centrally owned control that applies the same way across every account in the organization, instead of relying on each account or team to configure IAM correctly on its own. Aryon centralizes that ownership further, with granular scoping – like stricter SCPs in production than in sandbox accounts – and a formal exception process for cases where a team has a legitimate reason to deviate.
How do you block AWS misconfigurations before deployment?
Blocking a misconfiguration before deployment means the check happens at the point the API request is made to AWS, using preventive controls such as SCPs or RCPs that AWS evaluates and enforces natively at the control plane. Because enforcement happens at the cloud control plane, the same misconfiguration is blocked regardless of whether it was attempted through Terraform, the console, the CLI, or an AI agent.