如何跨项目工作空间访问MaxCompute资源和函数?
1、背景介紹
同一個主賬號下面的兩個工作空間,工作空間名稱分別為
A工作空間名稱:wei_wwww
A工作空間子賬號:mc_oss
B工作空間名稱:wei_mc
B工作空間子賬號:bigdata_wei
現在B工作空間子賬號bigdata_wei需要訪問A工作空間子賬號mc_oss創建的UDF函數。執行查詢語句報錯信息如下:
2、MaxCompute項目空間支持的對象類型及操作
MaxCompute提供了ACL授權、跨項目空間數據分享、項目空間數據保護等多種策略。授權操作一般涉及到三個要素,即主體(Subject,可以是用戶也可以是角色)、客體(Object)和操作(Action)。在MaxCompute中,主體是指用戶或角色,客體是指項目空間中的各種類型對象。我們推薦您優先使用ACL(基于對象)授權,而非Policy(基于策略)授權。
ACL授權中,MaxCompute的客體包括項目空間、表、函數、資源、任務實例
授權方式:
3、授權
(1)在A工作空間創建一個函數
A工作空間名稱:wei_wwww
創建角色:
角色指派:
grant worker TO ram$建偉MaxCompute:mc_oss;對角色授權:
grant CreateInstance, CreateResource, CreateFunction, CreateTable, List ON PROJECT wei_wwww TO ROLE worker;子賬號:mc_oss創建一個函數udf1225,使用的資源為1225.jar
add jar 1225.jar; CREATE FUNCTION udf1225 as 'com.aliyun.udf.test.UDF_DEMO' using '1225jar';(2)在B工作空間授權操作
B工作空間中的子賬號想要訪問A工作空間中子賬號創建的函數udf1225。我們需要B工作空間的子賬號bigdata_wei擁有訪問A工作空間的函數和資源的權限。所以需要給B工作空間的子賬號bigdata_wei授權。
B工作空間名稱:wei_mc
B工作空間子賬號:bigdata_wei
創建角色:
角色指派:
grant mcrole TO ram$建偉MaxCompute:bigdata_wei;對角色授權:
grant Read ON Function udf1225 TO ROLE mcrole; grant Read ON Resource 1225.jar TO ROLE mcrole;4、訪問函數
切換登陸B工作空間子賬號:bigdata_wei去查詢A工作空間下面的函數,此時可以正確訪問到A工作空間創建的函數和資源。
結果如下圖所示:
注意:主賬號不能給其他主賬號的子賬號授權。
歡迎加入“MaxCompute開發者社區2群”,點擊鏈接申請加入或掃描二維碼
https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的如何跨项目工作空间访问MaxCompute资源和函数?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频会议应用空间广阔 未来“上云”将成趋
- 下一篇: 投入20亿,赋能1万家,阿里云正式启动云