Data Catalog IAM

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

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 项目添加不同类型的用户。

Data Catalog Data Steward 角色

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

Data Catalog Viewer 角色

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

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

授予项目的 Data Catalog Viewer 角色以查看 Google Cloud Data Catalog 中的资源。

Data Catalog TagTemplate Creator 角色

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

Data Catalog Search Admin 角色

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

Data Catalog Migration Config Admin 角色

借助 roles/datacatalog.migrationConfigAdmin 角色,您可以设置和检索与将资源从 Data Catalog 迁移到 Dataplex Catalog 相关的配置。

预定义的数据沿袭角色

如需访问任何 Data Catalog 条目的谱系,您需要有权访问 Data Catalog 中的相应条目。要访问 您需要具备相应 Data Catalog 条目的 Viewer 角色 系统资源Data Catalog Viewer (roles/datacatalog.viewer) 存储 Data Catalog 条目。本部分介绍了查看谱系所需的角色。

Lineage 查看者角色

Data Lineage Viewer (roles/datalineage.viewer) 角色可让您查看 Dataplex 使用 Google Cloud 控制台中的沿袭数据,并使用 Data Lineage API。通过 运行,且指定进程的事件都存储在与 过程。对于自动谱系,流程、运行作业和事件会存储在生成谱系的作业运行所在的项目中。例如,这可能是运行 BigQuery 作业的项目。

您需要拥有不同的角色才能查看素材资源之间的谱系以及查看素材资源的元数据。对于前者,您需要拥有 Data Lineage Viewer (roles/datalineage.viewer) 角色。对于后者,您需要拥有与访问 Data Catalog 中的元数据条目所需的角色相同的角色。以下两个子部分提供了更多详细信息。

用于查看两个资产之间沿袭关系的角色

如需查看资产之间的沿袭,您需要拥有数据沿袭 Viewer (roles/datalineage.viewer) 针对以下项目:

  • 您查看谱系的项目(称为活动项目),即 Google Cloud 控制台顶部下拉菜单中的项目,或发出 API 调用的项目。这通常是 Data Catalog 资源项目
  • 记录沿袭的项目(称为“计算项目”)。 沿袭存储在相应进程所在的项目中 如上文所述此项目可以不同于存储您要查看其谱系的资源的项目。

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

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

查看沿袭时可查看资产元数据的角色

当某项资产的元数据存储在 Data Catalog 中时,只有当您对相应的系统资源具有查看者角色,或者对存储 Data Catalog 条目的项目具有 Data Catalog Viewer (roles/datacatalog.viewer) 角色时,您才能查看该元数据。您 可能有权访问沿袭图或列表中的资产, Viewer 角色,但无法访问它们之间的沿袭。在这种情况下, 您没有 Data Lineage Viewer 角色 (roles/datalineage.viewer) (针对记录沿袭的项目)。在这种情况下,Data Lineage API 和 Google Cloud 控制台不会显示谱系,也不会返回错误,以防止泄露有关谱系存在的信息。因此,资产没有沿袭信息并不意味着该资产没有沿袭信息,而是表示您可能无权访问该沿袭信息。

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: 或在 Data Catalog 搜索页面中使用标记模板搜索分面。

对于非公开标记,您需要同时拥有对标记模板和数据条目的查看权限,才能搜索标记并在条目详情页面中查看标记。用户必须使用 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 会检查您是否已被授予 具有 BigQuery 所需的元数据读取权限的 IAM 角色; 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) 通过 IAM 对用户进行身份验证和授权,以便用户能够访问 Google Cloud 服务。

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

了解详情