美文网首页阿里云简书FM ——十万个冷热知识
如何跨项目工作空间访问MaxCompute资源和函数?

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

作者: 阿里云技术 | 来源:发表于2020-03-12 10:16 被阅读0次

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的客体包括项目空间、表、函数、资源、任务实例

授权方式:

grant actions on object to subject;

3、授权

(1)在A工作空间创建一个函数

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

创建角色:

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;

4、访问函数

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

use wei_mc;

select wei_wwww:udf1225('f');

结果如下图所示:

注意:主账号不能给其他主账号的子账号授权。

相关文章

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

    1、背景介绍 同一个主账号下面的两个工作空间,工作空间名称分别为 A工作空间名称:wei_wwww A工作空间子账...

  • 浅谈MaxCompute资源规划管理及评估

    简介:本文主要介绍如何进行MaxCompute存储资源和计算资源的评估及规划管理。 一、MaxCompute资源规...

  • springmvc、springboot静态资源访问配置

    如何访问项目中的静态资源? 一.springmvc springmvc中访问静态资源,如果DispatcherSe...

  • webpack 代理跨域

    当我们做项目时,后台开发接口给我们,我们访问一般是跨域访问,那么如何使用 webpack 进行跨域访问,来完成前端...

  • MaxCompute studio与权限那些事儿

    背景知识 MaxCompute拥有一套强大的安全体系,来保护项目空间里的数据安全。用户在使用MaxCompute时...

  • tomcat设置跨域访问

    tomcat设置跨域访问的方法 今天在本地架了个tomcat本地服务器,没想到在前端项目中要访问服务器资源也提示跨...

  • Ajax的跨域问题

    什么是跨域及来源 跨域问题来源于浏览器的同源策略,JavaScript只能访问和操作自己域下的资源,不能访问和操作...

  • 跨域

    跨域的概念 从一个站点访问一个资源,然后在这个资源当中又去访问另外的一个站点的资源,这个就是跨域。 同源 同源策略...

  • var、let

    一、区别 var声明的变量①没有块的概念,可以跨块访问,但不能跨函数访问;②作用域在该语句所在的函数内,且存在变量...

  • 2020-03-23

    随着公司前端项目的增多, 大家会发现各个项目中很多资源都是是大同小异的,这就引发了一个话题,如何跨项目共用前端资源...

网友评论

    本文标题:如何跨项目工作空间访问MaxCompute资源和函数?

    本文链接:https://www.haomeiwen.com/subject/zoryjhtx.html