Setting up a GCP Integration
Last updated
Was this helpful?
Last updated
Was this helpful?
At the moment, CloudQuery Platform only supports authentication with GCP through Service Accounts. This document explains the steps in this process.
CloudQuery will use a Service Account to read resources from your GCP environment. Follow these steps to set up a new Service Account with read-only access:
Open
Select the project to create the service account in (we can assign access to other projects later)
Click Create Service Account
Enter the details:
Service account display name, e.g. CloudQuery Readonly
Service account ID, e.g. cloudquery-readonly
A description to help you and others identify the purpose of this service account later, e.g. Service account for CloudQuery to fetch resources in GCP
Click Create and Continue
Under Basic, Select Viewer
role for the service account.
Click Continue and Done.
You should now see the new service account in the list. Click on it, and go to the Keys tab. Click Add Key → Create New Key
Select JSON and click Create. This will download a file to your computer. You will need this when setting up the integration later.
To sync resources across all our GCP projects, we can grant the required access to the service account we just created. Depending on your case, you may want do this on the organization-level, or on the folder level.
In the Console Project selection screen, select your top-level Organization (or folder)
Go to IAM and Admin / IAM, and click Grant Access
Paste the email address of the service account we created above in the New Principals textbox. Again, assign a Viewer role.
Click Save
Similar to the process for Organizations and folders described above, you can also follow the same steps to add individual projects for CloudQuery to sync, if desired. This is not required if you already followed the steps for organizations or folders above.
In the Console Project selection screen, select the relevant project
Go to IAM and Admin / IAM, and click Grant Access
Paste the email address of the service account we created above in the New Principals textbox. Again, assign a Viewer role.
Click Save
In CloudQuery Platform, go to Data Pipelines → Integrations. Click Create Integration and type GCP to find the GCP integration.
Choose a name for your integration (e.g. GCP) and update the YAML to add an entry for service_account_key_json:
Add a new secret with Key service_account_key_json
In a text editor, open the JSON file you downloaded from GCP in Step 1, and copy-paste the contents into the Value field:
Click Test Connection
You may want to make further adjustments to your YAML file, according to your requirements. For more information, see the
With your GCP integration created, you can now proceed to use it in a . This will give you the opportunity to specify when your GCP sync should be run, and to which destination databases.