Skip to main content
0Labs scans your GCP via a read-only, least-privilege scanner service account that lives in your project. 0Labs impersonates it keyless — no service-account keys are ever created or shared, and you revoke access anytime by removing a single IAM binding. The full, exact permission set is in Permissions. There are zero write/mutate verbs.

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)
You also need permission to create a custom role + service account and bind IAM (Owner, or the relevant IAM admin roles) in the target org/project.

Install

Register the connector

After apply, 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.
CheckRequiredWhat it proves
impersonationYesThe keyless token-creator binding works — 0Labs can mint a short-lived token as your scanner SA.
asset_inventoryYesCloud Asset Inventory is reachable — the primary config + IAM read API.
loggingYesCloud Logging read works — connectivity + audit-config visibility.
sccBest-effortSecurity Command Center, if you run SCC Standard/Premium. OK to fail — it does not block activation.
To get results immediately instead of waiting for the daily cron, an admin can trigger the first scan on demand:
curl -X POST -H "Authorization: Bearer $TOKEN" \
  "https://api.0labs.ai/admin/posture-review?connector_id=<id>"
If impersonation fails, it’s almost always IAM propagation (wait ~2 minutes) or a domain-restricted-sharing org policy. See Troubleshooting.