RBAC 角色和权限

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

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

资源层次结构

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

Cloud Data Fusion 项目资源层次结构

此图显示了资源层次结构(从最广到最窄): Google Cloud 项目、位置、Cloud Data Fusion 实例和命名空间。以下命名空间(无特定顺序)包括连接、安全密钥、流水线、制品(例如插件、驱动程序和应用)以及计算配置文件。

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

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
授予或撤消命名空间中其他主账号的权限 *
时间表
创建时间表
查看时间表
更改时间表
计算配置文件
创建计算配置文件
查看计算配置文件
修改计算配置文件
删除计算配置文件
连接
创建连接
查看连接
修改连接
删除连接
使用连接
Wrangler 工作区
创建工作区
查看工作区
修改工作区
删除工作区
使用工作区
流水线
创建流水线
查看流水线
修改流水线
删除流水线
预览流水线
部署流水线
运行流水线
安全密钥
创建安全密钥
查看安全密钥
删除安全密钥
标记
创建标记
查看代码
删除标记
Cloud Data Fusion Hub
部署插件
源代码控制管理系统
配置源代码控制库
从命名空间同步流水线
Lineage
查看沿袭
日志
查看日志

* 主账号必须具有 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
创建 Wrangler 工作区
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.create
查看 Wrangler 工作区
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.get
修改或重新采样 Wrangler 工作区
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.update
删除 Wrangler 工作区
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.delete
在 Wrangler 工作区中应用一组指令
  • datafusion.namespaces.get
  • datafusion.wranglerWorkspaces.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