Knowledge Catalog Identity and Access Management 权限

借助 Identity and Access Management (IAM) 权限,您可以控制对 Knowledge Catalog(以前称为 Dataplex Universal Catalog)资源的精细访问权限,这些资源涵盖元数据管理、数据扫描、数据湖、区域、资产、任务和环境。由于您无法直接向主账号授予权限,因此您可以为常见用例分配预定义角色,或将特定权限捆绑到自定义角色中,以强制执行最小权限原则。

本文档列出了在 Knowledge Catalog 中运行特定操作和 API 方法所需的 IAM 权限。如需详细了解预定义角色,请参阅 Knowledge Catalog IAM 角色。如需详细了解 IAM,请参阅 IAM 概览。

IAM 政策设置和获取权限

下表列出了获取和设置 IAM 权限所需的权限:

资源 API 方法 IAM 权限
切面类型 GetIamPolicy dataplex.aspectTypes.getIamPolicy
切面类型 SetIamPolicy dataplex.aspectTypes.setIamPolicy
条目组 GetIamPolicy dataplex.entryGroups.getIamPolicy
条目组 SetIamPolicy dataplex.entryGroups.setIamPolicy
条目类型 GetIamPolicy dataplex.entryTypes.getIamPolicy
条目类型 SetIamPolicy dataplex.entryTypes.setIamPolicy
湖 GetIamPolicy dataplex.lakes.getIamPolicy
湖 SetIamPolicy dataplex.lakes.setIamPolicy

元数据管理权限

对条目类型、条目链接类型、切面类型、条目组、条目和条目链接执行操作所需的权限集取决于资源是系统资源还是自定义资源。系统资源由 Knowledge Catalog 定义,自定义资源由您或您的组织定义。

如需使用其他信息丰富条目和条目链接,您可以附加切面。

如需执行与多个资源相关的操作(例如,创建特定条目类型的条目,或向条目或条目链接添加特定切面类型的切面),您可能需要拥有与这些资源关联的多种权限。

条目类型

如需创建和管理条目类型,您必须至少获得标准 create、get、list、update 和 delete 权限。

创建条目类型时,您必须获得使用您希望针对该条目类型将其标记为必需的每个切面类型的权限。

如需使用条目类型(例如,创建条目类型的条目),您必须获得该条目类型的 use 权限。

下表列出了对条目类型执行操作所需的权限:

操作 IAM 权限
Create entry types

dataplex.entryTypes.create

dataplex.aspectTypes.use(针对条目类型中每个必需的切面类型)

dataplex.entryGroups.useASPECT_TYPE(针对条目类型中每个必需的系统切面类型)。请参阅系统切面类型的权限。

Delete entry types

dataplex.entryTypes.delete

dataplex.aspectTypes.use(针对条目类型中的必需切面类型)

dataplex.entryGroups.useASPECT_TYPE(针对条目类型中每个必需的系统切面类型)。请参阅系统切面类型的权限。

Get entry types dataplex.entryTypes.get
List entry types dataplex.entryTypes.list
Update entry types

dataplex.entryTypes.update

dataplex.aspectTypes.use(针对条目类型中每个必需的切面类型)

dataplex.entryGroups.useASPECT_TYPE(针对条目类型中每个必需的系统切面类型)。请参阅系统切面类型的权限。

使用条目类型

(创建条目、更新顶级条目字段和必需的切面类型值时)

dataplex.entryTypes.use

dataplex.entries.create 或 dataplex.entries.update

dataplex.aspectTypes.use(针对创建或更新的每个切面)

切面类型

如需创建和管理切面类型,您必须获得标准 create、get、list、update 和 delete 权限。

如需使用切面类型(例如,将其作为可选切面附加到条目上,或更新条目链接上的必需切面),您必须获得该切面类型的 use 权限。

切面类型分为系统切面类型和自定义切面类型。系统切面类型由 Knowledge Catalog 创建,自定义切面类型由您或您的组织创建。系统切面类型进一步分为可用和只读。如需了解详情,请参阅切面类型的类别。

下表列出了对自定义和系统切面类型执行操作所需的权限:

操作 自定义切面类型所需的权限 可用系统切面类型所需的权限 只读系统切面类型所需的权限
Create aspect types dataplex.aspectTypes.create 不适用 不适用
Delete aspect types dataplex.aspectTypes.delete 不适用 不适用
Get aspect types dataplex.aspectTypes.get 授予 allUsers 授予 allUsers
List aspect types dataplex.aspectTypes.list 不适用 不适用
在创建或更新条目时设置可选的切面类型值

dataplex.aspectTypes.use

dataplex.entries.create 或 dataplex.entries.update

dataplex.entryGroups.useASPECT_TYPE。请参阅系统切面类型的权限。

dataplex.entries.create 或 dataplex.entries.update

不适用
在创建或更新条目时设置必需的切面类型值

dataplex.aspectTypes.use

dataplex.entryTypes.use

dataplex.entries.create 或 dataplex.entries.update

dataplex.entryGroups.useASPECT_TYPE。请参阅系统切面类型的权限。

dataplex.entryTypes.use

dataplex.entries.create 或 dataplex.entries.update

不适用
Update aspect types dataplex.aspectTypes.update 不适用 不适用
在创建或更新条目链接时设置必需的切面类型值 不适用

dataplex.entryGroups.useASPECT_TYPE。请参阅系统切面类型的权限。

dataplex.entryLinkTypes.useENTRY_LINK_TYPE。请参阅系统条目链接类型的权限。

dataplex.entries.link 针对包含关联条目的条目组授予。仅在创建条目链接期间进行检查。

dataplex.entryLinks.create 或 dataplex.entryLinks.update

不适用

条目组

如需创建和管理条目群组,您必须获得标准 create、get、list、update 和 delete 权限。

条目组分为系统条目组(由 Knowledge Catalog 创建)和自定义条目组(由您或您的组织创建)。如需了解详情,请参阅条目组类别。

下表列出了对条目组执行操作所需的权限:

操作 自定义条目组所需的权限 系统条目组(以 @ 开头)所需的权限
Create entry groups dataplex.entryGroups.create 不适用
Delete entry groups dataplex.entryGroups.delete 不适用
Get entry groups dataplex.entryGroups.get dataplex.entryGroups.get
List entry groups dataplex.entryGroups.list dataplex.entryGroups.list
Update entry groups dataplex.entryGroups.update 不适用

条目数

如需创建和管理条目,您必须获得标准 create、get、list、update 和 delete 权限。

请注意以下几点:

  • 对于查找 (<code>LookupEntry</code>) 和搜索 (<code>SearchEntries</code>) 方法,必须从原始来源系统获得条目的权限。例如,如果数据源是 BigQuery 表,您需要拥有 bigquery.tables.get 权限才能查看元数据,以及拥有 bigquery.tables.getData 权限才能查看数据切面。
  • 如果没有查看数据切面的权限,条目仍会显示,但数据切面的内容会被隐藏。
  • 创建条目或更新条目的顶级字段时,您必须获得该条目类型的 use 权限。
  • 创建或更新必需的切面时,您必须获得对条目的条目类型以及底层切面类型的 use 权限。这是因为必需的切面由条目类型强制执行。
  • 创建、更新或删除可选切面时,您必须获得切面的切面类型的 use 权限。
  • 更新或插入条目(<code>allow_missing = True</code> 的 <code>UpdateEntry</code>)时,您必须获得 create 权限。

如需详细了解条目所基于的条目类型,请参阅条目类型的类别。

下表列出了对条目执行操作所需的权限:

操作 基于自定义条目类型的条目 基于可用系统条目类型的条目 基于只读系统条目类型的条目
Create entries

dataplex.entries.create

dataplex.entryTypes.use

dataplex.aspectTypes.use(针对创建的每个自定义切面)

dataplex.entryGroups.useASPECT_TYPE(针对创建的可用系统切面类型的每个切面)。请参阅系统切面类型的权限。

dataplex.entries.create

dataplex.entryGroups.useENTRY_TYPE。请参阅系统条目类型的权限。

dataplex.entryGroups.useASPECT_TYPE(针对创建的每个系统切面)。请参阅系统切面类型的权限。

dataplex.aspectTypes.use(针对创建的每个自定义切面)

不适用
Get entries

dataplex.entries.get

如需查看数据切面,还需要 dataplex.entries.getData。

dataplex.entries.get

如需查看数据切面,还需要 dataplex.entries.getData。

dataplex.entries.get

如需查看数据切面,还需要 dataplex.entries.getData。

List entries dataplex.entries.list dataplex.entries.list dataplex.entries.list
Lookup entries

需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。

对于自定义条目,Knowledge Catalog 被视为来源系统,这些权限分别为 dataplex.entries.get 和 dataplex.entries.getData。

需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。

对于自定义条目,Knowledge Catalog 被视为来源系统,这些权限分别为 dataplex.entries.get 和 dataplex.entries.getData。

需要源系统的元数据读取权限。您需要拥有从源系统读取数据的权限,才能查看数据切面。

对于自定义条目,Knowledge Catalog 被视为来源系统,这些权限分别为 dataplex.entries.get 和 dataplex.entries.getData。

Search entries

原始源系统的读取权限。

对于自定义条目,此权限为 dataplex.entries.get,因为 Knowledge Catalog 被视为原始来源系统。

原始源系统的读取权限。

对于自定义条目,此权限为 dataplex.entries.get,因为 Knowledge Catalog 被视为原始来源系统。

原始源系统的读取权限。

对于自定义条目,此权限为 dataplex.entries.get,因为 Knowledge Catalog 被视为原始来源系统。

Update entries

dataplex.entries.update

dataplex.entryTypes.use(用于更新顶级字段或必需的切面)

dataplex.aspectTypes.use(针对更新的每个切面)

dataplex.entryGroups.useASPECT_TYPE(针对更新的每个系统切面)。请参阅系统切面类型的权限。

dataplex.entries.create(如果 allow_missing 为 True)

dataplex.entries.update

dataplex.entryGroups.useENTRY_TYPE(用于更新顶级字段或必需的切面)。请参阅系统条目类型的权限。

dataplex.aspectTypes.use(针对更新的每个自定义切面)

dataplex.entryGroups.useASPECT_TYPE(针对属于系统切面类型的每个切面)。请参阅系统切面类型的权限。

dataplex.entries.create(如果 allow_missing 为 True)

dataplex.entries.update

dataplex.aspectTypes.use(针对更新的每个自定义切面)

dataplex.entryGroups.useASPECT_TYPE(针对更新的可用系统切面类型的每个切面)。请参阅系统切面类型的权限。

无法修改顶级字段和必需的切面。

条目链接

如需创建和管理条目链接,您必须获得 dataplex.entryLinks 的 create、get、list 和 delete 权限。

请注意以下几点:

  • 创建条目链接 (CreateEntryLink) 还需要对条目链接类型的权限以及对链接特定条目的权限。
  • 创建具有必需切面的条目链接时,您需要具有使用切面类型的权限。
  • 更新或插入条目链接(allow_missing = True 的 UpdateEntryLink)时,您还必须拥有 CreateEntryLink 所需的相同权限。

下表列出了对条目链接执行操作所需的权限:

操作 IAM 权限
创建条目链接

dataplex.entryLinks.create(针对条目群组)

根据条目链接类型所需的权限:

  • Synonym: dataplex.glossaryTerms.use(在两个术语条目中)
  • 定义:dataplex.glossaryTerms.use(针对术语条目)和 dataplex.entries.link(针对目标条目)
  • 其他:dataplex.entries.link(两个条目中均有)

使用条目链接类型的权限:

条目链接类型指定的任何必需切面的权限:

删除条目链接 dataplex.entryLinks.delete(针对条目群组)
获取条目链接

dataplex.entryLinks.get(针对条目群组)

查找条目链接

需要对要查找条目链接的条目拥有源系统的元数据读取权限。

对于关联的自定义条目(其中 Knowledge Catalog 被视为来源系统),权限为 dataplex.entries.get。

对于关联的系统条目,权限是关联条目的源系统的读取权限。

更新条目链接

dataplex.entryLinks.update(针对条目群组)

使用条目链接类型的权限:

条目链接类型指定的任何必需切面的权限:

如果 allow_missing 为 True,则 Create entry link 中的所有权限也适用。

条目链接上的切面的限制

以下限制适用于将切面与条目链接搭配使用。

上下文集

上下文集是目标数据资产和元数据的有界容器,用于在专有业务逻辑中建立 AI 模型。虽然上下文集可以包含特定于数据库的信息,例如 SQL 查询模板或 QueryData 等文本到 SQL 工具的值搜索查询,但 Knowledge Studio 也会使用上下文集来存储术语表、结构化表概览和企业数据映射。

如需详细了解如何在 Google Cloud中使用上下文集,请参阅 Knowledge Studio、AlloyDB for PostgreSQL、Bigtable、Cloud SQL for MySQL、Cloud SQL for PostgreSQL、Firestore with MongoDB compatibility 或 Spanner 的上下文集概览。

如需查看、创建和管理 QueryData 的数据库上下文集(dataplex.contextSetGroups.*、dataplex.contextSets.* 和 dataplex.context.*),请授予以下 IAM 角色:

  • Dataplex Catalog Viewer (roles/dataplex.catalogViewer):拥有只读权限,可查看和列出数据库上下文集、上下文集组、上下文和位置,以及下载上下文集和上下文。
  • Dataplex Catalog Editor (roles/dataplex.catalogEditor):有权创建、查看、列出、更新和删除数据库上下文集和上下文集组;上传和下载上下文集;查看、列出、更新、删除和下载上下文;以及查看和列出位置。
  • Dataplex Catalog Admin (roles/dataplex.catalogAdmin):对数据库上下文集、上下文集组和上下文拥有完整的管理员权限,以及查看和列出位置的权限。

如需创建和管理 Knowledge Studio 条目组上下文集(dataplex.entryGroups.*ContextSet、dataplex.entryGroups.requestContextChanges 和 dataplex.entries.*Context),请授予以下 IAM 角色:

  • Dataplex 内容创作者 (roles/dataplex.contentCreator):有权在项目中创建和列出上下文集(dataplex.entryGroups.createContextSet、dataplex.entryGroups.list)。创建上下文集不需要 dataplex.entryGroups.setIamPolicy。
  • Dataplex Content Viewer (roles/dataplex.contentViewer):对发现上下文集容器 (dataplex.entryGroups.getContextSet) 的只读权限。
  • Dataplex Content User (roles/dataplex.contentUser):有权查看上下文集、读取和列出上下文条目,以及请求更改上下文。
  • Dataplex Content Editor (roles/dataplex.contentEditor):有权查看和更新上下文集、请求上下文更改,以及创建、读取、列出、更新和删除上下文条目。
  • Dataplex Content Admin (roles/dataplex.contentAdmin):对现有上下文集的完整管理员权限,包括所有 Dataplex Content Editor (roles/dataplex.contentEditor) 权限、删除上下文集 (dataplex.entryGroups.deleteContextSet) 以及管理上下文集上的 IAM 政策 (dataplex.entryGroups.setIamPolicy)。此角色不授予 dataplex.entryGroups.createContextSet;如需在项目中创建新的上下文集,请授予 Dataplex Content Creator (roles/dataplex.contentCreator)。

下表列出了对上下文集执行操作所需的 IAM 权限:

操作 IAM 权限
创建上下文集 (Knowledge Studio) dataplex.entryGroups.createContextSet
删除上下文集 (Knowledge Studio) dataplex.entryGroups.deleteContextSet
读取上下文集 (Knowledge Studio) dataplex.entryGroups.getContextSet
更新上下文集 (Knowledge Studio) dataplex.entryGroups.updateContextSet
请求上下文更改 (Knowledge Studio) dataplex.entryGroups.requestContextChanges
创建上下文条目 (Knowledge Studio) dataplex.entries.createContext
删除上下文条目 (Knowledge Studio) dataplex.entries.deleteContext
读取上下文条目 (Knowledge Studio) dataplex.entries.getContext
列出上下文条目 (Knowledge Studio) dataplex.entries.listContext
更新上下文条目 (Knowledge Studio) dataplex.entries.updateContext
创建上下文集组 (QueryData) dataplex.contextSetGroups.create
删除上下文集组 (QueryData) dataplex.contextSetGroups.delete
读取上下文集组 (QueryData) dataplex.contextSetGroups.get
列出上下文集组 (QueryData) dataplex.contextSetGroups.list
更新上下文集组 (QueryData) dataplex.contextSetGroups.update
创建上下文集 (QueryData) dataplex.contextSets.create
删除上下文集 (QueryData) dataplex.contextSets.delete
从上下文集 (QueryData) 下载上下文 dataplex.contextSets.download
读取上下文集 (QueryData) dataplex.contextSets.get
列出上下文集 (QueryData) dataplex.contextSets.list
更新上下文集 (QueryData) dataplex.contextSets.update
将上下文上传到上下文集 (QueryData) dataplex.contextSets.upload
删除上下文 (QueryData) dataplex.context.delete
下载上下文 (QueryData) dataplex.context.download
读取上下文 (QueryData) dataplex.context.get
列出上下文 (QueryData) dataplex.context.list
更新上下文 (QueryData) dataplex.context.update

如需了解详情,请参阅 Knowledge Catalog IAM 角色。

元数据作业权限

下表列出了处理元数据导入作业和元数据导出作业所需的权限。

操作 IAM 权限
访问从元数据导出作业导出的结果

storage.objects.get

Cancel metadata jobs

dataplex.metadataJobs.cancel

Create metadata export jobs

dataplex.metadataJobs.create

dataplex.entryGroups.export

dataplex.entryGroups.get

resourcemanager.projects.get

resourcemanager.projects.list

Create metadata import jobs

dataplex.metadataJobs.create

dataplex.entryTypes.use(针对作业范围内的自定义条目类型)

dataplex.entryTypes.useENTRY_TYPE(针对作业范围内的每种系统条目类型)。请参阅系统条目类型的权限。不过,在运行仅切面的元数据导入作业时,无需此权限即可修改可选切面。

dataplex.aspectTypes.use(针对作业范围内的自定义切面类型)

dataplex.aspectTypes.useASPECT_TYPE(针对作业范围内的每种系统切面类型)。请参阅系统切面类型的权限。

dataplex.entryGroups.import(针对作业范围内的条目组)

Get metadata jobs

dataplex.metadataJobs.get

List metadata jobs

dataplex.metadataJobs.list

系统切面类型、条目类型和条目链接类型

每个系统定义的切面类型、系统定义的条目类型和系统定义的条目链接类型都有自己的 IAM 权限。这些权限采用 dataplex.entryGroups.useASPECT_TYPE、dataplex.entryGroups.useENTRY_TYPE 或 dataplex.entryGroups.useENTRY_LINK_TYPE 等格式。例如,overview 系统切面类型的权限为 dataplex.entryGroups.useOverviewAspect。

下表列出了适用于系统定义的切面类型、条目类型和条目链接类型的权限。

资源 IAM 权限
contacts(系统切面类型) dataplex.entryGroups.useContactsAspect
data-profile(系统切面类型) dataplex.entryGroups.useDataProfileAspect
data-quality-rule-template(系统切面类型) dataplex.entryGroups.useDataQualityRuleTemplateAspect
data-quality-scorecard(系统切面类型) dataplex.entryGroups.useDataQualityScorecardAspect
data-rules(系统切面类型) dataplex.entryGroups.useDataRulesAspect
generic(系统切面类型) dataplex.entryGroups.useGenericAspect
guidelines(系统切面类型) dataplex.entryGroups.useGuidelinesAspect
overview(系统切面类型) dataplex.entryGroups.useOverviewAspect
schema(系统切面类型) dataplex.entryGroups.useSchemaAspect
schema-join(系统切面类型) dataplex.entryGroups.useSchemaJoinAspect
generic(系统条目类型) dataplex.entryGroups.useGenericEntry
definition(系统条目链接类型) dataplex.entryGroups.useDefinitionEntryLink
related(系统条目链接类型) dataplex.entryGroups.useRelatedEntryLink
synonym(系统条目链接类型) dataplex.entryGroups.useSynonymEntryLink
schema-join(系统条目链接类型) dataplex.entryGroups.useSchemaJoinEntryLink

数据湖、区域和资产权限

下表列出了对数据湖、区域和资产执行操作所需的权限:

API 方法 IAM 权限
CreateAsset dataplex.assets.create
CreateLake dataplex.lakes.create
CreateZone dataplex.zones.create
DeleteAsset dataplex.assets.delete
DeleteLake dataplex.lakes.delete
DeleteZone dataplex.zones.delete
GetAsset dataplex.assets.get
GetLake dataplex.lakes.get
GetZone dataplex.zones.get
ListAssetActions dataplex.assetActions.list
ListAssets dataplex.assets.list
ListLakeActions dataplex.lakeActions.list
ListLakes dataplex.lakes.list
ListZoneActions dataplex.zoneActions.list
ListZones dataplex.zones.list
UpdateAsset dataplex.assets.update
UpdateLake dataplex.lakes.update
UpdateZone dataplex.zones.update

任务权限

下表列出了对任务执行操作所需的权限:

API 方法 IAM 权限
CancelJob dataplex.tasks.cancel
CreateTask dataplex.tasks.create
DeleteTask dataplex.tasks.delete
GetJob dataplex.tasks.get
GetTask dataplex.tasks.get
ListJobs dataplex.tasks.get
ListTasks dataplex.tasks.list
UpdateTask dataplex.tasks.update

元数据权限

下表列出了对实体和分区执行操作所需的权限:

API 方法 IAM 权限
CreateEntity dataplex.entities.create
CreatePartition dataplex.partitions.create
DeleteEntity dataplex.entities.delete
DeletePartition dataplex.partitions.delete
GetEntity dataplex.entities.get
GetPartition dataplex.partitions.get
ListEntities dataplex.entities.list
ListPartitions dataplex.partitions.list

数据扫描权限

下表列出了对数据扫描执行操作所需的权限:

API 方法 IAM 权限
CancelDataScanJob dataplex.datascans.cancel
CreateDataScan dataplex.datascans.create
DeleteDataScan dataplex.datascans.delete
GetDataScan(基本视图) dataplex.datascans.get
GetDataScan(完整视图) dataplex.datascans.getData
GetDataScanJob(基本视图) dataplex.datascans.get
GetDataScanJob(完整视图) dataplex.datascans.getData
ListDataScanJobs dataplex.datascans.get
ListDataScans dataplex.datascans.list
RunDataScan dataplex.datascans.run
UpdateDataScan dataplex.datascans.update

Knowledge Studio 丰富化任务

创建和管理 Knowledge Studio 丰富化任务需要以下权限:

操作 IAM 权限
创建数据丰富化任务 dataplex.agentTasks.create
删除丰富化任务 dataplex.agentTasks.delete
读取丰富化任务详情 dataplex.agentTasks.get
读取和提取底层数据结果 dataplex.agentTasks.getData
列出丰富化任务 dataplex.agentTasks.list
更新丰富化任务 dataplex.agentTasks.update
运行丰富化任务 dataplex.agentTasks.run
请求更改条目组或上下文集(提案) dataplex.entryGroups.requestContextChanges(上下文集)或 dataplex.entryGroups.requestChanges(条目组)
批准元数据更改请求 dataplex.changeRequests.use

第三方身份验证提供方权限

配置外部连接器时,您需要拥有以下代理身份权限才能管理身份验证提供方:

操作 IAM 权限
创建身份验证提供方 agentidentity.authProviders.create
查看身份验证提供方详情 agentidentity.authProviders.get
删除身份验证提供方 agentidentity.authProviders.delete
更新身份验证提供方 agentidentity.authProviders.update
为身份验证提供方设置 IAM 政策 agentidentity.authProviders.setIamPolicy

BigQuery 分析权限

如需允许富化代理对 BigQuery 表数据进行采样并运行验证检查,请向富化任务的客户管理的 IAM 服务账号授予以下角色:

  • 针对目标数据集和表以及任何代理分析跟踪表的 BigQuery Data Viewer (roles/bigquery.dataViewer) 角色。
  • 任务项目(以及跟踪记录表项目,如果不同)的 BigQuery Job User (roles/bigquery.jobUser) 角色。

如需同时允许代理分析 BigQuery 表查询历史记录,请向客户代管式服务账号授予包含查询历史记录的项目上的 BigQuery Resource Viewer (roles/bigquery.resourceViewer) 角色。