Set up Google Cloud Knowledge Catalog
Configure Google Cloud Knowledge Catalog authentication using either a service account key or Workload Identity Federation (WIF). Atlan uses the configured credentials to extract metadata from Knowledge Catalog.
Prerequisites
Before you begin, make sure you have:
- Google Cloud administrator access to create roles and service accounts
- Access to the Google Cloud project where Knowledge Catalog is configured
- Either Google Cloud console access or Google Cloud CLI installed and initialized
Authentication options
The Knowledge Catalog connector supports two authentication methods:
- Service account key: A JSON key file downloaded from GCP. Suitable for most deployments.
- Workload Identity Federation (WIF): Keyless authentication using GCP's WIF. Suitable for environments where managing long-lived service account keys isn't desirable.
Both methods require a service account with the appropriate IAM permissions. Create the service account first, then configure the authentication method of your choice.
Permissions
Atlan requires the following permissions to connect to Google Cloud Knowledge Catalog. Create a custom role with the relevant permissions and assign it to the Atlan service account.
Metadata crawling
Add these permissions for the baseline metadata crawl. They're required for all connector configurations.
dataplex.entryTypes.listenables Atlan to list entry types.dataplex.entryTypes.getenables Atlan to retrieve entry type metadata.dataplex.entryGroups.listenables Atlan to list entry groups.dataplex.entryGroups.getenables Atlan to retrieve entry group metadata.dataplex.entries.listenables Atlan to list entries.dataplex.entries.getenables Atlan to retrieve entry metadata.dataplex.aspectTypes.listenables Atlan to list Aspect Types.dataplex.aspectTypes.getenables Atlan to retrieve Aspect Type metadata.dataplex.locations.listenables Atlan to dynamically discover all available Knowledge Catalog locations. Without this permission, the connector uses a built-in fallback list of locations.resourcemanager.projects.getenables Atlan to list all GCP projects accessible to the service account via the Cloud Resource Manager API for the Include/Exclude filter.
Data quality and data profiling
Add these permissions if you enable Ingest Data Quality or Ingest Data Profiling in the connector configuration.
dataplex.datascans.listenables Atlan to list data scans in the project.dataplex.datascans.getenables Atlan to retrieve data scan metadata and configuration.dataplex.datascans.getDataenables Atlan to retrieve data scan results.
Aspects reverse-sync
Add these permissions if you enable Enable Aspects Reverse Sync. They enable the service account to write Aspect value changes made in Atlan back to Knowledge Catalog entries.
dataplex.entries.updateenables writing updated Aspect values back to Knowledge Catalog entries.dataplex.aspectTypes.useenables attaching or modifying Aspects of a specific Aspect Type on an entry. GCP enforces this in addition todataplex.entries.update; without it, Aspect writes are rejected even if the entry itself is writable.
Create service account
Create a service account with the required Knowledge Catalog permissions. You can use either the Google Cloud console or Google Cloud CLI.
Create custom role
Create a custom role and assign the permissions relevant to your configuration (see Permissions).
- Google Cloud console
- Google Cloud CLI
- Open the Google Cloud console.
- From the left menu under IAM and admin, click Roles.
- Using the dropdown list at the top of the page, select the project where you want to create the role.
- From the upper left of the Roles page, click Create Role.
- In the Create role page, enter the following details:
- For Title, enter a meaningful name for the custom role - for example,
Atlan Knowledge Catalog Role. - (Optional) For Description, enter a description for the custom role.
- For ID, the Google Cloud console generates a custom role ID based on the custom role name. Edit the ID if necessary - the ID can't be changed later.
- (Optional) For Role launch stage, assign a stage for the custom role - for example, Alpha or General Availability.
- Click Add permissions and add the permissions from the Permissions section that apply to your configuration.
- Click Create to finish custom role setup.
- For Title, enter a meaningful name for the custom role - for example,
-
Run the following command to create a custom role. Adjust the
--permissionsflag to include only those relevant to your configuration (see Permissions):gcloud iam roles create atlanKnowledgeCatalogRole --project=<project_id> \
--title="Atlan Knowledge Catalog Role" --description="Atlan Knowledge Catalog Role to extract metadata" \
--permissions="dataplex.entryTypes.list,dataplex.entryTypes.get,dataplex.entryGroups.list,dataplex.entryGroups.get,dataplex.entries.list,dataplex.entries.get,dataplex.aspectTypes.list,dataplex.aspectTypes.get,dataplex.locations.list" \
--stage=ALPHAReplace
<project_id>with the project ID of your Google Cloud project. Add permissions from the relevant sections below based on your configuration:- Multi-project:
resourcemanager.projects.get - Data Quality / Profiling:
dataplex.datascans.list,dataplex.datascans.get,dataplex.datascans.getData - Reverse sync:
dataplex.entries.update,dataplex.aspectTypes.use
- Multi-project:
Create service account
- Google Cloud console
- Google Cloud CLI
- Open the Google Cloud console.
- From the left menu under IAM and admin, click Service accounts.
- Select a Google Cloud project.
- From the upper left of the Service accounts page, click Create Service Account.
- For Service account details, enter the following details:
- For Service account name, enter a service account name to display in the Google Cloud console.
- For Service account ID, the Google Cloud console generates a service account ID based on this name. Edit the ID if necessary - the ID can't be changed later.
- (Optional) For Service account description, enter a description for the service account.
- Click Create and continue to proceed to the next step.
- For Grant this service account access to the project, enter the following details:
- Click the Select a role dropdown and then select the custom role you created in the previous step - for example,
Atlan Knowledge Catalog Role. - Click Continue to proceed to the next step.
- Click the Select a role dropdown and then select the custom role you created in the previous step - for example,
- Click Done to finish the service account setup.
-
Run the following command to create a service account:
gcloud iam service-accounts create atlanKnowledgeCatalog \
--description="Atlan Service Account to extract metadata" \
--display-name="Atlan Knowledge Catalog User" -
Run the following command to grant the custom role to your service account:
gcloud projects add-iam-policy-binding <project_id> \
--member="serviceAccount:atlanKnowledgeCatalog@<project_id>.iam.gserviceaccount.com" \
--role="atlanKnowledgeCatalogRole"Replace
<project_id>with the project ID of your Google Cloud project.
Create service account key
- Google Cloud console
- Google Cloud CLI
- Open the Google Cloud console.
- From the left menu under IAM and admin, click Service accounts.
- Select the Google Cloud project for which you created the service account.
- On the Service accounts page, click the email address of the service account that you want to create a key for.
- From the upper left of your service account page, click the Keys tab.
- On the Keys page, click the Add Key dropdown and then click Create new key.
- In the Create private key dialog, for Key type, click JSON and then click Create. This creates a service account key file. Download the key file and store it in a secure location—you won't be able to download it again.
-
Run the following command to create a service account key:
gcloud iam service-accounts keys create <key_file_path> \
--iam-account=atlanKnowledgeCatalog@<project_id>.iam.gserviceaccount.com- Replace
<key_file_path>with path to a new output file for the private key - for example,~/atlanKnowledgeCatalog-private-key.json. - Replace
<project_id>with the project ID of your Google Cloud project.
- Replace
Set up workload identity federation (WIF)
Use this option to avoid managing long-lived service account keys. The service account created below is still required—WIF is an alternative way to authenticate as that service account.
- Create an OAuth client in Atlan and securely store:
- OAuth Client ID
- OAuth Client Secret
- In Google Cloud, create a Workload Identity Pool and OIDC provider that trusts your Atlan tenant issuer.
- Configure attribute mapping for the audience and add your Atlan OAuth Client ID as the audience.
- Grant
roles/iam.workloadIdentityUseron the service account created below to the workload identity principal set. - Copy the WIF Pool Provider ID in this format:
//iam.googleapis.com/projects/<project-number>/locations/global/workloadIdentityPools/<pool-id>/providers/<provider-id>
- Use these values when configuring the connector:
- Project ID
- Service Account Email
- WIF Pool Provider ID
- Atlan OAuth Client ID
- Atlan OAuth Client Secret
For the detailed WIF setup flow, refer to Set up Workload Identity Federation for Google BigQuery. The same Atlan OAuth and Google WIF concepts apply.
Next steps
- Crawl Knowledge Catalog assets: Configure and run the crawler to extract metadata from Knowledge Catalog