GCP_CAN_SET_ORG_IAMPOLICY
Summary
FSProtect ACL Alias
GCP_CAN_SET_ORG_IAMPOLICY
GCP Alias
IAM & Hierarchy Control
Affected Object Types
Organizations
Exploitation Certainty
Certain
Granting Roles
roles/owner, roles/resourcemanager.organizationAdmin, roles/iam.securityAdmin
Description
GCP_CAN_SET_ORG_IAMPOLICY indicates that an identity can call setIamPolicy on the GCP Organization resource. This is the highest-privilege IAM write operation in the GCP resource hierarchy — a principal with this edge can grant any role to any identity at the organization root, which propagates down to every folder and project beneath it.
An attacker who obtains this permission can instantly escalate to full organization control by granting themselves (or a backdoor identity) roles/owner at the org level, effectively compromising every resource in the organization.
Key abuse scenarios:
Grant
roles/ownerto a controlled identity at org scope.Add an external attacker-controlled service account as
roles/resourcemanager.organizationAdmin.Grant
roles/iam.serviceAccountTokenCreatoron a high-privilege SA to enable token generation from anywhere.
Identification
gcloud CLI
GCP Console
Open GCP Console → IAM & Admin → IAM.
Select the Organization from the resource selector at the top.
Review all principals with
Owner,Organization Admin, orSecurity Adminroles.
Exploitation
With setIamPolicy on the organization, an attacker can grant themselves or a backdoor identity any role organization-wide.
gcloud CLI
Compound path: GCP_CAN_SET_ORG_IAMPOLICY → grant roles/iam.serviceAccountTokenCreator on a high-privilege SA → GCP_CAN_IMPERSONATE_SA → full org access via token generation.
Mitigation
Restrict org IAM admin roles to break-glass accounts only: Remove
roles/owner,roles/resourcemanager.organizationAdmin, androles/iam.securityAdminfrom user accounts where not strictly required.Enable
constraints/iam.managed.allowedPolicyMembersorg policy — restrict IAM bindings to your organization's domain.Audit org-level bindings regularly.
Enable VPC Service Controls and Access Context Manager to contain blast radius even if org IAM is compromised.
Detection
Monitor Cloud Audit Logs for SetIamPolicy calls on organization resources.
Admin Activity
SetOrgPolicy SetIamPolicy
resource.type=organization, methodName=SetIamPolicy
Data Access
IAM policy reads
methodName=GetIamPolicy on org
Alert on:
Any
SetIamPolicycall on the organization resource.New bindings adding
roles/owner,roles/resourcemanager.organizationAdmin, orroles/iam.securityAdminat org scope.
References
https://cloud.google.com/resource-manager/docs/access-control-org
Last updated
Was this helpful?