Data Catalog is deprecated and will be discontinued on January 30, 2026. For steps to transition your Data Catalog users, workloads, and content to Dataplex Universal Catalog, seeTransition from Data Catalog to Dataplex Universal Catalog.
Stay organized with collectionsSave and categorize content based on your preferences.
To use Data Catalog, you mustenable the Data Catalog APIin a Google Cloudprojectthat contains the resources you will create in Data Catalog or
access in other Google Cloud systems with the API. We refer
to this project as the Data Catalog "resource project".
In the common case, if you have only one project, you only need to enable
the Data Catalog API in it to access all the resources it contains.
TheData Catalog quickstartis an example of the creation of a project that has the Data Catalog
API enabled and contains a BigQuery table you access as well as a
Data Catalog tag template and tag.
Using tag templates in multiple projects
Everything in Google Cloud lives in a project, including your tag
templates. However, you can use tag templates from one project to create tags in
another if you authorize the other project to use the templates.
To do this, use theTagTemplate Owner,Creator,User, andViewerIAM
roles.
For example: If project A grants theTagTemplate Userrole to a service
account owned by project B, this authorizes project B to create tags using its
templates. Project A can also authorize the same service account to modify the
created tags using theTag Editorrole.
If project A does not authorize project B, project B cannot tag its own data
resources using project A's tag templates—it must create its own templates.
Best practice:Create templates in a central project
if they are relevant to more than one project. Also, your data governance team
should own the shared tag templates and maintain them on behalf of the
organization.
Identifying the Data Catalog resource project
The following table lists Data Catalog APIs and the
associated resource project(s) where Data Catalog
API must be enabled.
If theX-Goog-User-Projectis specified in the HTTP/gRPC Header, also enable the Data Catalog API in the user project to enable quota and billing against the X-Goog-User-Project instead of the service account.
create/update/delete
project identified by the/project-id/in the API requestresource parameter
Exceptions:seecreateTag/updateTag/deleteTagin the next row.
createTag/updateTag/deleteTag
tag template container project
Since the Data Catalog API was enabled in tag template container project when the template was created, no further action is needed to call these APIs.Note:The project identified by theparentparameter for thetagand thetag templateused to create the tag must be from the same organization.
Notes:
service account project: the project in which you have generatedservice account credentialsto authenticate your application code.
resource parameter: the parameter passed in the API request that
identifies the resource associated with the request (for example, seeproject-idin thetagTemplates.createparentparameter).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThe Data Catalog API must be enabled in a Google Cloud project, referred to as the "resource project," to create resources in Data Catalog or access them in other Google Cloud systems.\u003c/p\u003e\n"],["\u003cp\u003eTag templates, although created within a specific project, can be used to create tags in other projects if the appropriate IAM roles (\u003ccode\u003eTagTemplate Owner\u003c/code\u003e, \u003ccode\u003eCreator\u003c/code\u003e, \u003ccode\u003eUser\u003c/code\u003e, and \u003ccode\u003eViewer\u003c/code\u003e) are granted.\u003c/p\u003e\n"],["\u003cp\u003eThe project hosting the tag template is responsible for billing, even if the tags are utilized by other projects.\u003c/p\u003e\n"],["\u003cp\u003eFor optimal management, it's a best practice to create tag templates in a centralized project if they're intended for use across multiple projects, and a data governance team should manage them.\u003c/p\u003e\n"],["\u003cp\u003eThe necessary project in which the Data Catalog API must be enabled varies according to which Data Catalog APIs are being utilized, such as \u003ccode\u003eget/lookup/search\u003c/code\u003e vs.\u003ccode\u003ecreate/update/delete\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Data Catalog resource projects\n\nTo use Data Catalog, you must\n[enable the Data Catalog API](/apis/docs/enable-disable-apis#enable_an_api)\nin a Google Cloud\n[project](/resource-manager/docs/cloud-platform-resource-hierarchy#projects)\nthat contains the resources you will create in Data Catalog or\naccess in other Google Cloud systems with the API. We refer\nto this project as the Data Catalog \"resource project\".\n\nIn the common case, if you have only one project, you only need to enable\nthe Data Catalog API in it to access all the resources it contains.\nThe [Data Catalog quickstart](/data-catalog/docs/quickstarts/quickstart-search-tag)\nis an example of the creation of a project that has the Data Catalog\nAPI enabled and contains a BigQuery table you access as well as a\nData Catalog tag template and tag.\n\n### Using tag templates in multiple projects\n\nEverything in Google Cloud lives in a project, including your tag\ntemplates. However, you can use tag templates from one project to create tags in\nanother if you authorize the other project to use the templates.\nTo do this, use the `TagTemplate Owner`, `Creator`, `User`, and `Viewer` IAM\nroles.\n\nFor example: If project A grants the `TagTemplate User` role to a service\naccount owned by project B, this authorizes project B to create tags using its\ntemplates. Project A can also authorize the same service account to modify the\ncreated tags using the `Tag Editor` role.\n\nIf project A does not authorize project B, project B cannot tag its own data\nresources using project A's tag templates---it must create its own templates.\n| **Important:** The project that hosts your tag template is billed for tags created from it, even if they are used by other projects.\n\n**Best practice:** Create templates in a central project\nif they are relevant to more than one project. Also, your data governance team\nshould own the shared tag templates and maintain them on behalf of the\norganization.\n\n### Identifying the Data Catalog resource project\n\nThe following table lists Data Catalog APIs and the\nassociated resource project(s) where Data Catalog\nAPI must be enabled.\n\n**Notes:**\n\n- `service account project`: the project in which you have generated\n [service account credentials](/iam/docs/service-account-overview#what-are-service-accounts)\n to authenticate your application code.\n\n- `resource parameter`: the parameter passed in the API request that\n identifies the resource associated with the request (for example, see `project-id` in the\n [tagTemplates.create](/data-catalog/docs/reference/rest/v1beta1/projects.locations.tagTemplates/create)\n `parent` parameter).\n\nWhat's next\n-----------\n\n- Follow [Getting started with Data Catalog](/data-catalog/docs/quickstarts/quickstart-search-tag)."]]