如何跨项目工作空间访问MaxCompute资源和函数

简介: 在项目开发过程中,相同云账号之下所创建的不同项目工作空间的资源和函数需要实现互相访问,需要授予什么权限呢?怎么去操作才可以去访问其他工作空间所创建的资源和函数。本文通过三种方式来介绍如何去授权访问跨工作空间的资源和函数。

一、背景介绍
同一个主账号下面的两个工作空间,工作空间名称分别为
A工作空间名称:wei_wwww
A工作空间子账号:mc_oss
B工作空间名称:wei_mc
B工作空间子账号:bigdata_wei
现在B工作空间子账号bigdata_wei需要访问A工作空间子账号mc_oss创建的UDF函数。执行查询语句报错信息如下:
image.png
二、MaxCompute授权简单介绍
MaxCompute提供了ACL授权、跨项目空间数据分享、项目空间数据保护等多种策略。授权操作一般涉及到三个要素,即主体(Subject,可以是用户也可以是角色)、客体(Object)和操作(Action)。在MaxCompute中,主体是指用户或角色,客体是指项目空间中的各种类型对象。我们推荐您优先使用ACL(基于对象)授权,而非Policy(基于策略)授权。
ACL授权中,MaxCompute的客体包括项目空间、表、函数、资源、任务实例
授权方式:

 grant actions on object to subject;

image.png
image.png
三、授权
1、方式一:通过MaxCompute ACL授权
(1)在A工作空间创建一个函数
首先给A空间子账号ram$建伟MaxCompute:mc_oss一个创建函数的权限。
A工作空间名称:wei_wwww

create role worker;--创建角色
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
首先需要将B工作空间子账号:bigdata_wei添加为A工作空间的成员。

use wei_wwww;--切换到A工作空间
create role mcrole;--创建角色
grant mcrole TO ram$建伟MaxCompute:bigdata_wei;--角色指派
grant Read  ON Function udf1225 TO ROLE mcrole;--对角色授权
grant Read  ON Resource 1225.jar TO ROLE mcrole;--对角色授权

(3)访问函数
切换登陆B工作空间,登录子账号:bigdata_wei去查询A工作空间下面的函数,此时可以正确访问到A工作空间创建的函数和资源。

use wei_mc;
select wei_wwww:udf1225('f');

结果如下图所示:
image.png
注意:主账号不能给其他主账号的子账号授权。
2、方式二:通过Package授权
业务分析人员需要查看生产表但是又不能查看生产任务,我们可以通过单独创建一个分析项目来实现。首先,在多个生产项目创建package,把需要开放的表加到package中。然后,在分析项目中安装package并授权给分析人员。这样可以减少成员管理成本,无需在所有生产项目中增加分析人员,同时保证这些分析人员只能在分析项目中查看package中的表。这里介绍如何通过package授权跨项目访问资源和函数。
(1)创建package

use wei_wwww;--切换到被访问工作空间。
create package udf_package; --创建一个Package。
add resource mc_0703.jar to package udf_package; --添加资源到Package。
add function mc_0703 to package udf_package; --添加表到Package。
allow project wei_mc to install package udf_package; --将Package分享给项目空间wei_mc。

(2)安装package

use wei_mc;--切换需要访问的工作空间。
install package wei_wwww.udf_package; --安装一个Package。
grant Read on package wei_wwww.udf_package to user RAM$建伟maxcompute:delete_test; --通过ACL授权子账号delete_test使用Package。

(3)访问函数

use wei_mc;
set  odps.sql.hive.compatible=true;
select wei_wwww:mc_0703(map(1,2,3,4));

3、方式三:通过Dataworks申请访问权限
数据地图在数据管理的基础上,根据角色区分对应的功能,控制您新建、预览数据等权限,帮助您更好地构建企业级数据信息知识库。您可以在权限管理页面申请函数和资源权限,并查看待我审批、申请记录和我已处理的。下面介绍如何通过数据地图来跨项目访问资源和函数。
(1)在左侧导航栏,单击权限管理,查看和管理权限。
(2)申请函数和资源权限:单击右上角的申请函数和资源权限。
在申请数据权限对话框,配置各项参数
image.png
以下是各项参数详细介绍:
image.png
(3)申请完成资源和函数之后需要管理员去审批通过申请。可以在这里查看审批状态。
image.png

(4)审批通过就可以跨项目访问资源和函数。
注意:需要函数和资源分别申请。

欢迎加入“MaxCompute开发者社区2群”,点击链接申请加入或扫描二维码
https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745

image.png

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
目录
相关文章
|
6月前
|
数据采集 分布式计算 DataWorks
ODPS在某公共数据项目上的实践
本项目基于公共数据定义及ODPS与DataWorks技术,构建一体化智能化数据平台,涵盖数据目录、归集、治理、共享与开放六大目标。通过十大子系统实现全流程管理,强化数据安全与流通,提升业务效率与决策能力,助力数字化改革。
234 4
|
6月前
|
SQL 分布式计算 大数据
别再迷信“上大数据就能飞”了!大数据项目成败的5个真相
别再迷信“上大数据就能飞”了!大数据项目成败的5个真相
162 6
|
7月前
|
资源调度 安全 Java
Java 大数据在智能教育在线实验室设备管理与实验资源优化配置中的应用实践
本文探讨Java大数据技术在智能教育在线实验室设备管理与资源优化中的应用。通过统一接入异构设备、构建四层实时处理管道及安全防护双体系,显著提升设备利用率与实验效率。某“双一流”高校实践显示,设备利用率从41%升至89%,等待时间缩短78%。该方案降低管理成本,为教育数字化转型提供技术支持。
210 1
|
6月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
410 3
|
6月前
|
机器学习/深度学习 Java 大数据
Java 大视界 -- Java 大数据在智能政务公共资源交易数据分析与监管中的应用(202)
本篇文章深入探讨了 Java 大数据在智能政务公共资源交易监管中的创新应用。通过构建高效的数据采集、智能分析与可视化决策系统,Java 大数据技术成功破解了传统监管中的数据孤岛、效率低下和监管滞后等难题,为公共资源交易打造了“智慧卫士”,助力政务监管迈向智能化、精准化新时代。
|
分布式计算 大数据 Java
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务
156 0
|
9月前
|
数据采集 分布式计算 数据可视化
大数据项目成功的秘诀——不只是技术,更是方法论!
大数据项目成功的秘诀——不只是技术,更是方法论!
262 8
大数据项目成功的秘诀——不只是技术,更是方法论!
|
11月前
|
人工智能 DataWorks 大数据
大数据AI一体化开发再加速:DataWorks 支持GPU类型资源
大数据开发治理平台 DataWorks 的Serverless资源组支持GPU资源类型,以免运维、按需付费、弹性伸缩的Serverless架构,将大数据处理与AI开发能力无缝融合。面向大数据&AI协同开发场景,DataWorks提供了交互式开发和分析工具Notebook。开发者在创建个人开发环境时,可以选择GPU类型的资源作为Notebook运行环境,以支持进行高性能的计算工作。本教程将基于开源多模态大模型Qwen2-VL-2B-Instruct,介绍如何使用 DataWorks Notebook及LLaMA Factory训练框架完成文旅领域大模型的构建。
768 24
|
存储 大数据 Serverless
大数据增加分区优化资源使用
大数据增加分区优化资源使用
245 1
|
JSON 数据可视化 数据挖掘
Polars函数合集大全:大数据分析的新利器
Polars函数合集大全:大数据分析的新利器
930 1

相关产品

  • 云原生大数据计算服务 MaxCompute