RBAC 角色和权限

本页面介绍启用了基于角色的访问权限控制 (RBAC) 的 Cloud Data Fusion 实例使用的角色和权限。

如需在命名空间级别和更低级别强制执行精细的访问权限,请将这些数据平面资源和权限与 RBAC 搭配使用。

资源层次结构

Cloud Data Fusion 资源具有以下资源层次结构:

Cloud Data Fusion 项目资源层次结构

此图按降序(从最广泛到最具体)显示资源层次结构:Google Cloud 项目、位置、Cloud Data Fusion 实例和命名空间。命名空间下面依次是连接、安全密钥、流水线、工件(如插件、驱动程序和应用)以及计算配置文件。

以下资源是您使用 REST API 或在 Cloud Data Fusion Studio 中控制的 Cloud Data Fusion 数据平面资源:命名空间、连接、安全密钥、流水线、工件和计算配置文件。

RBAC 的预定义角色

Cloud Data Fusion RBAC 包含您可以使用的几个预定义角色:

Instance Access 角色 (datafusion.accessor)
向主账号授予对 Cloud Data Fusion 实例的访问权限,但不授予对实例中任何资源的访问权限。将此角色与特定于命名空间的其他角色结合使用,可提供对命名空间的精细访问权限。
Viewer 角色 (datafusion.viewer)
授予对命名空间的主帐号查看流水线的权限,但不授予编写或运行流水线的权限。
操作员角色 (datafusion.operator)
向命名空间中的主帐号授予访问权限,以便其访问和运行流水线、更改计算配置文件、创建计算配置文件或上传工件。可以执行与开发者相同的操作,但预览流水线除外。
开发者角色 (datafusion.developer)
授予对命名空间的主账号访问权限,以创建和修改命名空间中的有限资源(例如流水线)。
Editor 角色 (datafusion.editor)
向主帐号授予对 Cloud Data Fusion 实例中某个命名空间下所有 Cloud Data Fusion 资源的完整访问权限。除了 Instance Accessor 角色外,还必须向主账号授予此角色。拥有此角色后,主帐号可以在命名空间中创建、删除和修改资源。
Instance Admin 角色 (datafusion.admin)
授予对 Cloud Data Fusion 实例中所有资源的访问权限。 通过 IAM 分配。不通过 RBAC 在命名空间级别分配。
操作 datafusion.accessor datafusion.viewer datafusion.operator datafusion.developer datafusion.editor datafusion.admin
实例
访问实例
命名空间
创建命名空间 *
访问已授予明确访问权限的命名空间
访问命名空间但未授予明确访问权限 *
修改命名空间
删除命名空间
命名空间服务帐号
添加服务账号
修改服务账号
移除服务账号
使用服务帐号
RBAC
授予或撤消命名空间中其他主账号的权限 *
时间表
创建时间表
查看时间表
更改时间表
计算配置文件
创建计算配置文件
查看计算配置文件
修改计算配置文件
删除计算配置文件
连接
创建连接
查看连接
修改连接
删除连接
使用连接
流水线
创建流水线
查看流水线
修改流水线
删除流水线
预览流水线
部署流水线
运行流水线
安全密钥
创建安全密钥
查看安全密钥
删除安全密钥
标记
创建标记
查看标记
删除标记
Cloud Data Fusion 中心
部署插件
源代码控制管理
配置源代码控制代码库
同步命名空间中的流水线
沿袭
查看沿袭
日志
查看日志

* 主账号必须具有 Data Fusion Admin IAM 角色,而不是 Instance Admin RBAC 角色。

如需查看 Cloud Data Fusion 预定义角色所含权限的完整列表,请参阅 Cloud Data Fusion 预定义角色

适用于 RBAC 的自定义角色

某些用例无法使用 Cloud Data Fusion 的预定义角色实现。在这些情况下,请创建自定义角色

示例

以下示例介绍了如何为 RBAC 创建自定义角色:

  • 如需创建仅授予对命名空间中安全密钥的访问权限的自定义角色,请创建具有 datafusion.namespaces.getdatafusion.secureKeys.* 权限的自定义角色。

  • 如需创建自定义角色来提供对安全密钥的只读权限,请创建具有 datafusion.namespaces.getdatafusion.secureKeys.getSecretdatafusion.secureKeys.list 权限的自定义角色。

执行常见操作的权限

单个预定义权限可能不足以执行相应操作。例如,如需更新命名空间属性,您可能还需要具备 datafusion.namespaces.get 权限。下表介绍了在 Cloud Data Fusion 实例中执行的常见操作以及所需的 IAM 权限:

操作 所需权限
访问实例 datafusion.instances.get
创建命名空间 datafusion.namespaces.create
获取命名空间 datafusion.namespaces.get
更新命名空间元数据(例如属性)
  • datafusion.namespaces.get
  • datafusion.namespaces.update
删除命名空间(仅限已启用不可恢复的重置)
  • datafusion.namespaces.get
  • datafusion.namespaces.delete
查看命名空间的权限 datafusion.namespaces.getIamPolicy
授予对命名空间的权限 datafusion.namespaces.setIamPolicy
从命名空间 SCM 配置中拉取流水线
  • datafusion.namespaces.get
  • datafusion.namespaces.readRepository
  • datafusion.pipelines.create
将流水线推送到命名空间的 SCM 代码库
  • datafusion.namespaces.get
  • datafusion.namespaces.writeRepository
获取命名空间 SCM 配置 datafusion.namespaces.get
更新命名空间 SCM 配置 datafusion.namespaces.updateRepositoryMetadata
为命名空间设置服务帐号
  • datafusion.namespaces.get
  • datafusion.namespaces.setServiceAccount
为命名空间取消设置服务账号
  • datafusion.namespaces.get
  • datafusion.namespaces.unsetServiceAccount
为命名空间预配服务账号凭据 datafusion.namespaces.provisionCredential
查看流水线草稿 datafusion.namespaces.get
创建/删除流水线草稿
  • datafusion.namespaces.get
  • datafusion.namespaces.update
列出计算配置文件 datafusion.profiles.list
创建计算配置文件 datafusion.profiles.create
查看计算配置文件 datafusion.profiles.get
修改计算配置文件 datafusion.profiles.update
删除计算配置文件 datafusion.profiles.delete
建立联系
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.create
查看连接
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.get
修改连接
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.update
删除连接
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.delete
浏览、抽样或查看连接规范
  • datafusion.namespaces.get
  • datafusion.pipelineConnections.use
列出流水线 datafusion.namespaces.get
创建流水线
  • datafusion.namespaces.get
  • datafusion.pipelines.create
查看流水线
  • datafusion.namespaces.get
  • datafusion.pipelines.get
修改流水线
  • datafusion.namespaces.get
  • datafusion.pipelines.create
修改流水线属性
  • datafusion.namespaces.get
  • datafusion.pipelines.update
删除流水线
  • datafusion.namespaces.get
  • datafusion.pipelines.delete
预览流水线 datafusion.pipelines.preview
运行流水线 datafusion.pipelines.execute
创建时间表 datafusion.pipelines.execute
查看时间表
  • datafusion.namespaces.get
  • datafusion.pipelines.get
更改计划 datafusion.pipelines.execute
列出安全密钥
  • datafusion.namespaces.get
  • datafusion.secureKeys.list
创建安全密钥
  • datafusion.namespaces.get
  • datafusion.secureKeys.update
查看安全密钥
  • datafusion.namespaces.get
  • datafusion.secureKeys.getSecret
删除安全密钥
  • datafusion.namespaces.get
  • datafusion.secureKeys.delete
列出制品*
  • datafusion.namespaces.get
  • datafusion.artifacts.list
创建制品*
  • datafusion.namespaces.get
  • datafusion.artifacts.create
  • datafusion.artifacts.update
获取制品*
  • datafusion.namespaces.get
  • datafusion.artifacts.get
删除制品*
  • datafusion.namespaces.get
  • datafusion.artifacts.delete
偏好设置、标记和元数据 偏好设置、标记和元数据是在资源级为特定资源 (datafusion.RESOURCE.update) 设置的。
数据集权限(已弃用) datafusion.namespaces.update

* 工件(如插件和驱动程序)是您在 Cloud Data Fusion 中上传、用于开发流水线的项。

后续步骤

  • 详细了解 Cloud Data Fusion 中的 RBAC