您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關MaxCompute與DataWorks權限及示例分析,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
背景:用戶在使用MaxCompute與DataWorks這兩種權限模型不清楚,并且對于相關MaxCompute的權限執行語句也不太熟悉,以至于在自己的實際操作中不能建立完整的權限策略,導致權限控制的混亂,甚至在開發過程中時常遇到權限問題的錯誤,導致延誤業務的推動進展,該篇文檔集主要的權限知識點與一體,常用的MaxCompute權限語句,以及經典的開發環境和生產環境之間的賦權示例給大家做出做出介紹。
一、MaxCompute的安全模型
cdn.com/255487b7ccafbc3d139d0090569bf520a3284d74.png">
二、DataWorks安全模型
三、子賬戶添加的限制
四、MaxCompute的授權管理圖
五、授權場景和注意事項
六、移除用戶的注意事項
七、成員管理的相關語句
查看成員:
Project owner或admin命令行執行 List users; --查看成員列表 Show grants for <username>; -- 查看某成員權限
添加成員:
1.DataWorks添加RAM子賬號; 2.Project owner或admin命令行方式執行 add user <username> --可為RAM子賬戶或其他云賬戶
刪除成員:
1.DataWorks刪除RAM子賬號; 2.Project owner或admin命令行方式執行: remove user <username>
八、角色管理的相關語句:
查看角色:
查看role列表:List roles; 查看role中的權限:describe role <role_name> 查看某用戶在什么role中:show grants for <username> 查看某個role都指派給那些user:目前不支持!
創建角色:
創建role:Create role <role_name>; 給角色授權:grant actions on object to <role_name> 添加用戶到角色:grant <roleName> TO <full_username>
刪除角色:
刪除角色中的用戶:REVOKE <roleName> FROM <full_usename>; 撤銷對角色的授權:revoke <privList> on <objType> <objName> from role <rolename> 刪除角色: DROP ROLE <roleName>
九、policy授權介紹
Policy授權則是?種基于主體的授權。通過Policy授權的權限數據(即訪問策略)被看做是授權主體的?種 ?資源。只有當主體(?戶或??)存在時才能進?Policy授權操作。當主體被刪除時,通過Policy授權的 權限數據會被?動刪除。 Policy授權使?MaxCompute?定義的?種訪問策略語?來進?授權,允許或 禁?主體對項?空間對象的訪問權限。
Policy授權機制,主要解決ACL授權機制?法解決的?些復雜授權場景,?如:
?次操作對?組對象進?授權,如所有的函數、所有以 “taobao” 開頭的表
帶限制條件的授權,如授權只會在指定的時段內才會?效、當請求者從指定的IP地址發起請求時授權才 會?效、或者只允許?戶使?SQL(?不允許其它類型的Task)來訪問某張表。
Policy授權語句格式如下:
GET POLICY; --讀取項目空間的Policy PUT POLICY <policyFile>; --設置(覆蓋)項目空間的Policy GET POLICY ON ROLE <roleName>; --讀取項目空間中某個角色的Policy PUT POLICY <policyFile> ON ROLE <roleName>; --設置(覆蓋)項目空間中某個角色的Policy
policy基本術語
主體(Principal) 主體(Principal)是指訪問策略中的權限被指派的對象。?如,訪問策略”允許張三在 2011年12?31?之前對資源SampleBucket執?CreateObject操作”中的主體是”張三”。
操作(Action) 操作(Action)是指主體對資源的訪問?法。?如,訪問策略”允許張三在2011年12? 31?之前對資源SampleBucket執?CreateObject操作”中的操作是”CreateObject”。
資源(Resource) 資源(Resource)是指主體請求訪問的對象。?如,訪問策略”允許張三在2011年12 ?31?之前對資源SampleBucket執?CreateObject操作”中的資源是”SampleBucket”。
訪問限制(Access Restriction) 訪問限制(Access Restriction)是指權限?效的限制條件。?如,訪 問策略”允許張三在2011年12?31?之前對資源SampleBucket執?CreateObject操作”中的限制 條件是”在2011年12?31?之前”。
效?(E?ect) 授權效?包括兩個??:允許操作(Allow)和拒絕操作(Deny)。通常,Deny有更? 的效?,在權限檢查時會優先使?。 注意:“拒絕操作”和”撤銷授權”是完全獨?的兩個概念,撤銷授 權通常包括撤銷對Allow和Deny這兩種不同效?的授權,?如傳統數據庫?般?持Revoke和Revoke Deny兩種操作
授權語句(Statement)結構
E?ect: 指明該條語句的權限類型,取值必須為Allow或Deny。
Principal: 如果Policy在授權時是與?戶或??綁定,那么就不允許再指定Principal,?如 MaxCompute的Role Policy。 如果Policy在授權時是與項?空間或項?空間內的對象綁定,那么必 須指Principal,?如MaxCompute的Project Policy。
Action: 它表示授權操作,可以是?個或多個操作名,可?持通配符號” ” 和 ” ? ” 。 例 如 , A c t i o n = “ ” 表示所有的操作。
Resource: 它表示授權對象,可以是?個或多個對象名,可?持通配符號” ” 和 ” ? ” 。 例 如 R e s o u r c e = “ ” 表示所有的對象。
Condition Block: 條件塊是該條授權語句所述權限得以?效的條件。條件塊結構請參?下節的描述。
十、Policy的實際使用授權案例
基于以前的經驗,我們在odps項目中創建了兩個基本的角色,分別是開發角色dev、查詢角色adhoc。
create role dev; create role adhoc;
我們對于角色的權限要求大概分如下兩類:
A開發權限:不能修改project屬性但可以讀取project信息,有建表、建資源、建Job等各種常用權限;可以修改、刪除自己在開發庫中創建的表,但對于其他同學創建的表則只有讀取權限。
B查詢權限:只能讀取project信息,不能建表、建資源、建Job;只能讀取表,但沒有任何修改、刪除權限。
我們的安全策略大致是這樣的:
開發庫上,給所有開發同學賦予A開發權限。
生產庫上,給所有開發同學賦予B查詢權限。
關于MaxCompute與DataWorks權限及示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。