共計 2989 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關 MaxCompute 與 DataWorks 權限及示例分析,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
背景:用戶在使用 MaxCompute 與 DataWorks 這兩種權限模型不清楚,并且對于相關 MaxCompute 的權限執(zhí)行語句也不太熟悉,以至于在自己的實際操作中不能建立完整的權限策略,導致權限控制的混亂,甚至在開發(fā)過程中時常遇到權限問題的錯誤,導致延誤業(yè)務的推動進展,該篇文檔集主要的權限知識點與一體,常用的 MaxCompute 權限語句,以及經典的開發(fā)環(huán)境和生產環(huán)境之間的賦權示例給大家做出做出介紹。
一、MaxCompute 的安全模型
二、DataWorks 安全模型
三、子賬戶添加的限制
四、MaxCompute 的授權管理圖
五、授權場景和注意事項
六、移除用戶的注意事項
七、成員管理的相關語句
查看成員:
Project owner 或 admin 命令行執(zhí)行
List users; -- 查看成員列表
Show grants for username -- 查看某成員權限
添加成員:
1.DataWorks 添加 RAM 子賬號;2.Project owner 或 admin 命令行方式執(zhí)行
add user username -- 可為 RAM 子賬戶或其他云賬戶
刪除成員:
1.DataWorks 刪除 RAM 子賬號;2.Project owner 或 admin 命令行方式執(zhí)行:remove user username
八、角色管理的相關語句:
查看角色:
查看 role 列表:List roles;
查看 role 中的權限:describe role role_name
查看某用戶在什么 role 中:show grants for username
查看某個 role 都指派給那些 user:目前不支持!
創(chuàng)建角色:
創(chuàng)建 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 地址發(fā)起請求時授權才 會?效、或者只允許?戶使? 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 執(zhí)? CreateObject 操作”中的主體是”張三”。
操作 (Action) 操作(Action) 是指主體對資源的訪問?法。?如,訪問策略”允許張三在 2011 年 12 ? 31 ?之前對資源 SampleBucket 執(zhí)? CreateObject 操作”中的操作是”CreateObject”。
資源 (Resource) 資源(Resource) 是指主體請求訪問的對象。?如,訪問策略”允許張三在 2011 年 12 ? 31 ?之前對資源 SampleBucket 執(zhí)? CreateObject 操作”中的資源是”SampleBucket”。
訪問限制 (Access Restriction) 訪問限制(Access Restriction) 是指權限?效的限制條件。?如,訪 問策略”允許張三在 2011 年 12 ? 31 ?之前對資源 SampleBucket 執(zhí)? CreateObject 操作”中的限制 條件是”在 2011 年 12 ? 31 ?之前”。
效?(E?ect) 授權效?包括兩個??:允許操作(Allow)和拒絕操作(Deny)。通常,Deny 有更? 的效?,在權限檢查時會優(yōu)先使?。注意:“拒絕操作”和”撤銷授權”是完全獨?的兩個概念,撤銷授 權通常包括撤銷對 Allow 和 Deny 這兩種不同效?的授權,?如傳統(tǒng)數據庫?般?持 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: 條件塊是該條授權語句所述權限得以?效的條件。條件塊結構請參?下節(jié)的描述。
十、Policy 的實際使用授權案例
基于以前的經驗,我們在 odps 項目中創(chuàng)建了兩個基本的角色,分別是開發(fā)角色 dev、查詢角色 adhoc。
create role dev;
create role adhoc;
我們對于角色的權限要求大概分如下兩類:
A 開發(fā)權限:不能修改 project 屬性但可以讀取 project 信息,有建表、建資源、建 Job 等各種常用權限;可以修改、刪除自己在開發(fā)庫中創(chuàng)建的表,但對于其他同學創(chuàng)建的表則只有讀取權限。
B 查詢權限:只能讀取 project 信息,不能建表、建資源、建 Job;只能讀取表,但沒有任何修改、刪除權限。
我們的安全策略大致是這樣的:
開發(fā)庫上,給所有開發(fā)同學賦予 A 開發(fā)權限。
生產庫上,給所有開發(fā)同學賦予 B 查詢權限。
關于 MaxCompute 與 DataWorks 權限及示例分析就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。