场景:工作空间模式升级(简单模式升级标准模式)

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

操作须知

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

使用限制

仅支持阿里云主账号执行工作空间模式升级操作。

升级策略

工作空间模式升级后,平台会基于原简单模式工作空间的生产环境数据源,新增对应的开发环境数据源,实现数据源环境隔离。

  • MaxCompute数据源:平台通过判断数据源是否被绑定至数据开发(DataStudio),提供相应升级策略。 

    • 数据源未绑定至数据开发

      • 复制一份生产环境的数据源至开发环境,并将开发环境数据源的默认访问身份配置为执行者

      • 若简单模式工作空间数据源(即生产环境数据源)的默认访问身份任务责任人,则升级之后,生产环境数据源的默认访问身份更新为阿里云主账号

    • 数据源已绑定至数据开发

      复制一份生产环境的数据源至开发环境,并且开发环境数据源的MaxCompute项目名称自动添加_dev后缀。若生产环境数据源的项目名称原本已包含_dev,则对应的开发环境数据源的项目名称将继续添加_dev后缀。

      示例:生产环境MaxCompute项目名称为test_dev,升级后,对应开发环境的项目名称则为test_dev_dev

  • 非MaxCompute数据源:复制一份生产环境的数据源至开发环境,即开发环境和生产环境将操作同一个库。

说明

本文主要针对MaxCompute简单模式升级标准模式的场景进行说明。

模式升级

类别

升级前

升级后

数据源

一个

新增开发环境数据源,开发环境和生产环境可对应不同的数据源。

说明
  • 升级时,平台将按照原简单模式工作空间(即生产数据源)生成配置相同的开发数据源,实现数据源开发与生产隔离。您可在升级后前往数据源配置界面查看,详情请参见创建并管理数据源

  • 升级后:

    • 开发数据源和生产数据源完全隔离,修改开发数据源的配置信息不会影响生产数据源的使用。

    • 开发数据源对应的MaxCompute项目中不会新增开发表,您需根据业务需要创建相应开发表。创建表的相关操作,请参见创建并使用MaxCompute表

工作空间模式升级

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

说明

升级操作不可逆,请谨慎操作。

  1. 进入管理中心页面。

    登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的更多 > 管理中心,在下拉框中选择对应工作空间后单击进入管理中心

  2. 工作空间 > 基础配置,单击模式后的升级为标准模式

  3. 升级为标准模式对话框,勾选此升级不可逆,请确定要升级此工作空间,单击开始升级

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。