Skip to main content
GCP credentials store a service account key that Ankra uses to estimate the infrastructure cost of your clusters, discover clusters, and provision Google Kubernetes Engine (GKE). There are two access levels, and you choose which one to grant:
  • Read-only - cost estimates and cluster discovery only. Ankra never modifies resources.
  • GKE provisioning - everything read-only does, plus creating and managing GKE clusters.
The key is validated against the GCP Cloud Resource Manager API when you save it, so an invalid key or a project the service account can’t read is rejected immediately.

What Ankra Accesses

For cost estimation and discovery, Ankra calls three Google APIs with the service account, all read-only: Provisioning GKE additionally uses:

Creating a GCP Credential

Pick the tab that matches what you want the credential to do. Each flow is complete - follow one from top to bottom.
Grants the Viewer role (roles/viewer) only. Ankra can price your nodes and discover clusters, but cannot create or change anything.
1

Enable the required APIs

In the Google Cloud Console, select your project and enable the Cloud Resource Manager API, Cloud Billing API, and Compute Engine API.Or with the gcloud CLI:
2

Create a read-only service account

  1. Go to IAM & AdminService AccountsCreate service account
  2. Give it a name such as ankra-cost-readonly
  3. Grant it the Viewer role (roles/viewer) on the project - or a custom read-only role
Or with gcloud (reusing the PROJECT_ID from the previous step):
If this fails with does not have permission to access projects instance [...:getIamPolicy] (or it may not exist), either PROJECT_ID is still set to the placeholder, or your account lacks the resourcemanager.projects.setIamPolicy permission. Confirm echo $PROJECT_ID shows your real project ID, and that you hold roles/owner or roles/resourcemanager.projectIamAdmin on it (otherwise ask a project admin to run this one command).
3

Create and download a JSON key

  1. Open the service account → KeysAdd keyCreate new key
  2. Choose JSON and download the file
Or with gcloud:
The downloaded JSON must contain client_email, private_key, and token_uri.
4

Add to Ankra (UI)

Go to CredentialsAddGoogle Cloud (GCP), then provide:
  • Name: a unique identifier - lowercase letters and numbers only, cannot start with a hyphen (e.g. gcp-prod)
  • Project ID: your GCP project ID (e.g. acme-prod)
  • Service Account Key (JSON): paste the full contents of the downloaded key file
Click Test connection to verify access, then Add.
Already added a read-only credential and want to provision GKE? Grant the extra roles and enable the Kubernetes Engine API on the same service account (run the add-iam-policy-binding and services enable commands from the GKE provisioning tab with your existing account’s name) - no need to create a new credential in Ankra.

Troubleshooting GCP Credentials

For gcloud setup errors during service-account creation (such as does not have permission ... (or it may not exist)), see the warning in the Create a service account step above - it’s almost always an unsubstituted PROJECT_ID placeholder or a missing setIamPolicy permission. The table below covers the Test connection result in the Ankra UI: Test connection only verifies read access. If the credential saves fine but GKE cluster creation fails with a permissions error, the service account is missing roles/container.admin or roles/iam.serviceAccountUser, or the Kubernetes Engine API is not enabled - see the GKE provisioning tab above. Creating a VPC network from the cluster wizard fails with Required 'compute.networks.create' permission when the service account lacks Compute Network Admin (roles/compute.networkAdmin) - grant it with the optional binding from the GKE provisioning tab, or pick an existing network instead.