若您当前使用简单模式工作空间,但希望使用开发与生产环境隔离机制,您可将简单模式工作空间升级为标准模式工作空间,本文为您介绍如何升级工作空间模式。

前提条件

操作工作空间模式升级前,您需要先了解以下内容:

变更内容

工作空间模式升级后会在原简单模式工作空间对应的生产环境基础上,新增开发环境。
说明 非MaxCompute引擎开发环境将根据生产环境配置生成,即开发环境和生产环境操作同一个库,本文主要针对MaxCompute简单模式升级标准模式的场景进行说明。
模式升级
分类 升级前 升级后
引擎个数 一个引擎 新增开发环境引擎,开发环境和生产环境可以对应不同引擎。
说明
  • MaxCompute引擎在升级时,会同时创建开发环境对应的MaxCompute引擎项目。
  • 非MaxCompute引擎在升级时,会根据原简单模式空间生产引擎生成开发引擎项目,您可在升级后前往计算引擎配置页面变更项目配置以实现开发生产隔离。
数据源 一份 新增开发环境数据源,开发环境和生产环境可以对应不同的数据源。
说明 在升级时,会按照原简单模式工作空间生成配置一致的开发数据源,您可在升级后前往数据源配置界面以实现数据源开发与生产隔离。详情请参见创建与管理数据源
数据表 一张 MaxCompute场景下,新增开发表,MaxCompute引擎的工作空间将在开发环境对应的MaxCompute项目中,根据原生产环境中的表生成与原生产环境项目一致的表结构。
说明

升级后,开发环境不会同步生产环境的数据。

工作空间模式升级

阿里云主账号可以通过下述操作,升级简单模式的工作空间为标准模式。

  1. 进入工作空间配置页面
  2. 工作空间配置页面,单击模式后的升级为标准模式升级
  3. 升级为标准模式对话框中,输入开发环境下的MaxCompute项目名称,并勾选确认要升级此工作空间,单击确定
    重要 升级时会自动根据原简单模式工作空间生成开发环境,若为MaxCompute引擎,则会根据原项目生成开发引擎项目,您可在升级完成后,前往工作空间配置 > 计算引擎信息页面,修改引擎配置,例如修改当前工作空间生产环境访问身份。
  4. 单击确认升级提示框中的确认

完成上述操作后,即可返回工作空间配置页面,查看该工作空间的模式已显示为标准模式

MaxCompute简单模式升级为标准模式的影响

以下以升级过程与案例为您介绍简单模式升级为标准模式的影响,您可以通过场景:MaxCompute引擎在不同模式工作空间访问资源与权限说明了解更多详情。

升级过程

简单模式升级为标准模式后,DataWorks会将原工作空间中的成员加入新建的MaxCompute开发项目中,并将原项目的成员和角色都保留。但会撤销项目成员在生产项目的权限,只有项目所有者具有生产项目的权限。

  1. 生成开发环境项目(项目名格式:projectname_dev)、生成开发数据源项目、生成开发表结构。
  2. 添加开发环境项目成员:将DataWorks工作空间成员在引擎层面添加为开发引擎项目成员,命令add user添加项目成员
  3. 移除原空间成员生产项目权限:简单模式空间下,RAM用户拥有较大的生产环境权限,升级后,将移除RAM用户拥有的生产项目权限,只允许RAM用户操作_dev项目。

场景示例:

例如,某公司在DataWorks上有一个工作空间A,单击升级为标准模式后,创建了一个开发环境的工作空间A_dev。
  • 原来工作空间A中的成员、角色、表、资源都会在工作空间A_dev下进行创建(仅创建表,不会克隆表数据)。
  • 原工作空间A下的成员A1(开发角色)、B1(运维角色),同时也会加入工作空间A_dev,并保留角色权限。
  • A项目会变成生产项目,A1和B1用户在工作空间A中的数据权限会被撤销,默认没有表的select和drop权限,生产环境的数据会直接受到保护。
  • 默认在DataStudio(数据开发)页面操作的MaxCompute项目是A_dev。如果在数据开发界面查询生产环境的数据,需要使用项目名.表名的方式。数据开发页面只能编辑A_dev环境的代码,如果需要更新工作空间A中的代码,只能通过A_dev提交任务至调度系统,发布至生产环境的方式进行更新。任务发布(审核)可以保障生产环境代码的正确性。
说明 工作空间模式升级后,无法直接访问原工作空间的数据,需要申请角色权限。在数据开发界面查询的表,默认是开发环境的表。如果要访问生产表,需要申请完角色权限后,使用项目名.表名的方式访问。

工作空间升级到标准模式后,RAM用户之前的角色会被清除。如果您的代码中写了某个账号的密钥,可能会产生无权限的报错。

影响行为示例:

假设当前绑定的引擎为MaxCompute引擎,简单模式工作空间使用计算引擎的账号为阿里云主账号,升级为标准模式工作空间后RAM用户的操作行为如下表所示。
行为场景 原简单模式工作空间 现标准模式工作空间
操作资源(table/resource/function) 直接操作即可成功。
说明 简单模式工作空间直接使用阿里云主账号权限执行任务,所以即便是RAM用户操作,其同样与主账号有相等的权限,由于阿里云主账号权限较大,所以RAM用户可以直接操作生产数据,无法做到权限控制。
  • 操作开发环境资源:RAM用户在数据开发界面可以通过命令直接操作开发环境资源。
  • 操作生产环境资源:RAM用户在数据开发界面无法直接操作生产环境资源。
    说明 标准模式工作空间下RAM用户默认没有生产环境权限,生产表权限需要在安全中心走审批进行审批。
访问环境及账号问题 简单模式仅生产环境,所有命令直接操作生产。
  • 数据开发:使用阿里云主账号访问生产资源
  • 生产运维中心:使用阿里云主账号访问生产资源。
  • 数据开发:使用RAM用户、个人账号访问资源。默认访问/写入开发资源。
  • 生产运维中心:使用生产环境指定账号访问/写入生产资源。
访问对应环境资源 projectname.tablename/resource/function
  • 访问开发资源:projectname_dev.tablename/resource/function
    说明 数据开发DataStudio界面默认访问开发资源。即在sql中不带项目名直接访问table/resource/function
  • 访问生产资源:projectname.tablename/resource/function
    说明 生产运维中心默认访问生产资源。即在sql中不带项目名直接访问table/resource/function