本页面介绍启用了基于角色的访问权限控制 (RBAC) 的 Cloud Data Fusion 实例使用的角色和权限。
如需在命名空间级别和更低级别强制执行精细的访问权限,请将这些数据平面资源和权限与 RBAC 搭配使用。
资源层次结构
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 中心 | ||||||
部署插件 | ||||||
源代码控制管理 | ||||||
配置源代码控制代码库 | ||||||
同步命名空间中的流水线 | ||||||
沿袭 | ||||||
查看沿袭 | ||||||
日志 | ||||||
查看日志 |
如需查看 Cloud Data Fusion 预定义角色所含权限的完整列表,请参阅 Cloud Data Fusion 预定义角色。
适用于 RBAC 的自定义角色
某些用例无法使用 Cloud Data Fusion 的预定义角色实现。在这些情况下,请创建自定义角色。
示例
以下示例介绍了如何为 RBAC 创建自定义角色:
如需创建仅授予对命名空间中安全密钥的访问权限的自定义角色,请创建具有
datafusion.namespaces.get
和datafusion.secureKeys.*
权限的自定义角色。如需创建自定义角色来提供对安全密钥的只读权限,请创建具有
datafusion.namespaces.get
、datafusion.secureKeys.getSecret
和datafusion.secureKeys.list
权限的自定义角色。
执行常见操作的权限
单个预定义权限可能不足以执行相应操作。例如,如需更新命名空间属性,您可能还需要具备 datafusion.namespaces.get
权限。下表介绍了在 Cloud Data Fusion 实例中执行的常见操作以及所需的 IAM 权限:
操作 | 所需权限 |
---|---|
访问实例 | datafusion.instances.get |
创建命名空间 | datafusion.namespaces.create |
获取命名空间 | datafusion.namespaces.get |
更新命名空间元数据(例如属性) |
|
删除命名空间(仅限已启用不可恢复的重置) |
|
查看命名空间的权限 | datafusion.namespaces.getIamPolicy |
授予对命名空间的权限 | datafusion.namespaces.setIamPolicy |
从命名空间 SCM 配置中拉取流水线 |
|
将流水线推送到命名空间的 SCM 代码库 |
|
获取命名空间 SCM 配置 | datafusion.namespaces.get |
更新命名空间 SCM 配置 | datafusion.namespaces.updateRepositoryMetadata |
为命名空间设置服务帐号 |
|
为命名空间取消设置服务账号 |
|
为命名空间预配服务账号凭据 | datafusion.namespaces.provisionCredential |
查看流水线草稿 | datafusion.namespaces.get |
创建/删除流水线草稿 |
|
列出计算配置文件 | datafusion.profiles.list |
创建计算配置文件 | datafusion.profiles.create |
查看计算配置文件 | datafusion.profiles.get |
修改计算配置文件 | datafusion.profiles.update |
删除计算配置文件 | datafusion.profiles.delete |
建立联系 |
|
查看连接 |
|
修改连接 |
|
删除连接 |
|
浏览、抽样或查看连接规范 |
|
列出流水线 | datafusion.namespaces.get |
创建流水线 |
|
查看流水线 |
|
修改流水线 |
|
修改流水线属性 |
|
删除流水线 |
|
预览流水线 | datafusion.pipelines.preview |
运行流水线 | datafusion.pipelines.execute |
创建时间表 | datafusion.pipelines.execute |
查看时间表 |
|
更改计划 | datafusion.pipelines.execute |
列出安全密钥 |
|
创建安全密钥 |
|
查看安全密钥 |
|
删除安全密钥 |
|
列出制品* |
|
创建制品* |
|
获取制品* |
|
删除制品* |
|
偏好设置、标记和元数据 | 偏好设置、标记和元数据是在资源级为特定资源 (datafusion.RESOURCE.update ) 设置的。
|
数据集权限(已弃用) | datafusion.namespaces.update |
后续步骤
- 详细了解 Cloud Data Fusion 中的 RBAC。