Skip to main content

Google Cloud IAM (Organization Level)

Description

The Google Cloud IAM connector scans IAM policy bindings at the organization and folder level within a Google Cloud organization. It complements the project-level GCP connector by discovering who has permissions across the entire organization hierarchy — identifying members (users, service accounts, groups) with elevated organization-wide or folder-wide IAM roles.

Authentication uses the same OAuth 2.0 JWT service-account flow as the GCP connector.

System Type Classification

FieldValue
System TypeInfrastructure
Default Scan Priority500

Version Support

OrbisID EditionSupported
CommunityNo
ProYes
EnterpriseYes

Supported Protocol

ProtocolPortNotes
Google Cloud Resource Manager REST API (HTTPS + OAuth 2.0 JWT)443 TCPService account bearer flow

What OrbisID Discovers

DataSource
Organization IAM policy members and role bindingsPOST /v3/organizations/{orgId}:getIamPolicy
Top-level foldersGET /v3/folders?parent=organizations/{orgId}
Folder IAM policy bindingsPOST /v3/folders/{folderId}:getIamPolicy
IAM members by typeuser:, serviceAccount:, group: prefixes extracted from bindings

Privileged Roles Detected

roles/owner, roles/editor, roles/iam.securityAdmin, roles/iam.roleAdmin, roles/resourcemanager.organizationAdmin, roles/resourcemanager.folderAdmin, roles/resourcemanager.projectIamAdmin, roles/iam.serviceAccountAdmin, roles/billing.admin

Difference from the GCP Connector

FeatureGCP ConnectorGoogle Cloud IAM Connector
ScopeSingle projectEntire organization + folders
Primary discoveryService accounts, project IAM policyMembers across org and folder IAM policies
AttributegcpProjectIdgoogleCloudOrgId
Use caseProject-level privilege discoveryOrg-wide privilege discovery

Connection Requirements

GCP Service Account

Create a dedicated GCP service account and grant it organization-level IAM read access.

Required IAM permissions at the organization level:

PermissionPurpose
resourcemanager.organizations.getIamPolicyRead the organization IAM policy
resourcemanager.folders.listEnumerate top-level folders
resourcemanager.folders.getIamPolicyRead IAM policies on folders

Recommended role: roles/iam.securityReviewer at the organization level.

Steps:

  1. In the GCP Console, navigate to IAM & Admin → Service Accounts
  2. Create a service account (e.g., orbisid-org-scanner@project.iam.gserviceaccount.com)
  3. At the Organization level in IAM, grant this service account the Security Reviewer role
  4. Under the service account, click Keys → Add Key → JSON and download the key file
  5. Extract private_key and private_key_id from the JSON file

Credential Mapping

OrbisID FieldGCP Value
credential.usernameService account email
credential.passwordService account private key (PEM)
credential.domainPrivate key ID (optional)

System Attributes

AttributeRequiredDescription
googleCloudOrgIdYesGoogle Cloud organization ID (numeric, found in IAM & Admin → Settings)

Network Requirements

The OrbisID server (or On-Premise Agent) must have outbound HTTPS access to oauth2.googleapis.com and cloudresourcemanager.googleapis.com on port 443.

Configuration Steps

  1. Create the GCP service account and grant Security Reviewer at the organization level
  2. Download the JSON key and extract private_key and private_key_id
  3. Create a Credential in OrbisID:
    • Username: Service account email
    • Password: Private key PEM (full -----BEGIN RSA PRIVATE KEY----- block)
    • Domain: Private key ID (optional)
  4. Navigate to Systems → Add System
  5. Fill in the fields:
FieldValue
NameDescriptive name (e.g., Google Cloud IAM – my-org)
Hostnamecloudresourcemanager.googleapis.com (for reference)
OS TypeGoogle Cloud IAM
System TypeInfrastructure
CredentialThe service account credential
  1. Add the googleCloudOrgId system attribute with the numeric organization ID
  2. Click Test Connection to verify the service account can obtain a token
  3. Click Save

Troubleshooting

SymptomLikely CauseResolution
Scan fails: "googleCloudOrgId is required"Attribute not setAdd googleCloudOrgId in system attributes
403 PERMISSION_DENIED on org policyMissing resourcemanager.organizations.getIamPolicyGrant Security Reviewer at the organization level in GCP IAM
403 PERMISSION_DENIED on folder listMissing resourcemanager.folders.listIncluded in Security Reviewer — verify the role is granted at org level
Token error / invalid_grantPrivate key revoked or malformedRe-download the JSON key file; ensure the PEM is complete
No members returnedOrg has no IAM bindings at org/folder levelVerify googleCloudOrgId is correct; check the IAM policy in GCP Console