本文档面向 Knowledge Catalog(以前称为 Dataplex Universal Catalog)数据产品使用方,他们希望发现并使用数据产品来满足自己的使用情形。
如需详细了解数据产品的架构和关键概念,请参阅数据产品简介。
准备工作
-
启用 Dataplex API 和 BigQuery API。
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 获得了此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。
所需的角色
如需获得搜索、访问和使用数据产品所需的权限,请让管理员向您授予数据产品或项目的以下 IAM 角色:
-
搜索数据产品:
Dataplex Catalog Viewer (
roles/dataplex.catalogViewer) -
搜索数据资产并请求访问权限:Dataplex Data Products Consumer (
roles/dataplex.dataProductsConsumer) -
拥有对数据产品定义和元数据的只读访问权限:Dataplex Data Products Viewer (
roles/dataplex.dataProductsViewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
作为数据产品使用者,如需查看资产的元数据,您必须拥有 viewer 权限才能访问源系统中的相应资产。例如,如需搜索数据产品中的数据集或表的元数据,您需要拥有 BigQuery Metadata Viewer 角色 (roles/bigquery.metadataViewer)。如需了解详情,请参阅访问搜索结果所需的角色。
搜索数据产品
控制台
REST
如需搜索数据产品,请使用 searchEntries 方法。
例如,发送以下 POST 请求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d \
'{
"query": "ADDITIONAL_KEYWORDS (type=(DATA_PRODUCT))",
"pageSize": 10
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/global:searchEntries"
替换以下内容:
- ADDITIONAL_KEYWORDS(可选):用于缩小结果范围的任何其他关键字或搜索条件(例如
displayName:'My Data Product'或description:'sales') - PROJECT_ID:在其中创建数据产品的 Google Cloud项目的 ID
请求访问数据产品
作为数据产品使用方,如果您没有访问数据产品的 IAM 权限,可以使用集成式访问权限审批工作流来请求访问权限。
提交访问权限请求
控制台
在 Google Cloud 控制台中,前往 Knowledge Catalog 数据产品页面。
点击您要访问的数据产品。
点击申请访问权限。
在请求详情窗格中,指定以下参数:
- 访问权限群组:选择要加入的功能访问权限群组。
用户或服务账号:选择主账号类型:
如果您是为自己申请访问权限,请选择本人。
如果您要为程序化身份请求访问权限,请选择服务账号。只有在数据产品支持服务账号时,此选项才可用。
理由:输入申请的业务理由。
点击提交。
系统会生成新的更改请求,供数据产品所有者审核。 请求获批或遭拒后,您会立即收到一封电子邮件通知,其中详细说明了最终状态。
REST
拥有 dataplex.dataProducts.get 权限的数据产品使用方可以通过创建 ChangeRequest 资源来请求访问权限。使用自定义方法 :requestAccess 向数据产品资源端点发送 POST 请求:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"parent": "projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID",
"change_request": {
"justification": "JUSTIFICATION_TEXT",
"data_product_access_request": {
"parent": "projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID",
"access_group_id": "DATA_PRODUCT_ACCESS_GROUP_ID"
}
}
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID:requestAccess"
替换以下内容:
PROJECT_ID:您的 Google Cloud 项目的 ID
LOCATION:数据产品所在的区域(例如
us-central1)DATA_PRODUCT_ID:目标数据产品的唯一标识符
JUSTIFICATION_TEXT:说明需要访问权限的业务原因
DATA_PRODUCT_ACCESS_GROUP_ID:您请求加入的特定访问组的 ID
查看访问权限请求的状态
作为数据产品的使用者,您可以监控已提交的访问请求的进度和生命周期。Knowledge Catalog 会跟踪并显示这些请求,并根据您查看的是统一的工作流列表还是特定产品的访问权限摘要,使用不同的状态。
查看访问权限请求的统一列表
如需查看您在所有数据产品中提交的所有访问权限申请的完整列表,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往 Knowledge Catalog 治理工作流页面。
点击我的请求标签页。
查看统一列表,其中显示了您过去提交的请求和待处理的请求,以及这些请求的当前工作流状态:
新:访问权限请求已创建,正在等待审批人的审核。
已获批:请求已获批准,但后端系统仍在配置访问权限。
被拒:请求遭拒。查看审批者的评论,了解拒绝的理由。
REST
使用自定义集合方法 :listMine 发送 GET 请求:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests:listMine"
查看特定数据产品的访问摘要
除了全局工作流列表之外,您还可以查看单个数据产品的访问权限状态。这样,您无需提交新请求,即可验证自己是否已拥有对某个素材资源组的继承访问权限。
如需查看数据产品的访问权限摘要,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往 Knowledge Catalog 数据产品页面。
点击要检查的特定数据产品。
点击访问权限摘要标签页。查看您在该数据产品的所有访问组中的状态。
访问摘要标签页使用以下状态:
状态 说明 无访问权限 您无权访问相应访问权限群组,并且尚未申请访问权限。 审核中 您已提交访问权限申请,该申请正在等待审批者审核。 Approved 您的访问权限请求已获批准,但向底层 Google 群组传播成员资格的流程仍在处理中。 访问权限已授予 访问权限已完全启用。您是访问组的成员,可以与数据产品的资产互动。 已拒绝 您针对此访问权限群组的访问权限请求已遭拒。
REST
使用最初创建请求时返回的唯一 ID 发送 GET 请求:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID"
替换以下内容:
PROJECT_ID:您的 Google Cloud 项目的 ID
LOCATION:数据产品所在的区域(例如
us-central1)CHANGE_REQUEST_ID:您提交的更改请求的唯一 ID
删除访问权限请求
在 Google Cloud 控制台中,前往 Knowledge Catalog 治理工作流页面。
点击我的请求标签页。
找到包含目标数据产品请求的行。如有必要,请应用过滤条件来隔离相应条目。
点击 操作,然后点击删除。
使用数据产品
如需使用数据产品,请确保您已获得必要的权限。 请参阅申请数据产品访问权限。
获得数据产品所有者的许可后,您就可以访问相应数据产品及其资产。例如,如果您获准访问某个 BigQuery 表,则可以直接在 BigQuery 中查询该表以生成数据洞见。
使用用户凭据访问资源
如果您的访问权限申请已获批准,请按照以下步骤访问相应资产:
- 搜索数据产品。
- 在搜索结果中,点击您要使用的数据产品。
- 点击资产标签页。
点击您要查看其详细信息的资产。系统随即会打开条目详情页面。
您可以访问架构、数据洞见和沿袭等详细信息。如果相应资产是 BigQuery 表或视图,您可以点击在 BigQuery 中打开前往 BigQuery Studio 并查询结果。
使用服务账号访问资源
如果您的服务账号访问权限申请获得批准,系统会向您授予数据提供方服务账号的 Service Account Token Creator (roles/iam.serviceAccountTokenCreator) IAM 角色。这样一来,您就可以创建模拟链来访问底层资产。
如需使用服务账号访问资产,请按以下步骤操作:
前往数据产品详情页面的数据资产标签页,确定为数据产品配置的服务账号。
如需模拟数据生成方服务账号,请使用以下 Google Cloud CLI 命令为您的服务账号创建模拟链:
gcloud config set auth/impersonate_service_account CONSUMER_SERVICE_ACCOUNT,PRODUCER_SERVICE_ACCOUNT替换以下内容:
CONSUMER_SERVICE_ACCOUNT:数据产品消费者的服务账号的完全限定电子邮件地址
PRODUCER_SERVICE_ACCOUNT:与数据产品访问组相关联的服务账号的完全限定电子邮件地址
如需了解详情,请参阅使用服务账号。
使用远程 MCP 服务器访问数据产品
对于在 Google Cloud 生态系统之外与数据产品交互的客户端应用和开发工具,您可以使用远程 Model Context Protocol (MCP) 服务器。此架构模式允许外部开发者客户端安全地查询和发现编入目录的数据资产,同时保持统一的治理边界。
如需了解如何部署和连接到外部服务器,请参阅使用知识目录远程 MCP 服务器。