共计 2468 个字符,预计需要花费 7 分钟才能阅读完成。
这期内容当中丸趣 TV 小编将会给大家带来有关 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 设置。
上述就是丸趣 TV 小编为大家分享的 MaxCompute/DataWorks 权限问题排查建议是怎样的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注丸趣 TV 行业资讯频道。