MaxCompute使用load overwrite或load into命令将外部存储的数据(如:oss)导入到MaxCompute前的授权操作。
一.导入之前需要先对MaxCompute进行授权。
- 当MaxCompute和OSS的Owner是同一个账号时,单击此处完成一键授权。(本文已此为例进行授权说明)
- 当MaxCompute和OSS的Owner不是同一个账号时,需进行自定义授权,详情请参见STS模式授权
二.由于OSS数据设置KMS加密,所以需要目标Bucket的文件访问权限。
否则报以下错误:
解决方案:
第一种方式:
1.登陆RAM访问控制台,点击RAM角色管理
2.搜索框搜索odps使用访问oss的角色AliyunODPSDefaultRole
3.添加权限
4.选择自定义策略权限。(前提要新建完成自定义策略,脚本模式配置可参考如下:)
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
],
"Resource": [
"acs:kms:*:xxxxx:*"//示例表示具有当前所有KMS的解密权限。若要针对某个KMS密钥进行解密,此处可输入对应的CMK ID。
]
}
]
}
5.点击确定
第二种方式:
1.登陆RAM访问控制台,点击RAM角色管理
2.搜索框搜索odps使用访问oss的角色AliyunODPSDefaultRole
3.添加权限
4.选择系统策略权限AliyunKMSFullAccess(管理密钥管理服务(KMS)的权限),管理KMS最大的权限可以选择使用
5.点击确定
三.验证结果
最后本文实践主要说明使用load overwrite或load into命令将外部存储的数据(如:oss)导入到MaxCompute前的授权问题,如有需要进一步详细了解后续如何导入数据,请参见:LOAD
大家如果对MaxCompute有更多咨询或者建议,欢迎扫码加入 MaxCompute开发者社区钉钉群,或点击链接 申请加入。