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)
授予对命名空间中的主账号的访问权限,以查看流水线,但不能写入或运行流水线。
Operator 角色 (datafusion.operator)
授予对命名空间上的主账号的访问权限,以访问和运行流水线、更改计算配置文件、创建计算配置文件或上传工件。可以执行与开发者相同的操作,但预览流水线除外。
Developer 角色 (datafusion.developer)
授予对命名空间上的主账号的访问权限,以创建和修改命名空间内的有限资源(例如流水线)。
Editor 角色 (datafusion.editor)
授予主账号对 Cloud Data Fusion 实例中命名空间下所有 Cloud Data Fusion 资源的完全访问权限。除了主账号的实例访问者角色之外,还必须授予此角色。利用此角色,主账号可以创建、删除和修改命名空间中的资源。
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 Hub
部署插件
源代码控制管理系统
配置源代码控制库
从命名空间同步流水线
谱系
查看沿袭
日志
查看日志

* 主账号必须具有 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.pipelines.list
创建流水线
  • 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