简介: DataWorks功能实践系列,帮助您解析业务实现过程中的痛点,提高业务功能使用效率!

往期回顾:

通过前两期的介绍,您可以了解使用DataWorks进行数据同步的主要知识点:数据同步方案和资源组,而在实际应用过程中,我们常常会需要将开发和生产环境进行隔离,开发环境用于数据同步测试,生产环境用于生产数据的同步处理。本期就为您介绍DataWorks实现开发与生产环境隔离的主要知识点。

功能推荐:标准模式——开发环境与生产环境隔离

为方便不同安全管控要求的用户生产数据,DataWorks为您提供简单模式标准模式两种工作空间模式,其中简单模式无法设置开发环境和生产环境,而标准模式同时提供开发环境与生产环境,并将两个环境隔离开,您可以分别在开发环境和生产环境中进行数据任务处理。

Part1:简单模式与标准模式的DataWorks工作空间

首先为您介绍两种模式工作空间的主要区别。

简单模式

标准模式

在简单模式工作空间下,一个DataWorks空间下层对应一个MaxCompute项目(或一个EMR集群、Hologres数据库等),该环境即视为生产(PROD)环境。

在标准模式工作空间下,一个DataWorks空间下层对应两个MaxCompute项目(或两个EMR集群、Hologres数据库等),一个视为开发(DEV)环境,一个视为生产(PROD)环境。

由上可见,DataWorks的标准模式工作空间可以将开发、生产环境进行隔离,因此,如果您使用了标准模式后,进行数据访问与权限管控时,开发环境与生产环境的使用注意事项不一致。

Part2:不同模式工作空间的数据访问

您可以在DataWorks的工作空间配置 > 计算引擎信息区域,设置不同模式下,工作空间的数据访问模式。

计算引擎类型

环境

标准模式工作空间

简单模式工作空间

(开发环境即生产环境)

MaxCompute

开发环境

页面运行任务(不可选):默认为执行任务者(当前登录者)

页面运行任务(不可选):默认为执行任务者(当前登录者)

调度访问身份(可选):

  • 阿里云主账号
  • 阿里云RAM角色
  • 任务负责人:任务Owner账号的身份

生产环境

调度访问身份(可选):

  • 阿里云主账号
  • 阿里云RAM用户
  • 阿里云RAM角色

E-MapReduce

开发环境

  • 快捷模式下访问身份:统一使用集群内的Hadoop用户。
  • 安全模式下访问身份:任务执行者
  • 快捷模式下访问身份:统一使用集群内的Hadoop用户。
  • 安全模式下访问身份(可选):
    • 任务责任人
    • 阿里云主账号
    • 阿里云RAM用户

生产环境

  • 快捷模式下访问身份:统一使用集群内的Hadoop用户。
  • 安全模式下访问身份(可选):
    • 任务责任人
    • 阿里云主账号
    • 阿里云RAM用户

Hologres

开发环境

页面运行任务(不可选):默认为执行任务者(当前登录者)。

页面运行任务(不可选):默认为执行任务者(当前登录者)

调度访问身份(可选):

  • 阿里云主账号
  • 阿里云RAM用户

生产环境

调度访问身份(可选):

  • 阿里云主账号
  • 阿里云RAM用户

Part3:不同模式工作空间的权限管理特征

DataWorks采取RBAC权限模型供用户管理DataWorks所有页面可见功能以及API的使用权限,同时这套权限体系与MaxCompute的RBAC角色体系存在天然的映射关系,详情可参见 成员及角色管理成员角色与权限关系。不同工作空间类型的权限管理特征与优缺点不一致,以下表格为您对比介绍两种空间类型的权限细分特点。

细分特点

简单模式

标准模式

权限概述

在简单模式空间下,DataWorks的“开发”角色因为与所绑定MaxCompute项目的“Role_Project_Dev” Role进行了映射,因此DataWorks开发角色天然能够读取MaxCompute项目内的所有数据

在标准模式空间下,DataWorks的“开发”角色因为与所绑定MaxCompute项目(dev环境)的“Role_Project_Dev” Role进行了映射,因此:

  • DataWorks开发角色天然能够读取MaxCompute项目(dev环境)内的所有数据。
  • 由于没有和MaxCompute项目(PROD环境)的role映射,因此默认情况下DataWorks开发角色无MaxCompute(PROD环境)的数据权限

优点

简单、方便、易用

仅需要授权数据开发人员“DataWorks开发角色”即可完成所有数据仓库开发工作。

安全、规范

  • 具备安全、规范的代码发布管控流程(包含代码评审、代码DIFF查看等功能),保障生产环境稳定性,避免不必要的因代码逻辑引起的脏数据蔓延或任务报错等非预期情况。
  • 数据访问得到有效管控,数据安全得以保障。

缺点

存在不稳定、不安全的风险。

  • 开发角色可以不经过任何人审批,随时新增、修改代码并提交至调度系统,给生产环境带来不稳定因素。
  • 面向MaxCompute计算引擎时,开发角色默认拥有当前MaxCompute项目所有表的读写权限,可随意对表进行增加、删除和修改等操作,存在数据安全风险。

流程相对复杂,一般情况下无法一人完成所有数据开发、生产流程。

MaxCompute引擎在不同模式下数据库表命名规范

简单模式下不区分开发环境和生产环境,开发库即生产库。标准模式下,支持开发环境和生产环境隔离,开发环境和生产环境的数据库表命名有所区别,如果需要在开发环境访问生产环境的数据库表,请根据以下命名规范严格区分数据库表名,避免误操作生产环境。

环境类型

标准模式

示例

开发环境

项目名_dev.表名

在projectA项目下创建一个开发库表user_info,则数据库表名为:projectA_dev.user_info。

生产环境

项目名.表名

在projectA项目下创建一个生产库表user_info,则数据库表名为:projectA.user_info。

更多的简单模式与标准模式的区别可前往帮助中心

场景实践:

权限管理与规范化数据开发:通过本实践,您可以了解使用标准模式的工作空间时,用户进行数据开发的标准流程与权限管控建议。

原文链接

本文为阿里云原创内容,未经允许不得转载。

DataWorks 功能实践速览03期 — 生产开发环境隔离的更多相关文章

  1. 读 Linux 像读小说「GitHub 热点速览 v.22.03」

    本周特推选取了一个画风有点意思的 Linux 代码带读项目 flash-linux0.11-talk,希望有趣的文风能带你读完 Linux 代码.当然画风可以增加阅读体验,彩色标记也是一种学习方法-- ...

  2. 互联网巨头们的 SRE 运维实践「GitHub 热点速览 v.21.27」

    作者:HelloGitHub-小鱼干 本周大热点无疑是前几天 GitHub 发布的 Copilot,帮你补全代码,给你的注释提出建议,预测你即将使用的代码组件-如此神奇的 AI 技术,恰巧本周微软也开 ...

  3. 2023 年该学点什么技术?「GitHub 热点速览 v.23.03」

    春节期间,小鱼干读了一篇万字回顾数据库行业的文章,在文字缝隙里我看见了两个词:AI+ 和数据两个词(当然数据是废话,毕竟是一个数据库的回顾文).在 GitHub 上热点趋势上,可见到 AI+ 的身影, ...

  4. .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍

    Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...

  5. .NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践

    心情小札:近期换了工作,苦逼于22:00后下班,房间一篇狼藉~ 小翠鄙视到:"你就适合生活在垃圾堆中!!!" 晚上浏览博客园 看到一篇非常实用的博客:.NET平台开源项目速览(14 ...

  6. 摆脱 996——GitHub 热点速览 v.21.03

    作者:HelloGitHub-小鱼干 Twitter 有位程序员总结了本周的 GitHub 中文程序员的看点:国内程序员日常--考公务员.996.抢茅台.刷算法.整健康码.在本期热点速览里,小鱼干收录 ...

  7. 自制车速记录仪「GitHub 热点速览 v.21.31」

    作者:HelloGitHub-小鱼干 如果你有一辆普通的自行车,那么就可以使用下 X-TRACK 这个项目制作一个自己的测速器,记录你的行驶轨迹还有车速,体验一把硬件发烧友的乐趣.如果你有一个非 ma ...

  8. 学就完事了!万星项目带你做 3D 游戏——GitHub 热点速览 v.21.18

    本文首发于「HelloGitHub」微信公众号,搜索「HelloGitHub」点击关注解锁更多宝藏! 作者:HelloGitHub-小鱼干 新手开始学习的时候,都会遇到一个问题:如何开始学 xx?Se ...

  9. 代码混淆保安全「GitHub 热点速览 v.21.43」

    作者:HelloGitHub-小鱼干 虽然让代码难以阅读看似是件难以理解的事情,但是混淆后的代码起到了类似加密的作用,而且经过混淆的代码依旧能实现原代码的功能.javascript-obfuscato ...

  10. 解放生产力「GitHub 热点速览 v.21.51」

    作者:HelloGitHub-小鱼干 解放生产力一直都是我们共同追求的目标,能在摸鱼的空闲把赚了.而大部分好用的工具便能很好地解放我们的生产力,比如本周特推 RedisJSON 不用对 JSON 做哈 ...

随机推荐

  1. 利用kali自带的msfvenom工具生成远程控制软件

    一.首先还是得打开postgresql service postgresql start 然后让我们看看它有哪些功能 部分参数 -p 选择一个载荷,或者说一个模块吧. -i 载荷列表 -f 生成的文件 ...

  2. Spring Security 中的 BCryptPasswordEncoder

    一.使用BCryptPasswordEncoder加密的值可以解出来吗 Spring Security 中的 BCryptPasswordEncoder 是一种单向加密算法,它是为了安全性考虑而设计的 ...

  3. elasticsearch使用painless的一些简单例子

    目录 1.背景 2.准备数据 2.1 mapping 2.2 插入数据 3.例子 3.1 (update)更新文档 id=1 的文档,将 age 加 2岁 3.2 (update_by_query)如 ...

  4. el-select的简单封装,使其返回值中包含key,value,obj 三种值

    常规的el-select中change事件返回值,只有key返回,业务上有些需求有需要获取到value值,所以简单的封装了一下,使返回中包含key,value,obj三个值,基本上可以满足大部分的需求 ...

  5. OpenCvSharp inputs[0].size[1] % blobs[0].size[1] == 0

    报错代码如图 详细错误 未处理 OpenCvSharp.OpenCVException HResult=-2146233088 Message=inputs[0].size[1] % blobs[0] ...

  6. ubuntu 联网

    使用NAT

  7. ET介绍——为什么使用C# .net core做服务端?

    为什么使用C# .net core做服务端? 游戏服务端从早期的单服到分布式,开发越来越复杂,对稳定性,开发效率要求越来越高.开发语言的选择也逐步发生了变化,C 到 C++ 到 C++ + PYTHO ...

  8. #单调栈,树状数组#CF1635F Closest Pair

    题目 设 \(f(x,y)=|a_x-a_y|*(w_x+w_y)\),其中 \(a\) 单调递增 多组询问求 \(\min_{l\leq l'<r'\leq r}\{f(l',r')\}\) ...

  9. #线段树#洛谷 3988 [SHOI2013]发牌

    传送门 分析 fake:此题不就是链表模拟题吗,我一开始还真这么想 貌似链表什么用都没有,根据题意很清楚,要找一个支持删除和查询区间第\(k\)大的数据结构 解释一下为什么题目可以转换为查询区间第\( ...

  10. [易语言软件开源] [分享源码] 易语言D2D实现彩虹跑马灯

    注意使用了D2D1.1,部分win7用户可能用不了(win7以下也用不了) 不是单纯的一个彩虹条,是可以变幻的 其实也可以封装成GDI+的,但是GDI+占用比较大,就没有用 点击下载点击下载