Prerequisites
Enable these APIs in the project where the scanner SA will live (and across the org for org scope):- Cloud Asset Inventory (
cloudasset.googleapis.com) — the primary config + IAM read API - IAM (
iam.googleapis.com) - Cloud Logging (
logging.googleapis.com) - Cloud Resource Manager (
cloudresourcemanager.googleapis.com)
Install
- Cloud Shell (recommended)
- Terraform
- Manual (gcloud)
The fastest path: run the connect script in Cloud Shell, which has The script prompts for scope (organization or project) and your org/project id, applies the
module, and prints the
gcloud and terraform
preinstalled and is already authenticated as you.connector_config to paste into the app.You can also use Open in Cloud Shell from Settings → Cloud connectors in the app,
which opens Cloud Shell with the command pre-filled.
Register the connector
Afterapply, copy the connector_config output (a JSON blob) and paste it into the app:
Settings → Cloud connectors → Connect GCP
0Labs runs a read-only connectivity test before saving. Nothing is scanned until it passes and you
confirm. Saving the connector automatically creates the daily scan schedule.
Verify the connection
The connectivity test returns a per-check result. Three checks must pass; one is best-effort.| Check | Required | What it proves |
|---|---|---|
impersonation | Yes | The keyless token-creator binding works — 0Labs can mint a short-lived token as your scanner SA. |
asset_inventory | Yes | Cloud Asset Inventory is reachable — the primary config + IAM read API. |
logging | Yes | Cloud Logging read works — connectivity + audit-config visibility. |
scc | Best-effort | Security Command Center, if you run SCC Standard/Premium. OK to fail — it does not block activation. |
If
impersonation fails, it’s almost always IAM propagation (wait ~2 minutes) or a
domain-restricted-sharing org policy. See Troubleshooting.