博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MaxCompute/DataWorks权限问题排查建议
阅读量:6660 次
发布时间:2019-06-25

本文共 1857 字,大约阅读时间需要 6 分钟。

MaxCompute/DataWorks权限问题排查建议

前提:MaxCompute与DataWorks为两个产品,在权限体系上既有交集又要一定的差别。在权限问题之前需了解两个产品独特的权限体系。

MaxCompute:计算引擎

MaxCompute底层计算引擎有自己的安全权限体系,包括ACL、Policy授权体系。具体可以了解:

MaxCompute/DataWorks权限问题排查建议

DataWorks:数据工场

DataWorks为MaxCompute上层的云数仓开发工具,拥有自身的权限模型外还支持底层MaxCompute底层数据授权体系。具体详见:

查看MaxCompute上的角色

通过MaxCompute Console命令list roles;可以看到角色体系,role_开头都为DataWorks基于MaxCompute封装的角色及权限体系。介绍如下:

MaxCompute/DataWorks权限问题排查建议

MaxCompute/DataWorks权限问题排查建议

admin:MaxCompute计算引擎的默认admin角色,可以访问项目空间内的所有对象、对用户或角色进行管理、对用户或角色进行授权。与项目空间 Owner 相比,admin 角色不能将 admin 权限指派给用户,不能设定项目空间的安全配置,不能修改项目空间的鉴权模型,admin 角色所对应的权限不能被修改。一般情况下,如未修改过权限,一般情况下admin角色用户只有一个为project owner账号。
odps@ clouder_bi>describe role admin;

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$主帐号:子帐号;

MaxCompute/DataWorks权限问题排查建议

可以看到用户所具有的角色及相关权限点。

查看指定对象的授权列表,一般获取表到人。

show acl for <objectName> [on type <objectType>];--查看指定对象上的用户和角色授权列表
支持的objecTtype: PROJECT, TABLE, JOB, VOLUME, INSTANCE, RESOURCE, FUNCTION,PACKAGE,TOPOLOGY,MATRIX,XFLOW,OFFLINEMODEL,STREAMJOB

MaxCompute/DataWorks权限问题排查建议

查看ACL是否生效(常常发生在授权之后返回OK,但是权限校验还是失败)

show SecurityConfiguration;--查看项目空间的安全配置
MaxCompute/DataWorks权限问题排查建议

除了通过命令行方式,也可以通过++DataWorks>项目管理>MaxCompute高级配置++里的ACL开关来确认是否打开。

Policy授权的查询

policy授权一般常见有两种,一个是项目级别的,一个是role级别的。

get policy;--获取项目级别的policy配置;

get policy on role <rolename>;--获取指定的role policy设置。
MaxCompute/DataWorks权限问题排查建议

转载于:https://blog.51cto.com/14031893/2336012

你可能感兴趣的文章
大话nbu八(Nbu备份恢复本机oracle数据库)
查看>>
风无痕
查看>>
linux内核从2.6到3.0.0
查看>>
mysql的连接超时设置
查看>>
[arm驱动]从零开始写个platform平台总线
查看>>
springboot读取配置文件的三种方式
查看>>
网络学习日记
查看>>
Flexible二次开发平台
查看>>
javascript创建标签的方法
查看>>
Vue踩坑记录及工作记录
查看>>
轻松学 Node.js
查看>>
企业数据保护需要注意什么
查看>>
Caused by: java.sql.BatchUpdateException: ORA-00001: 违反唯一约束条件
查看>>
Linux下使用yamdi为flv视频批量添加关键帧
查看>>
记一次http网站换成https的处理
查看>>
基于Node.js的自动化工具Gulp
查看>>
python基本装饰器
查看>>
/usr/bin/ld: cannot find -lc
查看>>
小程序判断是否授权
查看>>
知识点019-nginx的编译安装
查看>>