Connect one Google Cloud root.
Create a dedicated customer-owned service account, grant two predefined roles, and let the Sythe Labs platform read one complete Cloud Asset Inventory boundary without changing Google Cloud.
Two bounded reads through the Google SDK.
The connector authenticates the uploaded service-account JSON in memory, then uses the Google APIs Node.js Client to call Cloud Asset Inventory v1 assets.list. It requests only RESOURCE and IAM_POLICY content and follows pagination until Google returns an empty next-page token.
Keep the account, key, and console under customer control.
The customer creates and controls the service account. Do not send its JSON key to Sythe Labs staff, paste it into a support request, or ask staff to enter the Google Cloud console.
- 01
One authoritative organization, folder, or project root for the inventory boundary.
- 02
A customer-owned project where the dedicated service account and Cloud Asset Inventory API will live.
- 03
Permission to create a service account, grant two predefined roles, and create a JSON key when organization policy permits it.
- 04
Organization administrator access to the signed-in Sythe Labs platform Integrations page.
Grant two predefined roles, then upload one JSON key.
Steps 3 to 7 are ordinary gcloud commands. Copy the prompt below into a CLI coding agent and it asks you for the two choices in steps 1 and 2, then runs those commands against your own already-authenticated gcloud session. Steps 8 to 10 stay manual: only you upload the JSON key, from the signed-in Integrations page.
- 01
Choose the authoritative organization, folder, or project root and copy its canonical resource name.
- 02
Choose or create the customer-owned project that will own the dedicated service account.
- 03
Enable the Cloud Asset Inventory API in the service-account project.
- 04
Create a dedicated service account for the Sythe Labs platform connection.
- 05
Grant Service Usage Consumer to that service account in the project that owns it.
- 06
Grant Cloud Asset Viewer to that service account at the selected organization, folder, or project root with inherited coverage for every intended child resource.
- 07
Create and download one JSON key for the service account if organization policy permits user-managed keys.
- 08
Open the signed-in Integrations page, choose Google Cloud, enter the canonical root, and select the JSON key file.
- 09
Confirm that the Cloud Asset Viewer assignment covers the selected root and every child resource intended for inventory.
- 10
Connect, then use the status page to confirm the initial complete sync.
Nine RESOURCE types, one IAM_POLICY type, and four checks.
The connector supplies these exact asset-type filters to the two Cloud Asset Inventory reads. It does not request an unbounded asset catalog.
Seven types become inventory
Compute Engine virtual machine
compute.googleapis.com/Instancecompute-instance / iaas
Compute Engine persistent block storage
compute.googleapis.com/Diskblock-storage / iaas
Cloud Run managed application service
run.googleapis.com/Serviceserverless-service / paas
Google Kubernetes Engine managed cluster
container.googleapis.com/Clustercontainer-orchestration / paas
Cloud Storage object bucket
storage.googleapis.com/Bucketobject-storage / iaas
Cloud SQL managed database instance
sqladmin.googleapis.com/Instancemanaged-database / paas
Artifact Registry managed repository
artifactregistry.googleapis.com/Repositoryartifact-registry / paas
Supporting configuration checks
Public SSH ingress on Compute Engine firewall rules
Public Cloud Storage bucket IAM
Cloud Storage bucket versioning or retention protection
Automated Cloud SQL backups
Project and firewall assets support lookup and checks but do not become inventory rows. The connector does not call Compute Engine, Cloud Storage, Cloud SQL, Resource Manager, export, feed, or search APIs. A failed or incomplete CAI family preserves the prior complete inventory and never produces a false pass.
The customer controls replacement and revocation.
The Sythe Labs platform stores the uploaded JSON as an encrypted opaque secret and uses it only for the bounded SDK operations in this guide. Google Cloud remains the source of truth for key status and revocation.
Resolve the stable reason shown in the signed-in status page.
Match the reason code to the customer-owned action below. Keep a safe request identifier for support, but never copy a service-account key or raw provider response into a message.