暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

四步实现DLA跨云账号分析OSS数据

云原生数据湖 2021-04-23
435

背景

在使用Data Lake Analytics(et.aliyun.com/bdad/data)进行OSS数据分析时,通常云账号A是访问自己的OSS bucket数据,如果有访问其他云账号(假设云账号B)的OSS数据的需求,本文正好帮到您,教您如何通过DLA实现DLA跨云账号分析OSS数据。下文都是假设“云账号A需要通过DLA访问云账号B的OSS数据”。





步骤一:新建用于跨账号访问的RAM角色

使用云账号B登录访问控制(https://ram.console.aliyun.com),点击RAM角色管理



然后,在右侧页面点击新建RAM角色。




在弹出的新建RAM角色页面中,选择阿里云服务,选择受信服务物联网(这里只是以物联网受信服务为模板,后面进行修改),在RAM角色名称中输入:for-dla-cross-account(名字可以自己定义)。





确定后,显示RAM角色新建成功





步骤二:修改RAM角色的信任策略

仍然在RAM中,在RAM角色管理页面,输入步骤一中创建好的RAM角色名称for-dla-cross-account(如果您自己定义了名称,输入相应名称),搜索到对应角色。





点击for-dla-cross-account(或者您实际的角色名称),进入后,选择信任策略管理,点击修改信任策略





在页面中,将Service部分的iot.aliyuncs.com替换成<云账号A>@openanalytics.aliyuncs.com,例如111111111@openanalytics.aliyuncs.com,其中111111111为云账号A的云账号。



点击确认保存。
在如下页面右上角,复制ARN的URL:acs:ram::2222222222:role/for-dla-cross-account(以您实际显示的URL为准,其中2222222222是云账号B的云账号),后面在DLA中建schema时要用到。





步骤三:为RAM角色添加OSS访问权限

点击权限管理添加权限



选择AliyunOSSFullAccess,如果只是查询,也可以选择AliyunOSSReadOnlyAccess。因为后续可能在DLA中执行INSERT OVERWRITE操作,建议这里选择AliyunOSSFullAccess。确定保存。





显示授权成功。




步骤四:DLA中建schema和table进行查询

经过上述三步,云账号B中,跨账号访问的RAM角色和权限已经准备好。云账号A可以通过DLA访问云账号B的OSS了。

  • 创建指向云账号B OSS bucket的schema,其中<account_b_bucket>为云账号B的OSS bucket,cross_account_accessing_arn指向上述步骤二中的ARN URL。

CREATE DATABASE `schema_of_account_b`
WITH DBPROPERTIES (
catalog = 'oss',
location = 'oss://<account_b_bucket>/',
cross_account_accessing_arn= 'acs:ram::2222222222:role/for-dla-cross-account'
)
COMMENT ''

  • 在schema_of_account_b中指向云账号B的目标OSS bucket数据进行建表查询,以下为示例。

CREATE EXTERNAL TABLE `schema_of_account_b`.`nation` (
`n_nationkey` int,
`n_name` string,
`n_regionkey` int,
`n_comment` string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '|'
STORED AS `TEXTFILE`
LOCATION 'oss://<account_b_bucket>/...'


小结:

本文通过4步骤实现了DLA对跨云账号的OSS数据访问。

  • 创建跨账号访问的RAM角色

  • 修改RAM角色的信任策略

  • 为RAM角色添加OSS访问角色

  • DLA中建schema和table查询

Data Lake Analytics首购和流量包优惠

Data Lake Analytics首购和流量包优惠

首购用户1元10TB,流量包阶梯折扣优惠:https://et.aliyun.com/bdad/datalake
产品详情:https://www.aliyun.com/product/datalakeanalytics
云栖社区:https://yq.aliyun.com/teams/396
知乎社区:https://zhuanlan.zhihu.com/data-lake-analytics

欢迎加入我们的钉钉群并关注微信公众号

文章转载自云原生数据湖,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论