`
大涛学长
  • 浏览: 106216 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
**1、背景介绍** 
同一个主账号下面的两个工作空间,工作空间名称分别为 
A工作空间名称:wei\_wwww 
A工作空间子账号:mc\_oss 
B工作空间名称:wei\_mc 
B工作空间子账号:bigdata\_wei 
现在B工作空间子账号bigdata\_wei需要访问A工作空间子账号mc\_oss创建的UDF函数。执行查询语句报错信息如下: 
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91Y2MuYWxpY2RuLmNvbS9waWMvZGV2ZWxvcGVyLWVjb2xvZ3kvMWYyMTYxZDZlYmNhNGYwY2JkZDMzNDM0ZGFkMWE2ZmQucG5n?x-oss-process=image/format,png) 
**2、MaxCompute项目空间支持的对象类型及操作** 
MaxCompute提供了ACL授权、跨项目空间数据分享、项目空间数据保护等多种策略。授权操作一般涉及到三个要素,即主体(Subject,可以是用户也可以是角色)、客体(Object)和操作(Action)。在MaxCompute中,主体是指用户或角色,客体是指项目空间中的各种类型对象。我们推荐您优先使用ACL(基于对象)授权,而非Policy(基于策略)授权。 
ACL授权中,MaxCompute的客体包括项目空间、表、函数、资源、任务实例 
**授权方式:**

```
grant actions on object to subject;
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jc8yFW4V-1577951993715)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-71KvFoeA-1577951993715)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

[外链图片转存中...(img-EvssjG3I-1577951993715)] 
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91Y2MuYWxpY2RuLmNvbS9waWMvZGV2ZWxvcGVyLWVjb2xvZ3kvODQ4MDExZjViOTJmNDZlYmFiOGQ4NzgzNzE3MzdiMzkucG5n?x-oss-process=image/format,png) 
**3、授权** 
**(1)在A工作空间创建一个函数** 
A工作空间名称:wei\_wwww 
**创建角色:**

```
create role worker;
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kZgUpbJy-1577951993717)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yshGURyF-1577951993717)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

**角色指派:**

```
grant worker TO ram$建伟MaxCompute:mc_oss;
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SkZ2uceB-1577951993717)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hwvltZMv-1577951993717)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

**对角色授权:**

```
grant CreateInstance, CreateResource, CreateFunction, CreateTable, List ON PROJECT wei_wwww TO  ROLE worker;
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bcHhL3vs-1577951993718)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z86E8qYg-1577951993718)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

子账号:mc\_oss创建一个函数udf1225,使用的资源为1225.jar

```
add jar 1225.jar;
CREATE FUNCTION udf1225 as 'com.aliyun.udf.test.UDF_DEMO' using '1225jar';
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P2gSenx2-1577951993718)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b483XcQn-1577951993718)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

**(2)在B工作空间授权操作** 
B工作空间中的子账号想要访问A工作空间中子账号创建的函数udf1225。我们需要B工作空间的子账号bigdata\_wei拥有访问A工作空间的函数和资源的权限。所以需要给B工作空间的子账号bigdata\_wei授权。 
B工作空间名称:wei\_mc 
B工作空间子账号:bigdata\_wei 
**创建角色:**

```
create role mcrole;
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xJFDOuAI-1577951993718)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3r0bamqD-1577951993718)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

**角色指派:**

```
grant mcrole TO ram$建伟MaxCompute:bigdata_wei;
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x3npIEVp-1577951993718)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZkdW0bw6-1577951993719)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

**对角色授权:**

```
grant Read  ON Function udf1225 TO ROLE mcrole;
grant Read  ON Resource 1225.jar TO ROLE mcrole;
```

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0pjojy6-1577951993720)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y3zpipqw-1577951993720)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

**4、访问函数** 
切换登陆B工作空间子账号:bigdata\_wei去查询A工作空间下面的函数,此时可以正确访问到A工作空间创建的函数和资源。

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HnVZmnIl-1577951993721)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DmPBvcPj-1577951993721)(data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")]

结果如下图所示: 
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91Y2MuYWxpY2RuLmNvbS9waWMvZGV2ZWxvcGVyLWVjb2xvZ3kvNTAyNjNiMTNlZDgzNDc3NGEyOGQ5M2E2MzgwMTA2Y2IucG5n?x-oss-process=image/format,png) 
**注意:**主账号不能给其他主账号的子账号授权。

 

 

 

[原文链接](https://link.zhihu.com/?target=https%3A//yq.aliyun.com/articles/739645%3Futm_content%3Dg_1000094672)

本文为阿里云内容,未经允许不得转载。
分享到:
评论

相关推荐

    阿里大数据计算服务MaxCompute-入门指南.pdf

    项目空间Owner可以将其他用户加入MaxCompute项目空间中,并授予相对应权限,以便这些用户可以操作MaxCompute中的数据、作业、资源及函数。 七、MaxCompute的各项功能 MaxCompute提供了多种功能,包括数据处理、...

    万台集群性能优化方法——MaxCompute性能优化实践.pdf

    此外,MaxCompute还考虑了集群级别的性能优化,针对大型分布式系统的特点,提供跨多台机器的性能分析和优化手段,确保在万台集群环境下也能保持高效稳定运行。这些优化措施不仅提高了计算性能,而且降低了整体的运营...

    阿里大数据计算服务MaxCompute-基本介绍D.docx

    一个用户可以拥有多个项目空间的权限,并通过安全授权访问不同项目空间中的对象,如表、资源、函数和实例。`Use Project`命令允许用户进入特定的项目空间,以便操作其中的对象。 表是MaxCompute的数据存储单元,...

    进程间函数调用

    remote-function是一个跨进程通讯库,它可以像调用本进程函数一样调用另外一个进程的函数。 remote-function支持调用普通函数,也支持调用类的成员函数。 remote-function底层使用命令管道进行通讯,内置的流程完成...

    C指针系列之跨函数内存申请

    简单的C语言中使用指针在子函数内部申请内存并返回给主函数使用的范例。

    C++ 线程函数是类的成员函数

    3. **线程函数作为成员函数**:将线程函数定义为类的成员,可以方便地访问类的私有数据,无需通过额外的同步机制(如锁)来保护数据,因为线程函数和数据在同一作用域内,天然具备了访问权限。 二、创建线程成员...

    dll函数动态调用

    DLL(Dynamic Link Library)函数动态调用是Windows操作系统中一种重要的程序设计技术,它使得不同程序之间能够共享代码和资源,提高系统效率。在本文中,我们将深入探讨DLL动态调用的基本概念、工作原理以及实际...

    实变函数论曹广福编.pdf

    《实变函数论》是数学领域中一门深奥且重要的学科,由曹广福编著的这本教材,被广泛认为是学习实变函数论基础知识的优质资源。实变函数论,作为数学分析的一个分支,主要研究实数域上的函数性质,特别是那些具有特殊...

    阿里大数据计算服务MaxCompute-SQL简介.pdf

    在实际使用MaxCompute SQL时,了解并熟练掌握这些类型转换规则至关重要,它们可以帮助用户更有效地编写和优化查询语句,以适应MaxCompute的特性,并确保数据处理的准确性和一致性。同时,由于MaxCompute的计算模型和...

    藏经阁-MaxCompute 的NewSQL演进之路.pdf

    本资源摘要信息主要围绕阿里云MaxCompute的NewSQL演进之路,详细介绍了MaxCompute 2.0的背景、关键技术、NewSQL回归关系型、非结构、半结构和结构化数据的支持、强大的DAG执行图表示、完整的用户自定义函数体系、...

    MaxCompute案例实践杭州峰会.zip

    7. **安全与权限**:MaxCompute提供了细粒度的权限控制,如项目空间权限、表权限等,保障数据的安全。 8. **案例分析**:峰会上可能会分享不同行业的实际案例,如电商的用户行为分析、金融的风险评估、物联网的数据...

    读入一个C程序,统计程序中代码、注释和空行的行数以及函数的个数和平行行数

    5. 字符串操作:本资源摘要信息介绍了如何使用StrLTrim和StrRTrim函数去掉字符串的左右空格,以节省栈的空间。 6. 注释行计算:该资源摘要信息介绍了如何计算注释行数,包括三种情况的注释行计算。 7. 函数个数和...

    C#_函数手册大全+c#公共函数

    综上所述,"C#_函数手册大全+c#公共函数"这个资源应该涵盖了C#编程中的基本到高级的函数使用,是学习和开发C#项目的重要参考材料。通过深入理解并熟练运用这些函数,开发者可以更高效地编写出高质量的C#代码。

    查表法实现三角函数

    综上所述,查表法是一种在计算资源受限环境下有效实现三角函数计算的方法,通过预计算和存储,可以在保持一定精度的同时,大幅度减少计算时间。然而,其设计和实现需要仔细考虑具体的应用场景和资源约束,以找到最佳...

    国产卫星定标系数和光谱响应函数.zip

    本文将深入探讨“国产卫星定标系数和光谱响应函数”这一主题,涉及高分系列(GF)和资源ZY系列卫星的数据处理,并结合JSON格式的数据配置。 首先,让我们理解“定标系数”的概念。在卫星遥感中,定标是将卫星传感器...

    sublime显示函数列表插件

    在编程过程中,能够快速浏览和访问代码中的函数列表对于提高开发效率至关重要。"sublime显示函数列表插件"就是为了实现这一目标而设计的,它允许用户在Sublime Text 2中方便地查看和跳转到Python脚本中的各个函数。 ...

    MaxCompute基于代价的优化器平台.pptx

    在易用性方面,MaxCompute提供了多种数据导入方案和分布式计算模型,如流计算、图计算和Batch计算,以及与Spark API、Beam API和Hive API等接口的兼容,构建了一个丰富的应用生态系统。 MaxCompute的研发目标在于...

Global site tag (gtag.js) - Google Analytics