共計 2468 個字符,預(yù)計需要花費(fèi) 7 分鐘才能閱讀完成。
這期內(nèi)容當(dāng)中丸趣 TV 小編將會給大家?guī)碛嘘P(guān) MaxCompute/DataWorks 權(quán)限問題排查建議是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
MaxCompute/DataWorks 權(quán)限問題排查建議
__前提:__MaxCompute 與 DataWorks 為兩個產(chǎn)品,在權(quán)限體系上既有交集又要一定的差別。在權(quán)限問題之前需了解兩個產(chǎn)品獨特的權(quán)限體系。
MaxCompute:計算引擎
MaxCompute 底層計算引擎有自己的安全權(quán)限體系,包括 ACL、Policy 授權(quán)體系。具體可以了解:
https://help.aliyun.com/document_detail/27924.html
DataWorks:數(shù)據(jù)工場
DataWorks 為 MaxCompute 上層的云數(shù)倉開發(fā)工具,擁有自身的權(quán)限模型外還支持底層 MaxCompute 底層數(shù)據(jù)授權(quán)體系。具體詳見:https://help.aliyun.com/document_detail/92594.html
查看 MaxCompute 上的角色
通過 MaxCompute Console 命令 list roles; 可以看到角色體系,role_開頭都為 DataWorks 基于 MaxCompute 封裝的角色及權(quán)限體系。介紹如下:
rolename
對應(yīng)產(chǎn)品及權(quán)限名稱
admin
MaxCompute 底層引擎默認(rèn) admin 角色
role_project_admin
DataWorks 項目管理員
role_project_deploy
DataWorks 部署角色
role_project_dev
DataWorks 開發(fā)角色
role_project_guest
DataWorks 訪客角色
role_project_pe
DataWorks 運(yùn)維角色
role_project_scheduler
DataWorks 生產(chǎn)代持賬號
role_project_security
DataWorks 安全管理員
__admin:__MaxCompute 計算引擎的默認(rèn) admin 角色,可以訪問項目空間內(nèi)的所有對象、對用戶或角色進(jìn)行管理、對用戶或角色進(jìn)行授權(quán)。與項目空間 Owner 相比,admin 角色不能將 admin 權(quán)限指派給用戶,不能設(shè)定項目空間的安全配置,不能修改項目空間的鑒權(quán)模型,admin 角色所對應(yīng)的權(quán)限不能被修改。一般情況下,如未修改過權(quán)限,一般情況下 admin 角色用戶只有一個為 project owner 賬號。
odps@ clouder_bi describe role admin;
[users]
ALIYUN$***@aliyun-test.com
Authorization Type: Admin
MaxCompute project owner 可以將 admin 角色授予其他子賬號,用于進(jìn)行 MaxCompute 底層的權(quán)限模型管理。
role_開頭的角色也可以通過 describe role 方式查看其角色所具備的權(quán)限點及角色里的用戶列表。以開發(fā)者角色為例:
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/*: *
排查問題建議:
在普及完兩個產(chǎn)品的權(quán)限體系之外,更多的用戶會遇到各種權(quán)限的疑問或者問題。通常可以通過如下方式來排查:
首先,查看當(dāng)前用戶或指定用戶所擁有的權(quán)限。
show grants; -- 查看當(dāng)前用戶自己的訪問權(quán)限
show grants for username -- 查看指定用戶的訪問權(quán)限,僅由 ProjectOwner 和 Admin 才能有執(zhí)行權(quán)限 。show grants for RAM$ 主帳號: 子帳號;
可以看到用戶所具有的角色及相關(guān)權(quán)限點。
查看指定對象的授權(quán)列表,一般獲取表到人。
show acl for objectName [on type objectType -- 查看指定對象上的用戶和角色授權(quán)列表
支持的 objecTtype: PROJECT, TABLE, JOB, VOLUME, INSTANCE, RESOURCE, FUNCTION,PACKAGE,TOPOLOGY,MATRIX,XFLOW,OFFLINEMODEL,STREAMJOB
查看 ACL 是否生效(常常發(fā)生在授權(quán)之后返回 OK,但是權(quán)限校驗還是失敗)
show SecurityConfiguration;-- 查看項目空間的安全配置
除了通過命令行方式,也可以通過__++DataWorks 項目管理 MaxCompute 高級配置 ++__里的 ACL 開關(guān)來確認(rèn)是否打開。
Policy 授權(quán)的查詢
policy 授權(quán)一般常見有兩種,一個是項目級別的,一個是 role 級別的。
get policy;-- 獲取項目級別的 policy 配置;get policy on role rolename -- 獲取指定的 role policy 設(shè)置。
上述就是丸趣 TV 小編為大家分享的 MaxCompute/DataWorks 權(quán)限問題排查建議是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。