本示例讲解如何利用子账号和授权做到不同账号间读/写权限分离。

当您需要向其他人共享自己账号下某个表格存储实例的数据,但又不希望数据被修改时,可以创建一个具有只读权限的子账号。具体操作步骤如下:

创建子账号

  1. 使用主账号登录访问控制 RAM 管理控制台
  2. 在左侧导航栏,单击用户管理,进入用户管理页面。
  3. 在页面右上角,单击新建用户,进入创建用户页面。
  4. 填写账号信息并勾选为该用户自动生成 AccessKey,然后单击确定
    说明 本示例中使用的用户名称是 ram_test。


  5. 创建账号后会生成该账号的 AccessKey,单击保存 AK 信息
    说明 AccessKey 创建后,无法再通过控制台查看。请您妥善保存 AccessKey,谨防泄露。


说明 在用户管理页面,您还可以为该子账号 启用控制台登录

为子账号授权

  1. 用户管理页面,找到并单击 ram_test ,进入该子账号管理页面。
  2. 在左侧导航栏中,单击用户授权策略
  3. 在页面右上角,单击编辑授权策略
  4. 在弹出的窗口中,搜索表格存储的权限。窗口右侧会出现相应的权限。
  5. 选择权限,然后单击>,将该权限添加到右侧区域。然后单击确定
    说明 本示例中我们为 ram_test 赋予AliyunOTS ReadOnlyAccess(只读访问表格存储的权限)。


说明 在用户管理页面,您还可以为该子账号 启用控制台登录

测试示例

使用该账号的 AccessKey 测试创建表和删除表的权限。下面示例中使用了 ram_test 的 AccessKey,试验过程中请替换成您自己获取到的 AccessKey。
$python ots_console --url https://TableStoreTest.cn-hangzhou.ots.aliyuncs.com --id ftWyMEYu1rBYTbWM --key u4qR5IGu5xJsvSO1y8moyC6n5vA7af

$OTS-TableStoreTest>: ct test pk1:string,pk2:integer readrt:1 writert:1
Fail to create table test.

$OTS-TableStoreTest>: dt test
You will delete the table:test!

press Y (confirm) :Y
Fail to delete table test.

由上述示例可见,ram_test 没有建表和删表的权限。您可以通过以上方法为您的主账号创建一个只具有只读权限的子账号。