This document explains how to bring information about your unique, custom data sources into Knowledge Catalog (formerly Dataplex Universal Catalog).
Knowledge Catalog serves as a central registry for all your data assets. To integrate a custom source, you need three key components:
-
Entry group: This is a secured container that holds your custom data records. Think of it as a folder that defines access permissions and the geographic location (region) for your records.
-
Entry type: This acts as a template or schema. It defines the required metadata fields (like data owner, update frequency, or quality score) for a specific kind of data asset.
-
Entry: This is the individual record or asset itself (for example, a specific proprietary file or database table).
The integration process
To register a custom data source, you need to set up this structure:
-
Create an entry group (the folder).
-
Define an entry type (the template/schema).
-
Create the custom entry (the data record) using the template within the folder.
Entries
An entry represents a data asset that you capture metadata for. Every entry is
an instance of an entry type. Each operation on aspects for an entry needs to
comply with the required aspects of its entry type. For example, when you create
an entry, you must provide values for all the aspect types defined by the
entry type. You can't delete those aspects for an entry that are marked as required
in the entry type.
Categories of entries
-
System entries: Knowledge Catalog creates entries for Google Cloud resources, such as BigQuery datasets or tables. The entries that Knowledge Catalog creates are called system entries. Knowledge Catalog automatically keeps system entries up-to-date through continuous metadata synchronization from the supported Google Cloud systems.
You can't modify the metadata that is populated automatically (called required aspects) for system entries. You can only add and modify additional metadata for system entries by using optional aspects. For more information, see Categories of aspects .
-
Custom entries: entries that you can create and manage for custom resources are called custom entries. Custom resources are the resources in non-Google services that are hosted either in Google Cloud or externally (for example, on-premises).
Entry groups
An entry group is a container for one or more entries. You can use entry groups to manage access control and regional location for the entries. Every entry group belongs to a project.
Categories of entry groups
-
System entry groups: for Google Cloud resources, Knowledge Catalog automatically creates entry groups for each system in every project and location where the resources are. For example,
@bigqueryis the system entry group for BigQuery. -
Custom entry groups: Entry groups that you create for custom resources.
Entry types
Entry types define the required metadata for entries of this type, using a set of required aspect types.
You can specify the required aspect types only on entries, and not on the columns of an entry. When you create an entry of a specific entry type, you must provide values for all required aspect types that are specified by the entry type.
Required aspect types that are referenced within an entry type must belong to the same project as the entry type.
Categories of entry types
-
Custom entry types: Entry types that you create and manage. You can use these entry types to create custom entries.
-
System entry types: Knowledge Catalog provides these entry types by default. System entry types are further categorized into reusable and restricted.
The following table describes the categories of system entry types, and the list of entry types that Knowledge Catalog provides for each of the categories:
Category of system entry typeDescriptionEntry types that Knowledge Catalog providesReusable system entry typeYou can use this entry type to create custom entries.-
generic
Restricted system entry typeThese are reserved for system use, such as creating entries for Google Cloud resources.
You can't use these entry types to create entries, but you can edit entries of these entry types to add optional aspects.Including but not limited to:-
analytics-hub-exchange -
analytics-hub-listing -
aspecttype -
bigquery-dataset -
bigquery-table -
cloudsql-database -
cloudsql-instance -
cloudsql-table -
entrygroup -
entrytype -
sql-access -
storage -
storage-bucket -
storage-folder
-
You can create a custom entry type in a specific regional location or as a global resource. The location of an entry type impacts the scope of its applicability. For more information, see Project and location constraints .
System entry types are always global. System entry types are stored in a
Google-managed project with project ID 655216118709
. For example, projects/655216118709/locations/global/entryTypes/bigquery-table
.
Before you begin
Before you manage entries and ingest custom data sources, ensure that you have completed the tasks described in this section.
Required roles
To get the permissions that you need to create and manage entries, ask your administrator to grant you the following IAM roles on the resource:
- Full set of permissions on entries, entry groups, and entry types: Dataplex Catalog Admin
(
roles/dataplex.catalogAdmin) - Create and manage metadata resources in Knowledge Catalog, including entries, entry groups, and entry types: Dataplex Catalog Editor
(
roles/dataplex.catalogEditor) - Full access to entry-related operations: Dataplex Entry and EntryLink Owner
(
roles/dataplex.entryOwner) - View entries, entry groups, and entry types, and IAM policies associated with them: Dataplex Catalog Viewer
(
roles/dataplex.catalogViewer) - Use aspect types to create aspects of those types, when creating custom entries: Dataplex Aspect Type User
(
roles/dataplex.aspectTypeUser) - Create and manage entry groups: Dataplex Entry Group Owner
(
roles/dataplex.entryGroupOwner) - Create and manage entry types: Dataplex Entry Type Owner
(
roles/dataplex.entryTypeOwner) - Use entry types to create and modify entries of those types: Dataplex Entry Type User
(
roles/dataplex.entryTypeUser)
For more information about granting roles, see Manage access to projects, folders, and organizations .
You might also be able to get the required permissions through custom roles or other predefined roles .
For more information, see Knowledge Catalog IAM roles .
Enable the API
Enable the Dataplex API in your Knowledge Catalog project. If you are using a new Google Cloud project or a project in which the BigQuery API is enabled, the Dataplex API is enabled by default.
Create an entry group
Console
-
In the Google Cloud console, go to the Knowledge Catalog Metadata typespage.
-
Click the Entry groups > Customtab.
-
Click Create.
-
In the Create entry groupwindow, enter the following:
- Optional: In the Display namefield, enter a display name for your entry group.
- Entry group ID: Enter a unique ID for your entry group.
- Optional: In the Descriptionfield, enter a description for your entry group.
- Location: Select a location. You can't modify the location after you create the entry group.
-
Optional: In the Labelssection, add arbitrary labels as key-value pairs to your resources:
- Click Add label.
- In the Keyfield, enter a key.
- In the Valuefield, enter a value for the key.
- To add more labels, click Add labeland repeat the steps.
-
Click Save.
gcloud
To create an entry group, use the gcloud dataplex entry-groups create
command
.
C#
C#
Before trying this sample, follow the C# setup instructions in the Knowledge Catalog quickstart using client libraries . For more information, see the Knowledge Catalog C# API reference documentation .
To authenticate to Knowledge Catalog, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .
Go
Go
Before trying this sample, follow the Go setup instructions in the Knowledge Catalog quickstart using client libraries . For more information, see the Knowledge Catalog Go API reference documentation .
To authenticate to Knowledge Catalog, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .
Java
Java
Before trying this sample, follow the Java setup instructions in the Knowledge Catalog quickstart using client libraries . For more information, see the Knowledge Catalog Java API reference documentation .
To authenticate to Knowledge Catalog, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .
Node.js
Node.js
Before trying this sample, follow the Node.js setup instructions in the Knowledge Catalog quickstart using client libraries . For more information, see the Knowledge Catalog Node.js API reference documentation .
To authenticate to Knowledge Catalog, set up Application Default Credentials. For more information, see Set up authentication for a local development environment .

