Onboard Google Cloud
Grant org-level Cloud Asset and related viewer roles to a CloudPulse service account, set up Workload Identity Federation for production, then register the organization in CloudPulse.
Prerequisites
- Organization Admin (or equivalent) to bind IAM on the org and host project.
- Organization ID, host project ID, and project number.
- Optional: Cloud Billing account ID and a BigQuery dataset for billing export.
Steps
- Accounts → Add GCP. Enter display name, organization ID, host project ID, and project number.
-
Download the customer setup script
(
cloudpulse-gcp-customer-setup.ps1. Run it with org + host project parameters. It creates or reuses the CloudPulse service account, enables required APIs on the host project, and binds org IAM (Cloud Asset Viewer and additional viewers CloudPulse needs). Re-runs are idempotent (get-then-add). - Workload Identity Federation (production). The setup script configures a WIF pool/provider so CloudPulse’s Azure managed identity can impersonate that service account. No service-account JSON key is stored in production.
-
Optional — billing export.
In Google Cloud Console Billing, keep Standard usage cost export enabled to BigQuery (required for Cost Explorer, CUD analysis, and credits). Grant the CloudPulse SA
roles/bigquery.dataVieweron the export dataset only, androles/billing.vieweron the billing account when prompted by the script. - Optional — Security Command Center. If you want SCC Findings in CloudPulse, enable the findings viewer role (Wave2 flag on the setup script) and the Security Center API on the host project.
- Save the account in CloudPulse (federated / WIF — no private key paste in production). When data is ready, open GCP Insights (projects, networking, CUDs, exposure, and so on).
You vs CloudPulse support
| You | CloudPulse support |
|---|---|
| Run customer setup; confirm WIF; configure Standard BQ export; paste org/project ids. | Provide Azure federation IDs for WIF; help map billing accounts that sit outside the org. |
API
GET /v1/accounts/gcp-setup-script?organization_id=…&host_project_id=…
GET /v1/accounts/{account_id}/gcp-setup-script
Production API rejects service-account
private_key material. Use WIF only for hosted CloudPulse.