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設定。
相關文章
- MySQL許可權問題MySql
- 記一次協助排查許可權問題的經歷
- Centos sudo 許可權問題CentOS
- 許可權的級聯問題
- Ubuntu 下 Composer 許可權問題Ubuntu
- Mysql資料庫許可權問題MySql資料庫
- hdfs檔案本地許可權問題
- Laravel Daily 日誌許可權問題LaravelAI
- jenkins 容器內的許可權問題Jenkins
- vue許可權問題解決方案Vue
- sqlserver 賦予許可權的問題SQLServer
- DataWorks中MaxCompute的常用操作命令
- Laravel 框架的日誌許可權問題Laravel框架
- Grafana9的dashboard許可權問題Grafana
- Laravel 日誌檔案許可權問題Laravel
- DRF內建許可權元件之自定義許可權管理類元件
- Ubuntu共享資料夾訪問許可權問題Ubuntu訪問許可權
- 記一次 Laravel日誌許可權許可權問題(定時器導致)Laravel定時器
- Docker構建的tomcat工程上傳檔案,訪問報403許可權問題DockerTomcat
- 不同使用者python path 許可權問題Python
- 上傳APP到Google Play許可權問題APPGo
- 關於公司程式碼許可權的問題
- MySQL儲存過程的許可權問題MySql儲存過程
- 許可權之選單許可權
- WSL資料夾許可權全為777問題
- 無程式碼實現CRM角色許可權問題
- 修改 VOLUME 自動建立預設許可權問題
- 後臺許可權設計問題,請教思路
- 遇到問題,需要開發角色許可權模組
- Linux更改檔案及目錄許可權問題Linux
- Android SELinux avc dennied許可權問題解決方法AndroidLinux
- 採坑之Android手機訪問相簿許可權問題Android
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- 許可權維持專題:作業系統許可權維持作業系統
- 許可權維持專題:域控制器許可權維持
- Iris 使用 casbin + gorm 構建許可權GoORM
- 如何用 Vue 實現前端許可權控制(路由許可權 + 檢視許可權 + 請求許可權)Vue前端路由
- Java 訪問許可權控制(6)Java訪問許可權