GCP_CAN_DISABLE_ORG_POLICY

Summary

FSProtect ACL Alias

GCP_CAN_DISABLE_ORG_POLICY

GCP Alias

Guardrail Bypass & Destruction

Affected Object Types

Organizations, Folders, Projects

Exploitation Certainty

Certain

Granting Roles

roles/orgpolicy.policyAdmin

Description

GCP_CAN_DISABLE_ORG_POLICY indicates that an identity can create, modify, or delete Organization Policy constraints on GCP resources. Organization Policies are preventive controls enforced by the GCP platform itself — they restrict what actions can be taken regardless of IAM permissions. A user with the right IAM roles but blocked by an org policy cannot perform the action; disabling the policy removes that guardrail entirely.

This edge is often the key that unlocks other escalation paths. An attacker who is blocked from creating SA keys, adding external identities to IAM, or deploying to unrestricted regions can use GCP_CAN_DISABLE_ORG_POLICY to silently lift those restrictions before executing the primary attack.

Key abuse scenarios:

  • Disable constraints/iam.disableServiceAccountKeyCreation → create long-lived SA keys for persistence.

  • Disable constraints/iam.allowedPolicyMemberDomains → add external (non-org) identities to IAM policies.

  • Disable constraints/compute.requireOsLogin → use legacy SSH key-based access to VMs.

  • Disable constraints/gcp.resourceLocations → deploy resources to unrestricted regions for data exfiltration.

Identification

gcloud CLI

GCP Console

  1. Open GCP ConsoleIAM & AdminOrganization Policies.

  2. Review which constraints are enforced and at what scope (org, folder, project).

  3. Check IAM & AdminIAM for principals with Organization Policy Administrator.

Exploitation

gcloud CLI

Disable domain restriction to add external identities to IAM:

Compound path: GCP_CAN_DISABLE_ORG_POLICY → disable iam.disableServiceAccountKeyCreationGCP_CAN_CREATE_SA_KEYS → long-lived credential persistence on a privileged SA.

Mitigation

  1. Restrict roles/orgpolicy.policyAdmin — assign to at most one dedicated admin account with MFA enforcement; never to developer or automation identities.

  2. Set security-critical constraints at the organization root — project-level overrides can be prevented with constraints/orgpolicy.disableOrgPolicyProtection (where available).

  3. Treat org policy changes as security events — monitor with the same urgency as IAM changes; a policy relaxation often precedes a broader attack.

  4. Review all project-level overrides — any project policy that is less restrictive than the org-level policy should be documented and justified.

Detection

Log Type
Method
Key Fields

Admin Activity

CreatePolicy UpdatePolicy DeletePolicy SetOrgPolicy

resource.type=organization/folder/project, constraint name

Alert on:

  • Any CreatePolicy, UpdatePolicy, DeletePolicy, SetOrgPolicy calls that relaxes or resets a security-relevant constraint.

  • Policy changes on constraints related to SA key creation, domain restriction, OS Login, resource locations, or VPC SC.

  • Policy operations by identities outside of the known infrastructure automation pipeline.

References

  • https://cloud.google.com/resource-manager/docs/organization-policy/overview

  • https://cloud.google.com/resource-manager/docs/organization-policy/org-policy-constraints

Last updated

Was this helpful?