知识目录 IAM 权限

本文档提供了 Knowledge Catalog 资源的 Identity and Access Management (IAM) 权限参考。您可以使用这些权限创建自定义角色,或验证元数据管理、数据扫描、数据湖操作、任务和环境所需的精细访问权限。

权限和角色

您不能直接授予用户权限。不过,您可以向其授予角色,角色本身会具有一项或多项权限。此方法符合最小权限原则,鼓励您仅授予用户或服务账号执行其任务所需的必要访问权限。

IAM 为常见应用场景提供预定义角色。如果这些预定义角色无法满足您的特定需求,您可以创建自己的自定义角色,其中仅包含所需的特定权限。

如需详细了解预定义的 Knowledge Catalog 角色及其具有的权限,请参阅 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(针对条目群组)

根据条目关联类型所需的权限:

  • 同义词: 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 等 Text-to-SQL 工具的值搜索查询,但 Knowledge Studio 也会使用上下文集来存储术语表、结构化表概览和企业数据映射。

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

如需创建和管理用于 AI 锚定的上下文集,您必须被授予以下 IAM 角色:

  • Dataplex Catalog Viewer (roles/dataplex.catalogViewer):拥有只读权限,可查看、列出和下载上下文集,以及查看位置。
  • Dataplex Catalog Editor (roles/dataplex.catalogEditor):有权更新、删除、上传和下载上下文集。
  • Dataplex Catalog Admin (roles/dataplex.catalogAdmin) 或 Dataplex Entry Group Owner (roles/dataplex.entryGroupOwner):对上下文集的完整管理权限,包括创建上下文集所需的 dataplex.entryGroups.setIamPolicy 权限。

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

操作 IAM 权限
创建上下文集 dataplex.entryGroups.createContextSet
删除上下文集 dataplex.entryGroups.deleteContextSet
读取上下文集 dataplex.entryGroups.getContextSet
更新上下文集 dataplex.entryGroups.updateContextSet
请求上下文更改 dataplex.entryGroups.requestContextChanges
创建上下文条目 dataplex.entries.createContext
删除上下文条目 dataplex.entries.deleteContext
读取上下文条目 dataplex.entries.getContext
列出上下文条目 dataplex.entries.listContext
更新上下文条目 dataplex.entries.updateContext

如需了解详情,请参阅 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.requestChanges
批准元数据更改请求 dataplex.changeRequests.use
取消丰富化任务运行 dataplex.agentTasks.cancel

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

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

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

BigQuery 性能分析权限

如需允许丰富代理执行 BigQuery 数据分析和读取表查询历史记录,您必须向目标项目的 Knowledge Catalog Service Agent (service-<var>PROJECT_NUMBER</var>@gcp-sa-dataplex.) 授予 BigQuery Data Viewer (roles/bigquery.dataViewer) 和 BigQuery Resource Viewer (roles/bigquery.resourceViewer) 角色。