MaxCompute/DataWorks权限问题排查建议
MaxCompute/DataWorks权限问题排查建议
__前提:__MaxCompute与DataWorks为两个产品,在权限体系上既有交集又要一定的差别。在权限问题之前需了解两个产品独特的权限体系。
MaxCompute:计算引擎
MaxCompute底层计算引擎有自己的安全权限体系,包括ACL、Policy授权体系。具体可以了解:https://help.aliyun.com/document_detail/27924.html
DataWorks:数据工场
DataWorks为MaxCompute上层的云数仓开发工具,拥有自身的权限模型外还支持底层MaxCompute底层数据授权体系。具体详见:https://help.aliyun.com/document_detail/92594.html
查看MaxCompute上的角色
通过MaxCompute Console命令list roles;可以看到角色体系,role_开头都为DataWorks基于MaxCompute封装的角色及权限体系。介绍如下:
rolename
|
对应产品及权限名称
|
admin
|
MaxCompute底层引擎默认admin角色
|
role_project_admin
|
DataWorks项目管理员
|
role_project_deploy
|
DataWorks部署角色
|
role_project_dev
|
DataWorks开发角色
|
role_project_guest
|
DataWorks访客角色
|
role_project_pe
|
DataWorks运维角色
|
role_project_scheduler
|
DataWorks生产代持账号
|
role_project_security
|
DataWorks安全管理员
|
- __admin:__MaxCompute计算引擎的默认admin角色,可以访问项目空间内的所有对象、对用户或角色进行管理、对用户或角色进行授权。与项目空间 Owner 相比,admin 角色不能将 admin 权限指派给用户,不能设定项目空间的安全配置,不能修改项目空间的鉴权模型,admin 角色所对应的权限不能被修改。一般情况下,如未修改过权限,一般情况下admin角色用户只有一个为project owner账号。
odps@ clouder_bi>describe role admin;
[users]
ALIYUN$***@aliyun-test.com
Authorization Type: Admin
MaxCompute project owner可以将admin角色授予其他子账号,用于进行MaxCompute底层的权限模型管理。
- role_开头的角色也可以通过describe role 方式查看其角色所具备的权限点及角色里的用户列表。以开发者角色为例:
odps@ clouder_bi>describe role role_project_dev;
[users]
RAM$yangyi.pt@aliyun-test.com:yangyitest
Authorization Type: Policy
A projects/clouder_bi: *
A projects/clouder_bi/instances/*: *
A projects/clouder_bi/jobs/*: *
A projects/clouder_bi/offlinemodels/*: *
A projects/clouder_bi/packages/*: *
A projects/clouder_bi/registration/functions/*: *
A projects/clouder_bi/resources/*: *
A projects/clouder_bi/tables/*: *
A projects/clouder_bi/volumes/*: *
排查问题建议:
在普及完两个产品的权限体系之外,更多的用户会遇到各种权限的疑问或者问题。通常可以通过如下方式来排查:
- 首先,查看当前用户或指定用户所拥有的权限。
show grants; --查看当前用户自己的访问权限
show grants for <username>; --查看指定用户的访问权限,仅由ProjectOwner和Admin才能有执行权限 。
show grants for RAM$主帐号:子帐号;
可以看到用户所具有的角色及相关权限点。
- 查看指定对象的授权列表,一般获取表到人。
show acl for <objectName> [on type <objectType>];--查看指定对象上的用户和角色授权列表
支持的objecTtype: PROJECT, TABLE, JOB, VOLUME, INSTANCE, RESOURCE, FUNCTION,PACKAGE,TOPOLOGY,MATRIX,XFLOW,OFFLINEMODEL,STREAMJOB
- 查看ACL是否生效(常常发生在授权之后返回OK,但是权限校验还是失败)
show SecurityConfiguration;--查看项目空间的安全配置
除了通过命令行方式,也可以通过__++DataWorks>项目管理>MaxCompute高级配置++__里的ACL开关来确认是否打开。
Policy授权的查询
policy授权一般常见有两种,一个是项目级别的,一个是role级别的。
get policy;--获取项目级别的policy配置;
get policy on role <rolename>;--获取指定的role policy设置。
原文链接
本文为云栖社区原创内容,未经允许不得转载。
MaxCompute/DataWorks权限问题排查建议的更多相关文章
- 调试错误,请回到请求来源地,重新发起请求。 错误代码 insufficient-isv-permissions 错误原因: ISV权限不足,建议在开发者中心检查对应功能是否已经添加
接人H5手机网站支付宝支付时,已经将表单发给页面了,支付宝响应调试错误,请回到请求来源地,重新发起请求.错误代码 insufficient-isv-permissions 错误原因: ISV权限不足, ...
- MaxCompute 项目子账号做权限管理
场景: 一个企业使用多款阿里云产品,MaxCompute是其中一个产品,用的是同个主账号,主账号不是由使用MaxCompute的大数据同学管理, 大数据同学使用的是子账号.大数据同学日常需要给Max ...
- MaxCompute安全管理指南-基础篇
背景及目的 方便和辅助MaxCompute的project owner或安全管理员进行project的日常安全运维,保障数据安全. MaxCompute有安全模型,DataWorks也有安全模型,当通 ...
- 在DataWorks中实现指定UDF只能被指定账户访问
背景 之前写过一篇文章是关于“DataWorks和MaxCompute内部权限体系的区别”有兴趣的朋友可以点击阅读查看详情.但是还是有些同学会问,我如何在DataWorks中实现我的具体某个Resou ...
- MaxCompute安全管理指南-案例篇
通过<MaxCompute安全管理-基础篇>了解到MaxCompute和DataWorks的相关安全模型.两个产品安全方面的关联,以及各种安全操作后,本篇主要给出一些安全管理案例,给安全管 ...
- 大数据处理也要安全--关于MaxCompute的安全科普
[TOC] 1.企业大数据处理现状 当今社会数据收集手段不断丰富,行业数据大量积累,数据规模已增长到了传统软件行业无法承载的海量数据(百GB.TB乃至PB)级别.基于此,阿里云推出有了一套快速.完全托 ...
- MaxCompute问答整理之6月
本文是基于本人对MaxCompute产品的学习进度,再结合开发者社区里面的一些问题,进而整理成文.希望对大家有所帮助,下面咱们正式开始. 1.什么是MaxCompute呢?MaxCompute是由阿里 ...
- Android M(6.0) 权限相关
原文链接:http://jijiaxin89.com/2015/08/30/Android-s-Runtime-Permission/ Android M 新的运行时权限开发者需要知道的一切 an ...
- SQL Server 权限管理
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/权限控制/管理/分配/登入名/数据库用户/角色 概述 对数据库系统而言,保证数据的安全性永远都是最重要的问题之一.一个好的数据库环 ...
随机推荐
- Ubuntu全盘备份与恢复,亲自总结,实测可靠
https://blog.csdn.net/sinat_27554409/article/details/78227496 Ubuntu全盘备份与恢复,亲自总结,实测可靠 初学者在使用Ubuntu这类 ...
- PPT vba从Execl 拷贝图表
在PPT 需要引用Execl的COM组件 Dim wkb As Workbook Sub Change() Set wkb = Workbooks.Open("D:\D2_月报基础数据.xl ...
- MyBatis(九) 使用association定义单个对象的封装规则
(1)接口中编写方法 public Emp getEmpandDept(); (2)编写Mapper文件 <resultMap type="com.eu.bean.Emp" ...
- go、java or c艹 引用的本质
在底层,引用变量由指针按照指针常量的方式实现 即一个指针常量,和一些解引用等的封装: 合到一起实现了指针这么一种形式. 用指针和引用编译到了汇编层面应该是一样的.
- vue组件里定时器销毁问题
我在a页面写一个定时,让他每秒钟打印一个1,然后跳转到b页面,此时可以看到,定时器依然在执行.这样是非常消耗性能的.如下图所示: 解决方法1: 首先我在data函数里面进行定义定时器名称: data( ...
- win10 vscode使用 智能提示
1.没有第三方库的智能提示 参考:https://code.visualstudio.com/docs/python/editing 1.点开Settings 2.搜索加添加 3.添加后的内容 然后就 ...
- 安装与配置Flutter开发环境
这篇博客我们介绍了Flutter,并且对比了H5,React Native,Flutter. 由于Flutter是跨平台的开发框架,开发一次可以同时运行在Android和iOS上面,所以我们开发时最好 ...
- Java 延迟队列使用
延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才能从该延时对列中获取任务否则获取不到…… 应用场景比较多,比如延时1分钟发短 ...
- 微软跨平台ORM框架之EFCore
EFCore是微软推出的跨平台ORM框架,想较于EF6.X版本,更加轻量级.EFCore目前已经更新到2.x. 接下来用CodeFirst的方式来使用EFCore. 1.创建控制台程序 2.引入EFC ...
- [Swift]LeetCode883. 三维形体投影面积 | Projection Area of 3D Shapes
On a N * N grid, we place some 1 * 1 * 1 cubes that are axis-aligned with the x, y, and z axes. Each ...