简介: 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. HMAC算法:数据传输的保护神

    HMAC算法起源: HMAC(Hash-based Message Authentication Code)算法是由Mihir Bellare.Ran Canetti和Hugo Krawczyk于19 ...

  2. offer收割机--js的隐式类型转换规则整理

    类型转换 文中的值类型等价于所说的基础类型,其范围是(boolean,string,number) 转换为基础类型 布尔值 undefined, null, false, NaN,'', 0 --&g ...

  3. Android优化总结

    目录介绍 1.OOM和崩溃优化 1.1 OOM优化 1.2 ANR优化 1.3 Crash优化 2.内存泄漏优化 2.0 动画资源未释放 2.1 错误使用单利 2.2 错误使用静态变量 2.3 han ...

  4. JavaScript实现防抖与节流

    1. 引言 有这么一种场景:某个页面表单按钮设置了点击提交事件,有时因为网络不好,点击后后台服务端很久才返回信息,然而用户因等待许久已经多次点击导致多次发送数据,实际上服务器只需要一次发送的数据即可 ...

  5. 《Go程序设计语言》学习笔记之map

    <Go程序设计语言>学习笔记之map 一. 环境 Centos8.5, go1.17.5 linux/amd64 二. 概念 1) 散列表,是一个拥有键值对元素的无序集合.在这个集合中,键 ...

  6. drools中no-loop和lock-on-active的区别

    一.背景 在我们编写drools规则的过程中,可能会发生死循环,那么该怎么解决呢?如果想某一个规则只执行一次,即别的规则导致该规则重新执行,也不需要执行,那么该怎么解决呢? 二.解决方案 针对以上问题 ...

  7. vue2中安装vuex

    2022年2月7日,vue3成为默认版本,npm i vue安装的直接就是vue3了 npm i -vuex 安装的是vuex4 vuex4只能在vue3中使用 vue2中,要用vuex3版本,安装 ...

  8. archlinux运行appimage

    1.cd进入appimage所在的目录 cd your_folder 2.赋予appimage运行权限 chmod +x your_file.appimage 3.运行appimage格式文件 ./y ...

  9. 11.硬核的volatile考点分析

    大家好,我是王有志.关注王有志,一起聊技术,聊游戏,聊在外漂泊的生活. 今天我们学习并发编程中另一个重要的关键字volatile,虽然面试中它的占比低于synchronized,但依旧是不可忽略的内容 ...

  10. #欧拉回路#AT4518 [AGC032C] Three Circuits

    题目 给定一个 \(n\) 个点,\(m\) 条边的简单无向连通图, 问是否能将边分成三部分,使每部分都能成为环 分析 每个点的度数都得为偶数,这不由得想到了欧拉回路. 如果整张图是一个简单环那么一定 ...