本页面介绍了启用了基于角色的访问权限控制 (RBAC) 的 Cloud Data Fusion 实例所使用的角色和权限。
如需在命名空间级层及更低级别实现精细的访问权限强制执行,请将这些数据平面资源和权限与 RBAC 搭配使用。
资源层次结构
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 | ||||||
| 查看沿袭 | ||||||
| 日志 | ||||||
| 查看日志 | ||||||
如需查看 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 |
| 创建连接 |
|
| 查看连接 |
|
| 修改连接 |
|
| 删除连接 |
|
| 浏览、抽样或查看连接规范 |
|
| 创建 Wrangler 工作区 |
|
| 查看 Wrangler 工作区 |
|
| 修改或重新采样 Wrangler 工作区 |
|
| 删除 Wrangler 工作区 |
|
| 在 Wrangler 工作区中应用一组指令 |
|
| 列出流水线 |
|
| 创建流水线 |
|
| 查看流水线 |
|
| 修改流水线 |
|
| 修改流水线属性 |
|
| 删除流水线 |
|
| 预览流水线 | datafusion.pipelines.preview |
| 运行流水线 | datafusion.pipelines.execute |
| 创建时间表 | datafusion.pipelines.execute |
| 查看时间表 |
|
| 更改时间表 | datafusion.pipelines.execute |
| 列出安全密钥 |
|
| 创建安全密钥 |
|
| 查看安全密钥 |
|
| 删除安全密钥 |
|
| 列出制品* |
|
| 创建制品* |
|
| 获取制品* |
|
| 删除制品* |
|
| 偏好设置、标记和元数据 | 偏好设置、标记和元数据是在特定资源 (datafusion.RESOURCE.update) 的资源级设置的。
|
| 数据集权限(已弃用) | datafusion.namespaces.update |
后续步骤
- 详细了解 Cloud Data Fusion 中的 RBAC。