Dataproc Metastore IAM 角色

Dataproc Metastore 定义了多个 Identity and Access Management (IAM) 角色。每个预定义角色都包含一组 IAM 权限,这些权限允许主帐号执行某些操作。您可以使用 IAM 政策为主帐号授予一个或多个 IAM 角色。

Identity and Access Management (IAM) 还提供创建自定义 IAM 角色的功能。您可以创建自定义 IAM 角色,并为该角色分配一项或多项权限。然后,您可以将新的角色授予主帐号。使用自定义角色可创建访问控制模型,该模型将直接映射到您的需求以及可用的预定义角色。

本页面重点介绍了与 Dataproc Metastore 相关的 IAM 角色。

开始前须知

  • 阅读 IAM 文档。

Dataproc Metastore 角色

Identity and Access Management (IAM) Dataproc Metastore 角色是一项或多项权限的集合。您可以为主帐号授予角色,使其能够对项目中的 Dataproc Metastore 资源执行操作。例如,Dataproc Metastore User 角色包含 metastore.*.getmetastore.*.list 权限,使用户能够获取和列出项目中的 Dataproc Metastore 服务、元数据导入、备份和操作。

基本角色

下表列出了基本角色以及与每个角色关联的权限:

角色 ID 权限
roles/owner metastore.*.create
metastore.*.update
metastore.*.delete
metastore.*.get
metastore.*.list
metastore.*.getIamPolicy
metastore.*.setIamPolicy
roles/editor metastore.*.create
metastore.*.update
metastore.*.delete
metastore.*.get
metastore.*.list
metastore.*.getIamPolicy
roles/viewer metastore.*.get
metastore.*.list
metastore.*.getIamPolicy

注意:

  • “*”表示资源类型,如“服务”、“导入”、“备份”、“位置”或“操作”。 某些权限并未定义某些资源类型。例如,createupdatedelete 不是有效的“位置”权限。此外,与“操作”关联的唯一权限是 getlistcanceldelete
  • owner 角色允许完全控制 Dataproc Metastore 资源和 IAM 政策管理。
  • editor 角色允许完全控制 Dataproc Metastore 资源。
  • viewer 角色可让用户获取和列出 Dataproc Metastore 资源和 IAM 政策详细信息。

您可以使用 IAM Project 角色在项目级分配基本角色。下面汇总了与 IAM 项目角色关联的权限:

项目角色 权限
项目所有者 拥有所有 Project Editor 权限,外加管理项目的访问权限控制(获取/设置 IamPolicy)和设置项目结算的权限
项目编辑者 拥有所有“Project Viewer”权限,再加上可修改状态的操作(创建、删除、更新、使用)的所有项目权限
项目查看者 保留状态(获取、列表)的只读操作的所有项目权限

预定义角色

下表列出了 Dataproc Metastore 预定义(或精选)角色以及与每个角色关联的权限:

角色 ID 权限
roles/metastore.admin metastore.services.create
metastore.services.update
metastore.services.delete
metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.services.setIamPolicy
metastore.services.export
metastore.services.restore
metastore.imports.create
metastore.imports.update
metastore.imports.delete
metastore.imports.get
metastore.imports.list
metastore.backups.create
metastore.backups.delete
metastore.backups.get
metastore.backups.list
metastore.backups.getIamPolicy
metastore.backups.setIamPolicy
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list
metastore.operations.cancel
metastore.operations.delete
roles/metastore.editor metastore.services.create
metastore.services.update
metastore.services.delete
metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.services.export
metastore.services.restore
metastore.imports.create
metastore.imports.update
metastore.imports.delete
metastore.imports.get
metastore.imports.list
metastore.backups.create
metastore.backups.delete
metastore.backups.get
metastore.backups.list
metastore.backups.getIamPolicy
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list
metastore.operations.cancel
metastore.operations.delete
roles/metastore.user metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.imports.get
metastore.imports.list
metastore.backups.get
metastore.backups.list
metastore.backups.getIamPolicy
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list
roles/metastore.metadataOperator metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.imports.create
metastore.imports.update
metastore.imports.delete
metastore.imports.get
metastore.imports.list
metastore.backups.create
metastore.backups.delete
metastore.backups.get
metastore.backups.list
metastore.backups.use
metastore.locations.get
metastore.locations.list
metastore.operations.get
metastore.operations.list

注意:

  • 某些权限并未定义某些资源类型。例如,createupdatedelete 不是有效的“位置”权限。此外,与“操作”关联的唯一权限是 getlistcanceldelete
  • metastore.admin 角色授予对所有 Dataproc Metastore 资源的完整访问权限,包括 IAM 政策管理。
  • metastore.editor 角色授予对所有 Dataproc Metastore 资源的读取和写入权限。
  • metastore.user 角色授予对所有 Dataproc Metastore 资源的读取权限。
  • metastore.metadataOperatormetastore.metadataOwnermetastore.metadataEditor 角色授予对数据库元数据以及这些数据库下表的读取和修改权限。
  • metastore.metadataViewer 和 `metastore.metadataUser 角色授予对数据库和这些数据库下表的元数据的读取权限。

元数据资源的预定义角色

下表列出了元数据资源预定义的 Dataproc(或精选)角色,以及与每个角色相关的详细信息:

预定义角色 说明 权限 主帐号分配给此角色后可以执行的操作
Metadata Owner 角色 (metastore.metadataOwner) 授予对元数据资源及其 IAM 政策的完整访问权限。 metastore.services.get
metastore.services.list
metastore.services.getIamPolicy
metastore.services.use
metastore.databases.*
metastore.tables.*
在服务中:
  • 可以访问数据库
  • 可以列出数据库
  • 可以创建数据库
  • 可以删除数据库
  • 可以更新数据库
  • 可以对数据库设置 IAM 访问权限控制政策
  • 可以获取数据库的 IAM 访问权限控制政策
  • 可以访问表格
  • 可以列出表
  • 可以创建表
  • 可以删除表格
  • 可以更新表
  • 可以设置表的 IAM 访问权限控制政策
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
  • 可以添加分区
  • 可以删除分区
  • 可以更新分区
在数据库中:
  • 可以访问数据库
  • 可以删除数据库
  • 可以更新数据库
  • 可以对数据库设置 IAM 访问权限控制政策
  • 可以获取数据库的 IAM 访问权限控制政策
  • 可以访问表格
  • 可以列出表
  • 可以创建表
  • 可以删除表格
  • 可以更新表
  • 可以设置表的 IAM 访问权限控制政策
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
  • 可以添加分区
  • 可以删除分区
  • 可以更新分区
在表格中:
  • 可以访问表格
  • 可以删除表格
  • 可以更新表
  • 可以设置表的 IAM 访问权限控制政策
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
  • 可以添加分区
  • 可以删除分区
  • 可以更新分区
Metadata Editor 角色 (metastore.metadataEditor) 向主帐号授予创建和修改元数据资源的权限。 metastore.services.get
metastore.services.use
metastore.databases.create
metastore.databases.update
metastore.databases.delete
metastore.databases.get
metastore.databases.list
metastore.databases.getIamPolicy
metastore.tables.create
metastore.tables.update
metastore.tables.delete
metastore.tables.get
metastore.tables.list
metastore.tables.getIamPolicy
在服务中:
  • 可以访问数据库
  • 可以列出数据库
  • 可以创建数据库
  • 可以删除数据库
  • 可以更新数据库
  • 可以获取数据库的 IAM 访问权限控制政策
  • 可以访问表格
  • 可以列出表
  • 可以创建表
  • 可以删除表格
  • 可以更新表
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
  • 可以添加分区
  • 可以删除分区
  • 可以更新分区
在数据库中:
  • 可以访问数据库
  • 可以删除数据库
  • 可以更新数据库
  • 可以获取数据库的 IAM 访问权限控制政策
  • 可以访问表格
  • 可以列出表
  • 可以创建表
  • 可以删除表格
  • 可以更新表
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
  • 可以添加分区
  • 可以删除分区
  • 可以更新分区
在表格中:
  • 可以访问表格
  • 可以删除表格
  • 可以更新表
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
  • 可以添加分区
  • 可以删除分区
  • 可以更新分区
Metadata Viewer 角色 (metastore.metadataViewer) 授予主帐号查看元数据资源的权限。 metastore.services.get
metastore.services.use
metastore.databases.get
metastore.databases.list
metastore.databases.getIamPolicy
metastore.tables.get
metastore.tables.list
metastore.tables.getIamPolicy
在服务中:
  • 可以访问数据库
  • 可以列出数据库
  • 可以获取数据库的 IAM 访问权限控制政策
  • 可以访问表格
  • 可以列出表
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
在数据库中:
  • 可以访问数据库
  • 可以获取数据库的 IAM 访问权限控制政策
  • 可以访问表格
  • 可以列出表
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
在表格中:
  • 可以访问表格
  • 可以获取表的 IAM 访问权限控制政策
  • 可以访问分区
  • 可以列出分区
Metadata User 角色 (metastore.metadataUser) 向主帐号授予使用 Dataproc Metastore 服务 gRPC 端点的权限。必须在服务级政策或更高级别中授予。 metastore.services.get
metastore.services.use
metastore.databases.get
metastore.databases.list
在服务中:
  • 可以访问数据库
  • 可以列出数据库
  • 可以调用与特定元数据资源无关的方法
  • “*”表示各种方法,如“创建”、“更新”、“删除”、“获取”或“列表”。
  • 数据库和表权限用于启用了 gRPC 的 Dataproc Metastore 服务。在使用 Thrift 端点的服务时,它们不起作用。

后续步骤