RBAC 角色和权限

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

要在命名空间级别和更低级别执行精细的访问,请使用这些 通过 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)
授予对命名空间上的主账号的访问权限,以访问和运行流水线、更改计算配置文件、创建计算配置文件或上传工件。可执行与开发者相同的操作,但以下情况除外: 预览流水线。
开发者角色 (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 中心
部署插件
源代码控制管理
配置源代码控制代码库
同步命名空间中的流水线
沿袭
查看沿袭
日志
查看日志

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

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

适用于 RBAC 的自定义角色

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

示例

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

  • 要创建仅授予对 创建具有 datafusion.namespaces.getdatafusion.secureKeys.* 权限。

  • 如需创建自定义角色来提供对安全密钥的只读权限,请创建 具有 datafusion.namespaces.get 的自定义角色, datafusion.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 中上传用于开发流水线的应用。

后续步骤

  • 如需详细了解 RBAC,请参阅 Cloud Data Fusion。