Data Catalog IAM

本文档介绍了可使用 Identity and Access Management (IAM) 角色 用户使用 Data Catalog 搜索和标记 Google Cloud 资源。

IAM 术语

权限
在运行时选中,以允许用户执行操作或访问 Google Cloud 资源。用户不会被直接授予权限,而是被授予包含权限的角色
角色
角色是预定义的权限集合。自定义角色包括 一组自定义权限。

查看 Data Catalog 角色

在 Google Cloud 控制台中,执行以下步骤:

  1. 转到 IAM &管理员 > 角色页面。

    打开“角色”

  2. 过滤条件字段中,选择使用情况,输入 Data CatalogData Lineage,然后点击 Enter

  3. 点击某个角色即可在右侧窗格中查看该角色的权限。

    例如,Data Catalog Admin 角色拥有对所有 Data Catalog 资源。

预定义的 Data Catalog 角色

一些预定义的 Data Catalog 角色包含 Data Catalog Admin、Data Catalog Viewer 和 Data Catalog TagTemplate Creator。以下部分 我们将在接下来的部分中介绍

有关 Data Catalog 预定义角色的列表和说明以及与每个角色关联的权限,请参阅 Data Catalog 角色

Data Catalog Admin 角色

roles/datacatalog.admin 角色可以访问所有 Data Catalog 资源。Data Catalog 管理员可以 向 Data Catalog 项目添加不同类型的用户。

DataCatalog Data Steward 角色

roles/datacatalog.dataSteward 角色可让您添加、修改或 删除数据条目(如 BigQuery 表。

Data Catalog Viewer 角色

为了简化对 Google Cloud 资源的访问权限, Data Catalog 为 roles/datacatalog.viewer 角色提供 所有已编入目录的 Google Cloud 资源的元数据读取权限。

此角色还授予查看 Data Catalog 标记的权限 模板和代码。

授予项目的 Data Catalog Viewer 角色以允许用户 在 Data Catalog 中查看 Google Cloud 资源的权限。

Data Catalog TagTemplate Creator 角色

roles/datacatalog.tagTemplateCreator 角色可让用户创建标记模板。

DataCatalog Search Admin 角色

roles/datacatalog.searchAdmin 角色可让用户通过搜索检索 项目或组织内的所有已编目 Google Cloud 资源。

DataCatalog Migration Config Admin 角色

roles/datacatalog.migrationConfigAdmin 角色可让用户设置和检索 与从 Kubernetes 中迁移资源的 从 Data Catalog 到 Dataplex Catalog。

预定义的数据沿袭角色

如需访问任何 Data Catalog 条目的沿袭图,用户需要满足以下条件: 拥有访问 Data Catalog 中条目的权限。要访问 Data Catalog 条目,用户需要拥有相应 系统资源Data Catalog Viewer (roles/datacatalog.viewer) 存储 Data Catalog 条目。本部分介绍了 查看和处理沿袭图。

Lineage Viewer 角色

数据沿袭查看器 (roles/datalineage.viewer) 角色允许用户查看 Dataplex Google Cloud 控制台中的沿袭图,并使用以下命令读取沿袭信息 Data Lineage API。通过 运行,且指定进程的事件都与 过程。对于自动沿袭, 进程、运行和事件 存储在生成沿袭的作业所在的项目中 。例如,BigQuery 之前所在的项目 。

您需要不同的角色,才能在图表中查看资产的沿袭以及查看图表中资产的元数据。对于前者,您需要 Data Lineage Viewer (roles/datalineage.viewer)。对于后者,您需要用于访问 Data Catalog 中元数据条目的角色。以下两个子部分将提供更详细的信息。

用于查看两项资产之间的沿袭的角色

如需在沿袭图中查看资产之间的沿袭,用户需要对以下项目拥有 Data Lineage Viewer (roles/datalineage.viewer):

  • 用户查看沿袭的项目(称为活跃项目),该项目是指 Google Cloud 控制台顶部下拉菜单中的项目,或者是发出 API 调用的项目。这通常是 Data Catalog 资源项目
  • 记录沿袭的项目(称为计算项目)。如上所述,沿袭存储在执行相应进程的项目中。此项目可以与用于存储用户正在查看其沿袭的资产的项目不同。

如需详细了解如何授予角色,请参阅管理访问权限。您也可以通过自定义角色或其他预定义角色获取所需权限。

根据用例,您可能必须在文件夹或组织级别授予数据沿袭查看者 (roles/datalineage.viewer),以确保用户有权访问完整的沿袭图(请参阅授予或撤消单个角色)。数据沿袭所需的角色只能通过 Google Cloud CLI 授予。

用于在沿袭图上查看资产元数据的角色

如果图上资产的元数据存储在 Data Catalog 中,则用户只有在相应系统资源的 Viewer 角色或存储 Data Catalog 条目的项目上的 Data Catalog Viewer (roles/datacatalog.viewer) 具有 Viewer 角色时,才可以查看该元数据。 对图表上资产的元数据的访问权限与对沿袭的访问权限无关。用户可能通过适当的查看者角色有权访问图表上的资产,但无法访问它们之间的沿袭。如果用户对记录了沿袭的项目没有 Data Lineage Viewer (roles/datalineage.viewer) 权限,就会出现这种情况。在这种情况下,Data Lineage API 和界面不会显示沿袭,也不会返回任何错误,以免泄露有关存在沿袭的信息。因此,某项资产没有沿袭并不意味着该资产没有沿袭。用户可能无权访问该沿袭。

Data Lineage Events Producer 角色

roles/datalineage.producer 角色可让用户手动记录沿袭 使用数据沿袭 API 收集信息。

Data Lineage Editor 角色

roles/datalineage.editor 角色可让用户手动修改沿袭 使用数据沿袭 API 收集信息。

Data Lineage Administrator 角色

roles/datalineage.admin 角色可让用户执行所有沿袭操作 如本节所列。

查看公开标记和不公开标记的角色

您可以使用简单的搜索来搜索公开标签。您可以查看数据条目 包括其公开标记,只要您拥有查看数据所需的权限 条目。无需对标记模板拥有其他权限。对于 所需的权限,请参阅本部分中的表格。

不过,我们建议您同时授予 datacatalog.tagTemplates.get 权限。这个 用户还可以使用搜索谓词 tag: 或使用 标记模板搜索分面。

对于不公开标记,您需要同时拥有标记模板和 即可搜索相应标记,并在条目详情页面中查看此标记。 用户必须使用 tag: 搜索谓词或标记模板搜索分面 找到代码;不支持简单搜索私有标记。

注意:

  • 不公开标记模板所需的查看权限为 datacatalog.tagTemplates.getTag.

  • 对公开标记和私有标记的数据条目的查看权限 。

资源 权限 角色
BigQuery 数据集、表、模型、日常安排和连接 bigquery.datasets.get
bigquery.tables.get
bigquery.models.getMetadata
bigquery.routines.get
bigquery.connections.get
roles/datacatalog.tagTemplateViewer
roles/bigquery.metadataViewer
roles/bigquery.connectionUser
Pub/Sub 主题 pubsub.topics.get roles/datacatalog.tagTemplateViewer
roles/pubsub.viewer
Spanner 实例、数据库、表和视图 Instance: spanner.instances.get
Database:spanner.databases.get
Table: spanner.databases.get
Views: spanner.databases.get
datacatalog.tagTemplates.getTag
没有可用的预定义角色。
Bigtable 实例和表 bigtable.instances.get
bigtable.tables.get
datacatalog.tagTemplates.getTag
roles/datacatalog.tagTemplateViewer
roles/bigtable.viewer
Dataproc Metastore 服务、数据库和表 metastore.tables.get
metastore.databases.get
metastore.services.get
roles/datacatalog.tagTemplateViewer
roles/metastore.metadataViewer
自定义条目 datacatalog.entries.get 没有可用的预定义角色。

用于搜索 Google Cloud 资源的角色

在搜索、发现或显示 Google Cloud 资源之前,Data Catalog 会检查用户是否被授予了访问资源所需的 IAM 角色,这些角色应包含 BigQuery、Pub/Sub、Dataproc Metastore 或其他源系统所需的元数据读取权限。

示例:Data Catalog 在显示 BigQuery 表元数据之前会检查用户是否已被授予具有 bigquery.tables.get permission 的角色。

下表列出了用户执行以下操作所需的权限和关联的角色: 使用 Data Catalog 搜索列出的 Google Cloud 资源。

资源 权限 角色
BigQuery 数据集、表、模型、日常安排和连接 bigquery.datasets.get
bigquery.tables.get
bigquery.models.getMetadata
bigquery.routines.get
bigquery.connections.get
roles/bigquery.metadataViewer
roles/bigquery.connectionUser
另请参阅 Data Catalog Viewer 角色
Pub/Sub 主题 pubsub.topics.get roles/pubsub.viewer
另请参阅 Data Catalog Viewer 角色
Spanner 数据库和表 实例:spanner.instances.get
数据库:spanner.databases.get
视图:spanner.databases.get
没有可用的预定义角色。
Bigtable 实例和表 bigtable.instances.get
bigtable.tables.get
roles/bigtable.viewer
另请参阅 Data Catalog Viewer 角色
Dataplex 数据湖、区域、表和文件集 dataplex.lakes.get
dataplex.zones.get
dataplex.entities.get
dataplex.entities.get
没有可用的预定义角色。
Dataproc Metastore 服务、数据库和表 metastore.tables.get
metastore.databases.get
metastore.services.get
roles/metastore.metadataViewer

用于将标记附加到 Google Cloud 资源的角色

如需将公开标记和私有标记附加到 Google Cloud 资源,需要相同的权限。

借助 Data Catalog,用户可以在 Google Cloud 上扩展元数据 通过附加标记来资源。 定义了可以附加到资源的一个或多个标记 (位于标记模板中)。

当用户尝试使用标记模板将标记附加到 Google Cloud 资源,Data Catalog 会检查用户 拥有使用标记模板和更新资源所需的权限 元数据。通过 IAM 角色授予权限,如下表所示。

下表列出了 用户使用 Data Catalog 附加公开标记和私有标记 列出的 Google Cloud 资源。

下表中的每一行都列出了标记资源所需的权限。 相应的角色还可以授予其他权限。 点击各个角色即可查看与其关联的所有权限。

注意:

  • 默认情况下,数据条目的所有者拥有 datacatalog.entries.updateTag 权限。 必须向所有其他用户授予 datacatalog.tagEditor 角色。

  • 此外,所有 API 均需要 datacatalog.tagTemplates.use 权限 表格中列出的资源。

资源 权限 角色
BigQuery 数据集、表、
模型、例程和
连接
bigquery.datasets.updateTag
bigquery.tables.updateTag
bigquery.models.updateTag
bigquery.routines.updateTag
bigquery.connections.updateTag
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/bigquery.dataEditor
Pub/Sub 主题 pubsub.topics.updateTag roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/pubsub.editor
Spanner 数据库和表。 实例:spanner.instances.UpdateTag
数据库:spanner.databases.UpdateTag
表:spanner.databases.UpdateTag
视图:spanner.databases.UpdateTag
没有可用的预定义角色。
Bigtable 实例和表 bigtable.instances.update
bigtable.tables.update
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/bigtable.admin
Dataplex 数据湖、区域、表和文件集 dataplex.lakes.update
dataplex.zones.update
dataplex.entities.update
dataplex.entities.update
没有可用的预定义角色。
Dataproc Metastore 服务、数据库和表 metastore.tables.update
metastore.databases.update
metastore.services.update
roles/datacatalog.tagTemplateUser
roles/datacatalog.tagEditor
roles/metastore.editor
roles/metastore.metadataEditor

适用于 Google Cloud 资源的自定义角色

其他 Google Cloud 系统中的数据条目的预定义 Editor 角色可能会提供比所需权限更广泛的写入权限。使用 自定义角色:用于仅指定针对 Google Cloud 资源的 *.updateTag 权限。

用于在 Data Catalog 中修改富文本概览和数据管理员的角色

用户需要拥有以下角色才能附加富文本概览和分配数据 Data Catalog 中的条目的管理员:

资源 权限 角色
Google Cloud 项目 datacatalog.entries.updateOverview
datacatalog.entries.updateContacts
roles/datacatalog.dataSteward

用于在 Data Catalog 中修改迁移配置的角色

用户需要以下角色才能设置和检索与从 Data Catalog 迁移到 Dataplex 相关的配置:

资源 权限 角色
Google Cloud 项目和组织 datacatalog.migrationConfig.set
datacatalog.migrationConfig.get
roles/datacatalog.migrationConfigAdmin

Data Catalog 中的身份联合

借助身份联合,您可以使用外部身份提供方 (IdP) 来 使用 Google Cloud 服务对用户进行身份验证和授权, IAM。

Data Catalog 支持使用以下项的身份联合 限制:

了解详情