Dataworks为您提供简单模式和标准模式两种工作空间模式,本文为您介绍两种模式的特点与区别。

简单模式

简单模式指一个Dataworks工作空间对应一个MaxCompute项目,无法设置开发环境和生产环境,只能进行简单的数据开发。简单模式的工作空间无法对数据开发流程和表权限进行强控制。
  • 优势:迭代快,代码提交后,无需发布即可生效。
  • 风险:开发角色权限过大,可以随意删除本工作空间下的表,存在数据安全风险。

标准模式

标准模式指一个Dataworks工作空间对应两个MaxCompute项目(开发和生产双环境),提升代码开发规范。

标准模式的工作空间可以严格控制表权限,禁止随意操作生产环境表的行为,保证生产表的数据安全。
说明
  • 所有任务只能在开发环境进行编辑,无法直接修改生产环境的代码,保证生产环境代码的稳定。
  • 开发环境默认不开启任务调度,避免开发环境的任务周期运行时,和生产环境的任务抢夺资源,更好地保障生产环境任务运行的稳定性。
  • 生产环境运行会有一个生产账号,默认为主账号。生产账号产出的所有表都属于生产环境MaxCompute访问者身份所指定的账号。如果非主账号及指定的子账号开发过程中需要使用生产表,必须单独申请权限,更好地保障数据安全。

创建工作空间时,选择模式为标准模式(开发跟生产隔离),输入工作空间名称描述,其余配置项选择默认值即可。

说明
  • 生产环境的MaxCompute访问身份不建议修改为个人账号,否则生产环境的数据安全将无法得到保障。
  • 工作空间列表页面显示的是生产环境工作空间的名称(默认任务运行在开发环境工作空间)。
  • 工作空间成员被授予的系统角色,仅对开发环境工作空间生效。子账号被授予的系统角色,在生产环境工作空间不生效,您需要在数据地图进行申请。
  • 子账号默认无权限对生产环境工作空间进行操作。如果您使用子账号访问生产环境工作空间下的其他产品,例如DataHub投递数据至MaxCompute表等,需要重新给子账号授权。您可以通过MaxCompute客户端进行授权,也可以在数据地图页面申请权限。

项目关系

通过MaxCompute或DataWorks进入管理控制台创建工作空间时,有以下两种模式:
  • 简单模式的工作空间实际是创建了一个绑定好的MaxCompute项目空间和DataWorks工作空间。同时在MaxCompute项目空间中创建对应的角色,角色权限的详情请参见角色管理
  • 标准模式的工作空间实际是创建了绑定好的一个MaxCompute开发(_dev)项目空间、一个MaxCompute生产(prod)项目空间来同时对应一个DataWorks工作空间。同时在MaxCompute的项目空间中创建对应的角色,角色权限的详情请参见角色管理

用户和权限关系图

对于简单模式,一个DataWorks工作空间绑定一个MaxCompute项目空间。

您可以在DataWorks工作管理空间工作空间配置 > 计算引擎信息 > MaxCompute区域查看MaxCompute访问者身份,访问身份包括阿里云主账号任务负责人

下图为用户和权限的对应关系。关系图

在标准模式下,一个DataWorks工作空间绑定两个MaxCompute项目空间,即一个开发项目空间和一个生产项目空间。 DataWorks工作空间的其他成员,根据成员角色拥有MaxCompute开发项目空间对应的角色权限,但没有MaxCompute生产项目空间的权限。

MaxCompute任务需要通过发布流程发布到生产项目后,以Owner账号提交至MaxCompute执行。标准模式

不同模式下MaxCompute访问身份的区别与影响

不同工作空间在数据开发界面测试任务时,默认使用当前操作人的账号执行任务,不支持修改,可以有效的控制数据安全。主账号支持在工作空间配置,计算引擎信息里面修改任务调度运行时使用指定的账号执行任务。

简单模式工作空间下配置不同的MaxCompute访问身份时的差异:
  • 生产调度默认MaxCompte访问身份为阿里云主账号,支持修改为阿里云主账号或某个阿里云子账号。
    • 当MaxCompute访问身份为阿里云某个子账号时,调度系统中执行任务的账号为该阿里云子账号,生产表责任人为该阿里云子账号,其他子账号如果要访问生产表需要在数据地图申请权限。
    • 当MaxCompute访问身份为阿里云主账号时,调度系统中执行任务的账号为阿里云主账号,生产表责任人为阿里云主账号,子账号如果要访问生产表需要在数据地图申请权限。
  • 数据开发界面执行任务使用的账号为:当前操作人,不可修改。
标准模式工作空间下配置不同的MaxCompute访问身份时的差异:
  • 开发环境MaxCompute项目默认MaxCompute访问身份为任务责任人,不可修改。
  • 生产环境默认MaxCompte访问身份为阿里云主账号,支持修改为阿里云主账号或某个阿里云子账号。
    • 当MaxCompute访问身份为阿里云某个子账号时,调度系统中执行任务的账号为该阿里云子账号,生产表责任人为该阿里云子账号,其他子账号如果要访问生产表需要在数据地图申请权限。
    • 当MaxCompute访问身份为阿里云主账号时,调度系统中执行任务的账号为阿里云主账号,生产表责任人为阿里云主账号,子账号如果要访问生产表需要在数据地图申请权限。
  • 数据开发界面执行任务使用账号为:当前操作人,不可修改。