全部产品
云市场

子账号授权

更新时间:2019-07-22 10:29:56

用户可选择的授权方式

  • 通过开通RAM子账号的方式,对子账号进行授权,提供该子账号的access key ID和secret

授权子账号操作步骤

step1 开通RAM服务

在阿里云页面搜索框中搜索RAM,点击开通(目前处于公测免费阶段),进入控制台,如下图所示:

image.png | left | 747x201

step2 下载配置客户端

maxcompute的客户端详细介绍见 Linkmac下载地址

1 下载,解压,进入目录,会有4个文件

image.png | left | 747x66

2 进入conf目录,修改odps_config.ini文件

(1)阿里云文档中也有介绍,主要填充以下几个字段project_name:项目名称,在maxcompute控制台中查询access_id: 项目使用的阿里云的主账号的idaccess_key: 项目使用的阿里云的主账号的key

(2) 其它字段用默认值即可(具体可以参考客户端介绍文档,比较详细)

3 进入bin目录,确认配置成功。

(1) 运行odpscmd,进行命令行

image.png | left | 730x110

(2)执行 show tables;(注,命令要加上分号)确认结果是否与预期相符

image.png | left | 730x80

4 安装成功,退出

step3 创建RAM子用户(user)

此步骤为创建要授权的子用户,未避免不必要的问题,请将这个子用户专门对接阿里智能推荐服务,不用授与文档中指定之外的权限

阿里云官方参考文档 (里面role和user的概念可能会比较绕,可以先按本文档操作流程走完,感兴趣可以仔细了解)

1 进入控制台,在用户管理中栏中,点击新建用户。

image.png | left | 747x246

2 填写用户名及相关信息,要勾选生成access key选项

image.png | left | 747x766

3 保存子账户的AK信息

image.png | left | 747x470

step4 对子用户授权maxcompute权限

这里的授权只是在maxcompute中添加项目成员时可见该用户

1 在用户列表中,点击授权

image.png | left | 747x182

2 搜索dataworks,进行授权

image.png | left | 747x476

step5 将子用户添加到maxcompute(ODPS)的项目空间中

有两种方式,页面或者odps的cmd,建议走页面方式

页面方式

阿里云官方参考文档

1 进入maxcompute控制台,点击项目配置,高级配置。

image.png | left | 747x267

image.png | left | 747x273

2 在成员管理中添加账号(注:必须走了第4步,这里才可以看到

image.png | left | 747x315

3 这里授权访客即可

4 可以通过odps的cmd验证一下:add user 注意,此时的username格式为RAM\$username

image.png | left | 747x64

odps cmd方式

在客户端执行 add user

step6 创建maxcompute中的角色role

支持页面和odps客户端两种方式创建,强烈建立走odps客户端方式(页面会有命名规则的冲突,比如页面可以有符号“-”,但是在odps授权时,会不识别这个符号)

odps客户端方式

执行命令 creat role ; (不要忘记分号)

image.png | left | 747x75

页面方式

见阿里云官方RAM文档

step7 对创建的role进行policy授权

这一步只能通过odps的客户端授权

1 本地编辑一个file,下面为获取read权限,替换项目名称即可 内容如下:

  1. {
  2. "Version": "1",
  3. "Statement": [{
  4. "Effect": "Allow",
  5. "Action": [
  6. "odps:List",
  7. "odps:Read"
  8. ],
  9. "Resource": [
  10. "acs:odps:*:projects/openrec_gray"
  11. ]
  12. },
  13. {
  14. "Effect": "Allow",
  15. "Action": [
  16. "odps:Read",
  17. "odps:Describe",
  18. "odps:Select"
  19. ],
  20. "Resource": [
  21. "acs:odps:*:projects/openrec_gray/tables/*"
  22. ]
  23. }]
  24. }

2 如果用户要做个性化修改,可以参照详细的 policy语法 ,建议用上面的示范。

3 将改policy的策略生效到对应的role中:put policy on role ; (注意加分号,此时的roleName不用加任何的前缀)

image.png | left | 747x48

4 验证是否生效:get policy on role

image.png | left | 747x220

step8 将角色role授权给子用户

只能通过odps的客户端完成

grant to RAM\$;

image.png | left | 747x56

step9 完成

将以下参数传给我们

  • 子账户的access key id
  • 子账户的access key secret
  • maxcompute中对应的表名称