DataWorks包括简单模式和标准模式两种工作空间模式,本文为您详细介绍MaxCompute引擎在不同模式工作空间的权限管理特征、资源访问行为差异。
前提条件
已了解简单模式与标准模式的区别。
已了解MaxCompute数据权限控制。
使用说明
类别 | 说明 | 相关文档 |
MaxCompute不同空间模式下权限管理特征的差异。 | 由于不同工作空间模式下,引擎映射的DataWorks环境不同,将导致不同模式下数据访问行为习惯与数据权限、数据安全等级存在差异。 | |
MaxCompute不同空间模式下资源访问行为的差异。 | 由于不同工作空间模式对应的引擎个数,对应的DataWorks空间环境个数不同,其默认访问的资源及需要访问生产资源的方式存在差异。 | |
不同模式下数据库、表命名规范。 | 命名规范严格区分数据库名和表名,避免误操作生产环境。 |
不同模式工作空间的权限管理特征
不同工作空间模式下,引擎映射的DataWorks环境不同,不同工作空间类型的权限管理特征与优缺点也不一致,以下表格为您对比介绍两种空间类型的权限细分特点。
细分特点 | 简单模式 | 标准模式 |
权限概述 | 在简单模式空间下,DataWorks的“开发”角色因为与所绑定MaxCompute项目的“Role_Project_Dev” Role进行了映射,因此:
| 在标准模式空间下,DataWorks的“开发”角色因为与所绑定MaxCompute项目(dev环境)的“Role_Project_Dev” Role进行了映射,因此:
|
优点 | 简单、方便、易用。 仅需要授权数据开发人员“DataWorks开发角色”即可完成所有数据仓库开发工作。 | 安全、规范。
|
缺点 | 存在不稳定、不安全的风险。
| 流程相对复杂,一般情况下无法一人完成所有数据开发、生产流程。 |
MaxCompute引擎在不同模式工作空间的资源访问行为差异
MaxCompute可跨项目访问资源,所以在DataWorks上,开发人员可在数据开发即开发环境界面直接访问生产环境下的资源。由于简单模式与标准模式对应的引擎项目个数和DataWorks空间环境个数不同,其访问生产环境资源的命令不同,具体访问行为如下表所示:
场景 | 工作空间模式 | 数据开发界面 | 生产运维中心 |
执行账号 | 标准模式 | 当前操作人 | 调度引擎指定账号 |
简单模式 | 调度引擎指定账号 说明 简单模式工作空间下,如果调度引擎指定账号为阿里云主账号,无论是否是主账号进行执行任务的操作,其都将使用主账号身份执行任务。 | ||
资源所在环境 | 标准模式 | projectname_dev.tablename/function/resource | projectname.tablename/function/resource |
简单模式 | projectname.tablename/function/resource | ||
访问资源 | 标准模式 | 场景一:
场景二:
说明 阿里云RAM用户(非调度引擎指定账号)默认无权限访问生产环境,生产表权限需要在安全中心申请。 |
|
简单模式 | select col1 from tablename.
说明 简单模式工作空间下,如果调度引擎指定账号为阿里云主账号,无论是否是主账号进行执行任务的操作,其都将使用主账号身份访问该资源。 | ||
访问资源权限问题 | 标准模式 | 个人所拥有的资源权限。 | 调度引擎指定账号所拥有的权限。 |
简单模式 | 调度引擎指定账号所拥有的权限。 说明 如果当前简单模式工作空间使用的调度引擎指定账号为阿里云主账号,权限过大,不建议您直接使用阿里云主账号作为简单模式工作空间调度引擎执行账号。 |
MaxCompute引擎在不同模式下数据库表命名规范
简单模式下不区分开发环境和生产环境,开发库即生产库。标准模式下,支持开发环境和生产环境隔离,开发环境和生产环境的数据库表命名有所区别,如果需要在开发环境访问生产环境的数据库表,请根据以下命名规范严格区分数据库表名,避免误操作生产环境。
环境类型 | 标准模式 | 示例 |
开发环境 | 项目名_dev.表名 | 在projectA项目下创建一个开发库表user_info,则数据库表名为:projectA_dev.user_info。 |
生产环境 | 项目名.表名 | 在projectA项目下创建一个生产库表user_info,则数据库表名为:projectA.user_info。 |