惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
D
Darknet – Hacking Tools, Hacker News & Cyber Security
I
Intezer
月光博客
月光博客
Cyberwarzone
Cyberwarzone
雷峰网
雷峰网
Security Latest
Security Latest
量子位
博客园 - 聂微东
小众软件
小众软件
NISL@THU
NISL@THU
C
Cisco Blogs
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tor Project blog
Y
Y Combinator Blog
V
V2EX
博客园 - 三生石上(FineUI控件)
P
Privacy & Cybersecurity Law Blog
F
Full Disclosure
Cisco Talos Blog
Cisco Talos Blog
Microsoft Security Blog
Microsoft Security Blog
S
Security @ Cisco Blogs
The Register - Security
The Register - Security
Google DeepMind News
Google DeepMind News
J
Java Code Geeks
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
IT之家
IT之家
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
腾讯CDC
S
Schneier on Security
L
LINUX DO - 最新话题
Latest news
Latest news
Simon Willison's Weblog
Simon Willison's Weblog
罗磊的独立博客
A
Arctic Wolf
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
S
Secure Thoughts
S
Securelist
Stack Overflow Blog
Stack Overflow Blog
T
Troy Hunt's Blog
Recorded Future
Recorded Future
I
InfoQ
The Cloudflare Blog
H
Heimdal Security Blog
Hugging Face - Blog
Hugging Face - Blog

Wiz Blog | RSS feed

Meet Wiz for M365: Bringing SaaS into the Security Graph How to Harden GitHub Actions: An Updated Guide Bringing Security Visibility to Vercel with Wiz Axios NPM Distribution Compromised in Supply Chain Attack Tracking TeamPCP: Investigating Post-Compromise Attacks Seen in the Wild The Wiz Blue Agent, now Generally Available Beyond the Badge: What Achieving Microsoft’s Certified Software Designation Means for Your Cloud Security Introducing the Green Agent: AI-Powered Remediation for the Cloud Three’s a Crowd: TeamPCP trojanizes LiteLLM in Continuation of Campaign KICS GitHub Action Compromised: TeamPCP Strikes Again in Supply Chain Attack Introducing the Wiz Red Agent- AI-Powered Attacker Introducing Wiz AI Application Protection Platform (AI-APP) Introducing Wiz Agents & Workflows: Security at the Speed of AI AI Runtime Threat Detection: From Input to Real-World Impact Trivy Compromised: Everything You Need to Know about the Latest Supply Chain Attack It’s Official: Wiz Joins Google Understanding and Reducing AI Risk in Modern Applications Introducing Wiz Tenant Manager: Multi-Tenant Management for Federated Organizations The Agile FedRAMP Playbook, Part 4: Reactive Risk Management through Enriched Incident Response Wiz Achieves CPSTIC Certification in Spain Seeing AI Clearly: Building Visibility Across Modern AI Applications The Agile FedRAMP Playbook, Part 3: Preventative Risk Management by building Secure by Design Wiz Leads the 2026 Latio Application Security Report with awards in 4 categories Building an Agentic Cloud Security Ecosystem: A Reference Architecture with Wiz MCP and Infosys Cyber Next The Agile FedRAMP Playbook, Part 2: Proactive Risk Management with Continuous Monitoring Cloud-native Security for your Windows environment: Announcing the Wiz Runtime Sensor for Windows Would You Click ‘Accept’? Automatically detecting malicious Azure OAuth applications using LLMs Wiz Named a Leader in The Forrester Wave™: Cloud Native Application Protection Solutions, Q1 2026 From Detection to Remediation: It’s Time to Rethink AppSec Around Exploitability and Root Cause Fixes The Agile FedRAMP Playbook, Part 1: Why Risk is Your Best Starting Point Introducing AI Cyber Model Arena: A Real-World Benchmark for AI Agents in Cybersecurity Wiz + Spotify Backstage: Security at the Developer’s Desk Building AI Security Together: New Ways to Partner with Wiz for AI Security in 2026 Hacking Moltbook: The AI Social Network Any Human Can Control The Year in Wiz Research: 2025 Most Read Blogs WizExtend is Here: AI and Cloud Security Insights in Your Daily Workflow From Detection to Remediation: Wiz in Your JetBrains IDE Agentic Browser Security: 2025 Year-End Review CodeBreach: Infiltrating the AWS Console Supply Chain and Hijacking AWS GitHub Repositories via CodeBuild A 90-Day Action Plan to Turn Resolutions into Results with Wiz Introducing the Wiz Partner Alliance: A New Chapter for Partner Success Preparing for Post-Quantum Cryptography Wiz Recognized as a 2025 Customers’ Choice in the Gartner® Peer Insights™ Voice of the Customer for CNAPP Expanding the Zero Critical Club to set a new standard for AppSec and SecOps teams Snipping the Long Tail of Shai-Hulud 2.0 Protecting Against Zero-Day Vulnerabilities with SOC-Level ASM Alert MongoBleed (CVE-2025-14847) exploited in the wild: everything you need to know The Kenna Transition: Your Strategic Shift to Exposure Management From MCP to Vibe Coding: Full Endpoint Visibility in Wiz AI Security Bringing Oracle Cloud Identity to Wiz Zero‑Days in the Age of AI: Behind the Scenes of ZeroDay.cloud 2025, with a Record High of CVEs in Critical Cloud Infra Gogs 0-Day Exploited in the Wild Code to Cloud Attacks: From Github PAT to Cloud Control Plane Top AWS re:Invent Announcements for Security Teams in 2025 React2Shell: Technical Deep-Dive & In-the-Wild Exploitation of CVE-2025-55182 React2Shell (CVE-2025-55182): Everything You Need to Know About the Critical React Vulnerability Wiz Product Announcements at re:Invent 2025: Expanding Visibility from Code to Cloud Introducing Wiz SAST: Where Code Risk Meets Cloud Context Wiz Becomes Fastest Security ISV to Reach $1 Billion in AWS Marketplace Lifetime Sales It's Here! Wiz Exposure Management is Now GA Shai-Hulud 2.0 Aftermath: Trends, Victimology and Impact Service Catalog is Here: Expand Risk Visibility for Your Service and Its Dependencies, Simplify Issue Ownership WizOS: Powering Secured Image Adoption with AI 3 OAuth TTPs Seen This Month — and How to Detect Them with Entra ID Logs Mastering Software Governance with Hosted Technologies Inventory Shai-Hulud 2.0 Supply Chain Attack: 25K+ Repos Exposing Secrets Get Certified on Wiz Defend for Threat Detection and Response Blueprint for Security: A Guide to Code, Governance, and Response Frameworks Google Unified Security Recommended Program Names Wiz Among First 3 Strategic Partners Introducing Posture Issues: Transform Security Findings into Actionable Outcomes Empower and Accelerate Your SOC with the Blue Agent Exposure Report: 65% of Leading AI Companies Found with Verified Secret Leaks Wizdom 2025 Product Announcements: Extending the Cloud Operating Model When AI Becomes the Heart of Security: Powering a Future You Can Trust AI-Powered Wiz: From Agents to Everyday Intelligence Defend Agentless Workload Detection: Bringing Visibility to Blind Spots in Threat Detection Securing AI Agents with Wiz AI-SPM Introducing Wiz ASM: Context-Driven Attack Surface Management Securing Critical Infrastructure in the Cloud Era: A Policy and Technology Blueprint How CISOs Should Plan Security Budgets for 2026 Beyond the Checkbox: How Wiz Transforms SOC 2 into a Security Powerhouse Bringing Visibility to Kubernetes: Unified Inventory and Network Insight The Foundation Modern AppSec Is Still Missing: Code to Cloud, Rebuilt the Right Way Dismantling a Critical Supply Chain Risk in VSCode Extension Marketplaces Introducing HoneyBee: How We Automate Honeypot Deployment for Threat Research RediShell: Critical Remote Code Execution Vulnerability (CVE-2025-49844) in Redis, 10 CVSS score Defending against database ransomware attacks AI Security 101: Mapping the AI Attack Surface Introducing zeroday.cloud: First-of-its-kind cloud and AI hacking competition Unifying Cloud Risk and Network Defense: Wiz and Check Point The emerging use of malware invoking AI Wiz achieves FedRAMP High authorization Wiz + HCP Terraform: Close the IaC-to-Cloud Infrastructure Security Gap IMDS Abused: Hunting Rare Behaviors to Uncover Exploits Beyond CVEs: The Exploitation of Everyday Misconfigurations Wiz Research Discovers One in Five Organizations Exposed to Systemic Risks in Vibe-Coded Applications - Here's How to Secure Them Introducing Wiz Incident Response: Your Expert Partner for Cloud Security Incidents Shai-Hulud: Ongoing Package Supply Chain Worm Delivering Data-Stealing Malware DORA Compliance in the Cloud Era: Insights from Deloitte and Wiz How Wiz Customers like Brex and FICO See AI Changing Security
How to use AWS Resource Control Policies
Scott Piper · 2024-11-28 · via Wiz Blog | RSS feed

AWS recently released RCPs (Resource Control Policies) which are the resource policy equivalent to SCPs (Service Control Policies). These allow you to set limitations across your entire AWS Organization on who can access your resources (or how), even when those principals are outside of your Organization. As an example, you could say that no one outside your Organization can access your S3 buckets, so even if someone in your Organization made an S3 bucket policy that should make it public, it would not actually be public. In this post we’ll discuss some use cases and how you can deploy them safely. 

If you’re already familiar with SCPs, then RCPs are simply a variation of that. They have length limits, just like SCPs. They don’t grant any privileges, but only define constraints, just like SCPs. They have various restrictions on the elements that can be used versus full IAM syntax, just like SCPs. They can be applied to the entire AWS Organization, or OUs, or individual accounts, just like SCPs.  

Sample use cases for RCPs 

There are two general problems with resource policies on AWS that RCPs can help with.  

  • Control over resource sharing: There hasn’t been a way to give someone the ability to modify a resource policy, but not let them share the resource too broadly. For example, you may wish to allow someone to be able to share resources between two different accounts that belong to your company, but not make that resource public. This is now possible. With S3 buckets, AWS did add S3 Public Block Access which could be used to prevent someone from making an S3 bucket accessible to everyone, but that didn’t prevent them from sharing it with a single unknown external account, and it didn’t help for other resource types.  

  • Policy standards across resources: There are some statements people wished all their resource policies had, but there was no way to enforce this. For example, you may wish to require all S3 buckets to be accessed via TLS 1.3 (a similar policy is discussed here). Previously, you would need to add a statement to every S3 bucket to deny access from anything less, but now you can create a single RCP that is applied across your entire organization. 

Generally speaking, until now you could not enforce mandates across your company on resource policies. Some companies have tried using auto-remediation for this problem, but RCPs offer benefits over that and other solutions, in that there is no window of potential abuse. 

Data perimeter 

An important use-case of RCPs is for setting up data perimeters. RCPs don’t add any capabilities that an existing data perimeter strategy couldn’t already have, but it makes it easier and better ensures coverage of the strategy. Previously you would need to ensure that every resource policy contained certain statements, but now you can set those statements via RCPs.  

AWS’s data-perimeter-policy-examples repository has been updated to include sample policies. It is highly recommended you review the sample policies there. I’ll discuss two of the capabilities.  

Prevent unknown accounts from assuming IAM roles 

One of the statements from the data perimeter example policies has the statement ID EnforceOrgIdentities. This contains very useful functionality to ensure that only your own accounts, or known vendors, can assume IAM roles into your accounts. Here is a simplified version of the policy that only includes this functionality:

This ensures that the IAM roles in your accounts can only be assumed by a principal within your organization, or third-party vendors that you might want to approve. So even if someone makes an IAM Role with a policy that should make it publicly assumable, it will be limited to access only from accounts you trust. This is very useful because it prevents two common problems: 

  1. It prevents someone from allowing an unexpected vendor to access their account.  

  2. It prevents someone allowing some form of shadow IT to access their account. This could be a personal AWS account that they use for testing that they decided to let access the production AWS environment, or an AWS account with a more legitimate business use case, but that someone setup outside of the Organization. 

The full statement in the data perimeter repo prevents many other types of access beyond just sts:AssumeRole as I’ve shown, but is necessarily more complex as a result.  

Restrict OIDC access 

Another very useful statement from the data perimeter repository is EnforceTrustedOIDCTenants. With this, you can limit what type of OIDC access is allowed into your environment, which is another way vendors or tools you use may access your environment. In a previous blog, we discussed a misconfiguration that is no longer possible where someone could leave out a sub condition in their IAM role trust policy when setting up an OIDC integration with GitHub Actions. That condition is supposed to be used to restrict access to a specific GitHub organization, repo, and branch, but someone could still use a conditional check that matches any GitHub organization, repo, and branch, by using a StringLike and a value of “*”

The following statements first ensure that only GitHub Actions can be used as an OIDC provider. You can add more providers to that statement as needed. The next statement restricts GitHub Action access from only the GitHub organization octo-org (you will need to replace this). Even if someone did not configure their IAM role trust policy correctly, the risk of exploitation is reduced by doing this. Similar RCPs can be made for many other OIDC integrations.

The data perimeter repo from AWS contains a few other use cases for RCPs that should be reviewed, along with the README for that directory. 

Prevent undesired actions when performed by external accounts 

One gotcha with SCPs is that they do not apply to principals outside of your Organization, but RCPs do, so sometimes people try to use SCPs to prevent things that may be circumvented by using an external account.  

For example, if we have an important S3 bucket, we may wish to prevent anyone from deleting the objects in it. You could use S3 Object Lock, but imagine someone uses an SCP in their Org to prevent s3:DeleteObject and s3:PutBucketLifecycleConfiguration. They might have a false sense of security with this because if an attacker gains Administrator access to the AWS account containing the S3 bucket, they could set the bucket policy to grant s3:* to an attacker owned account. Then from the attacker owned account, they could delete the objects in the bucket, because the SCP will not impact them.  

With RCPs, you can ensure that no one, not even in an account outside of the Organization, can delete objects in the bucket. Further, you can ensure that the bucket cannot be shared outside of the Organization in the first place.  
 

Deploying RCPs 

Deploying RCPs should be done much like SCPs. RCPs, like SCPs, do not have a “dry-run” or “audit” mode to be able to see what might break before the policy is enforced, so you should review existing access patterns. For example, if you plan to prevent public access to S3 buckets, you should ensure you do not have S3 buckets that must be public.  

One helpful technique is to review Access Analyzer to understand which resources are currently public or shared externally. This blog post from AWS describes how Access Analyzer can be used to review access to S3 buckets, but Access Analyzer now supports 15 services. RCPs however only support 5 services currently (s3, sts, sqs, secretsmanager, and kms), but all of them are covered by Access Analyzer. 

Access Analyzer can tell you which external principals have been granted access to resources, but not how they are allowed to access them, so depending on the RCP you wish to enforce, you may need to investigate further. CloudTrail events may help here, but be aware that CloudTrail does not record data events by default.

In addition to reviewing logs before you deploy an RCP, you should also review them afterward to see what may have broken. You should know what type of access should work, and what should be prevented, so you know what those error events look like and to ensure the RCP is preventing the type of access you expect.  

RCPs can be applied to individual accounts, OUs, or entire Organizations, just like SCPs. Similar to SCP deployments, you should test the RCP thoroughly in a sandbox account, and perform a rolling deployment where you promote the RCP from being applied to that individual sandbox account, to dev environments, then staging environments, and then production environments, and you may wish to apply it only to groups of production environments at a time.   

The purpose of doing the deployment like this is to try to catch any problems before you cause a production outage, and to limit the blast radius of a possible production outage. Applying an RCP to a production account is just like any other production change.  

One thing to be aware of with RCPs – which is obvious, but I worry will eventually bite someone – is that if an RCP is your sole protection against an issue, then removal or modification of that RCP could result in a security incident.  

For example, if someone had misconfigured an IAM role with a trust policy that made it publicly assumable, but was protected by an RCP that restricted access to only accounts in the Organization, then removal of that RCP would allow an attacker to assume that role. This could happen if the RCP was modified or removed, or if the AWS account that was being protected is moved to another OU or AWS Organization entirely.  The RCP is not going to travel with the account, so you need to ensure you continue applying the RCP to wherever it goes, or you need to copy the RCP protections into the resource policies of the resources within the account that is being protected. 

Another thing to be aware of is that like SCPs, when an RCP prevents an action, in the testing I did, the error message is only a generic AccessDenied, and does not indicate that an RCP prevented the action from succeeding. This will make trouble-shooting difficult for engineers that are not aware of the RCPs that are being applied to the accounts they work in.  

Conclusion 

RCPs are a very helpful addition for ensuring guardrails are applied to all resources in an AWS Organization. Similar to SCPs, however, their deployment should be well tested and not deployed across the Organization all at once, or you will risk breaking things.