开发者社区 问答 正文

MaxCompute准备工作:添加 RAM 子账号



目前,MaxCompute 支持阿里云账号和 RAM 账号两种账号体系,本文主要介绍如何添加 RAM 子账号。添加 RAM 子账号有以下两种方式:


  • 通过大数据开发套件进行操作,详情请参见:如何添加成员及授权

  • 通过 MaxCompute 客户端常用命令进行操作,详情如下:

注意: MaxCompute 只能够识别 RAM 的账号体系,不能识别 RAM的权限体系。即用户可以将自身的任意 RAM 子账号加入 MaxCompute 的某一个项目中,但 MaxCompute 在对该 RAM子账号做权限验证时,并不会考虑 RAM 中的权限定义。

默认情况下,MaxCompute 项目只能够识别阿里云账号系统,用户可以通过list accountproviders;命令查看该项目所支持的账号系统,通常情况下仅会看到 ALIYUN 账号,例如:
  1. odps@ ****>list accountproviders;
  2. ALIYUN

注意:只有项目空间的owner有权限进行accountproviders的相关操作。
由上可见,只能看到ALIYUN账号体系,如果想添加对 RAM 账号的支持,可以执行add accountprovider ram;如下所示:
  1. odps@ odps_pd_inter>add accountprovider ram;
  2. OK

通过list accountproviders;来查看账号支持情况,如下所示:
  1. odps@ ****>list accountproviders;
  2. ALIYUN, RAM

由上可见,这个项目空间已经能够支持RAM账号体系,即可以向这个项目空间添加 RAM 子账号并授予某张表的Describe权限,如下所示:
  1. odps@ ****>add user ram$bob@aliyun.com:Alice;
  2. OK: DisplayName=RAM$bob@aliyun.com:Alice
  3. odps@ ****>grant Describe on table src to user ram$bob@aliyun.com:Alice;
  4. OK

此时, bob@aliyun.com的 RAM 子账号Alice就可以通过自己的AccessKeyID及AccessKeySecret登录 MaxCompute 并对表src进行desc操作。

备注:

同样,您也可以通过remove user命令删除自身的 RAM 子账号。示例如下:
  1. odps@ ****>revoke describe on table src from user ram$bob@aliyun.com:Alice;
  2. OK
  3. -- 回收子账号 Alice 权限
  4. odps@ ****>remove user ram$bob@aliyun.com:Alice;
  5. Confirm to "remove user ram$bob@aliyun.com:Alice;" (yes/no)? yes
  6. OK
  7. -- 删除子账号

如果您是项目空间的 owner,也可以通过remove accountprovidr将 RAM 账号系统从当前项目中删除,如下所示:
  1. odps@ ****>remove accountprovider ram;
  2. Confirm to "remove accountprovider ram;" (yes/no)? yes
  3. OK
  4. odps@ ****>list accountproviders;
  5. ALIYUN

展开
收起
行者武松 2017-10-23 15:14:33 2762 分享 版权
阿里云 AI 助理回答

从您的描述中,可以看出您已经详细地了解了如何在MaxCompute中添加RAM子账号并进行权限管理的过程。这里我再简要概括一下关键步骤和注意事项,以帮助您或有类似需求的用户快速操作:

  1. 启用RAM账号支持

    • 首先,需要项目空间(Project)的Owner通过MaxCompute客户端执行命令add accountprovider ram;来添加对RAM账号体系的支持。
    • 使用list accountproviders;命令确认RAM账号体系已被添加。
  2. 添加RAM子账号

    • 使用命令add user ram$bob@aliyun.com:Alice;将RAM子账号(如Alice)添加到项目中。格式为ram$<RAM用户名>@<主账号域名>:<别名>
  3. 授权给RAM子账号

    • 通过grant <权限> on <资源> to user <用户名>;命令给RAM子账号分配具体权限,例如grant Describe on table src to user ram$bob@aliyun.com:Alice;
  4. 管理RAM子账号权限与删除账号

    • 可以使用revoke <权限> on <资源> from user <用户名>;回收权限。
    • 通过remove user ram$bob@aliyun.com:Alice;命令删除RAM子账号。
    • 如果需要,项目Owner可以移除整个RAM账号体系支持,使用remove accountprovider ram;命令。
  5. RAM子账号登录与操作

    • RAM子账号需使用AccessKeyID及AccessKeySecret登录MaxCompute,并根据被授予的权限进行操作,如查询表信息等。
  6. 参考资料

    • RAM AccessKeyID及AccessKeySecret获取,请参考阿里云RAM官方文档。
    • 更多关于MaxCompute用户管理、授权操作等安全设置,请查阅MaxCompute安全相关文档。

确保在操作过程中遵循最小权限原则,仅赋予用户完成其工作所需的最小权限集,以维护系统安全性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答