RCP evaluation - AWS Organizations

RCP evaluation

Note

The information in this section does not apply to management policy types, including backup policies, tag policies, chatbot policies, or AI services opt-out policies. For more information, see Understanding management policy inheritance.

As you can attach multiple resource control policies (RCPs) at different levels in AWS Organizations, understanding how RCPs are evaluated can help you write RCPs that yield the right outcome.

Strategy for using RCPs

The RCPFullAWSAccess policy is an AWS managed policy. It is automatically attached to the organization root, every OU, and every account in your organization, when you enable resource control policies (RCPs). You cannot detach this policy. This default RCP allows all principals and actions access to pass through RCP evaluation, meaning until you start creating and attaching RCPs, all your existing IAM permissions continue to operate as they did. This AWS managed policy does not grant access.

You can make use of Deny statements to block access to resources in your organization. For a permission to be denied for a resource in a specific account, any RCP from the root through each OU in the direct path to the account (including the target account itself) can deny that permission.

Deny statements are a powerful way to implement restrictions that should be true for a broader part of your organization. For example, you can attach a policy to help prevent identities external to your organization from accessing your resources root level, and that will be effective for all accounts in the organization. AWS strongly recommends that you don't attach RCPs to the root of your organization without thoroughly testing the impact that the policy has on resources in your accounts. For more information, see Testing effects of RCPs.

In Figure 1, there is an RCP attached to the Production OU that has an explicit Deny statement specified for a given service. As a result, both Account A and Account B will be denied access to the service as a deny policy attached to any level in the organization is evaluated for all the OUs and member accounts underneath it.

Organizational structure showing Root, OUs, and member accounts with policy inheritance.

Figure 1: Example organization structure with an Deny statement attached at Production OU and its impact on Account A and Account B