**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的入门指南,包括准备工作、创建项目空间、快速开始使用MaxCompute、加载MaxCompute项目空间到大数据开发平台、创建MaxCompute项目、使用MaxCompute客户端等内容。...
通过安全授权,用户可以在一个项目空间内访问其他项目空间的对象,如表、资源、函数和实例。`Use Project`命令允许用户切换到指定的项目空间进行操作,这在ODPS客户端中实现。 表是MaxCompute的数据存储单元,与...
此外,MaxCompute还考虑了集群级别的性能优化,针对大型分布式系统的特点,提供跨多台机器的性能分析和优化手段,确保在万台集群环境下也能保持高效稳定运行。这些优化措施不仅提高了计算性能,而且降低了整体的运营...
一个用户可以拥有多个项目空间的权限,并通过安全授权访问不同项目空间中的对象,如表、资源、函数和实例。`Use Project`命令允许用户进入特定的项目空间,以便操作其中的对象。 表是MaxCompute的数据存储单元,...
例如,可以设置可信项目(TrustedProject),使得仅指定的项目能够访问本项目的资源,增强了数据的隔离性。 ExceptionPolicy则是用来处理异常情况的策略,例如,当系统检测到潜在的安全风险或者不合规操作时,...
数据资源平台(DataQ)概述与测试用例 数据资源平台(DataQ)是云计算时代的数据资源管理平台,旨在帮助用户更好地管理...通过使用数据资源平台(DataQ),用户可以更好地管理和使用云计算资源,以提高工作效率和降低成本。
MaxCompute提供SQL接口及UDF(用户自定义函数)功能,使得众安保险可以进行复杂的数据挖掘和建模工作,如预测模型的建立、欺诈检测等,增强了公司的业务智能化水平。 此外,MaxCompute还具有高扩展性和稳定性。随着...
Resolve('double,any->string')是MaxCompute提供的一种函数,用于将double类型的数据和任意类型的数据转换为String类型。该函数使得用户可以轻松地将不同的数据类型进行转换。 Resolve("ANY,ANY->DOUBLE,*") ...
[原创]根据C.Gosselin的论文编写的6-SPS并联机器人可达工作空间绘制程序,思路、算法与数据均来自论文"Determination of the Workspace of 6-DOF Parallel Manipulators",算法的实现(如圆弧求交离散,可达工作空间...
本资源摘要信息主要围绕阿里云MaxCompute的NewSQL演进之路,详细介绍了MaxCompute 2.0的背景、关键技术、NewSQL回归关系型、非结构、半结构和结构化数据的支持、强大的DAG执行图表示、完整的用户自定义函数体系、...
7. **安全与权限**:MaxCompute提供了细粒度的权限控制,如项目空间权限、表权限等,保障数据的安全。 8. **案例分析**:峰会上可能会分享不同行业的实际案例,如电商的用户行为分析、金融的风险评估、物联网的数据...
2. **DLL(Dynamic Link Library)**:DLL是Windows操作系统中的共享库,其中包含可由多个程序同时使用的函数和资源。Java通过JNA调用DLL,可以利用C/C++等编写的本地库功能。 3. **回调函数**:在C/C++编程中,回...
地统计学是以区域化变量理论 (theory of regionalized variable) 为基础,以变异函数(variogram) 为基本工具来研究分布于空间并呈现出一定的随机性和结构性的自然现象的科学。它的应用已被扩展到分析各种自然现象的...
5. **资源调度优化**:了解MaxCompute的资源调度机制,如TaskManager的数量和内存分配,以及Job的优先级设置,能够帮助我们更有效地分配计算资源,缩短长尾任务的执行时间。 6. **UDF优化**:用户自定义函数(UDF)...
它是在20世纪初由希尔伯特等人提出和发展起来的,主要关注的是函数空间的结构和性质。 #### 主要概念 - **希尔伯特空间**:一种内积空间,满足完备性条件。它是泛函分析中非常重要的概念之一,许多理论都是基于...
在电磁理论的研究中,"并矢格林函数"是一个核心概念,它为我们理解和解决电磁场问题提供了一种强有力的数学工具。并矢格林函数的研究涉及到复杂的数学和物理知识,但其核心可以概括为以下几点: 1. 麦克斯韦方程组...
同时,MaxCompute支持跨项目的数据共享,通过建立数据集市或数据湖,实现企业内部的数据协同。 总结来说,MaxCompute 2.0是阿里巴巴大数据处理的重要组成部分,它以强大的计算能力、灵活的开发模式、丰富的生态系统...
总的来说,鸟叔封装的`spoke`和`rake`函数为Halcon用户提供了一种高效、便捷的方式来处理边缘检测和圆形特征查找,减少了开发难度,提升了工作效率。对于正在学习或从事机器视觉领域的工程师来说,深入理解和熟练...
首先,我们需要理解DLL的基本结构和工作原理。DLL文件本质上是包含可执行代码和数据的库,它可以通过导出函数接口供其他应用程序或DLL调用。在VC++中,我们通常使用`__declspec(dllexport)`和`__declspec(dllimport)...