借助 Knowledge Catalog(以前称为 Dataplex Universal Catalog)中的数据产品,您可以查找精选资产集合,并通过内置审批工作流请求访问权限。获得批准后,您可以使用用户凭证、服务账号或远程 Model Context Protocol (MCP) 服务器查询底层数据,例如 BigQuery 表。
本文档适用于数据产品使用者。如需详细了解数据产品的架构和关键概念,请参阅数据产品简介。
准备工作
-
启用 Dataplex 和 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 数据产品页面。
点击您要访问的数据产品。
点击申请访问权限。
在请求详情窗格中,指定以下参数:
- 访问权限群组:选择您要加入的功能访问权限群组。
Self(自身)或 Service account(服务账号):选择主账号类型:
如果您是为自己申请访问权限,请选择自己。
如果您要为程序化身份请求访问权限,请选择服务账号。仅当数据产品支持服务账号时,此选项才可用。
理由:输入请求的业务理由。
点击提交。
系统会生成新的变更请求,供数据产品所有者审核。 请求获批或被拒后,您会立即收到一封邮件通知,其中会详细说明最终状态。
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) 服务器。这种架构模式允许外部开发者客户端安全地查询和发现已编目的数据资产,同时保持统一的治理边界。
如需了解如何部署和连接到外部服务器,请参阅使用 Knowledge Catalog 远程 MCP 服务器。