读/写权限分离
当需要对部分用户共享表格存储某个实例的数据,但又不希望数据被修改时,可以创建一个具有只读权限的子账号,做到读/写权限分离。
创建一个 ram_test_pub 的账号,在[backcolor=transparent]编辑个人授权策略页面选择 ReadOnly 即可,如下图所示。
测试示例
使用该账号的 AccessKey 测试建表和删表的权限。下面示例中使用了 ram_test_pub 的 AccessKey,试验过程中请替换成您自己获取到的 AccessKey。
$python ots_console --url http://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_pub 没有建表和删表的权限。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云的表格存储(Table Store)服务中,实现读/写权限分离是一种常见的做法,以确保数据的安全性和完整性。通过阿里云的资源访问管理(Resource Access Management,RAM)服务,您可以为不同的用户或应用分配精细的访问控制策略。
创建RAM用户:首先,在RAM控制台创建一个新的RAM用户,例如ram_test_pub
,这个用户将用于只读访问。
设置授权策略:对于新创建的RAM用户,需要为其配置一个只读的授权策略。在编辑该用户的授权策略时,选择或自定义一个策略模板,确保该策略仅包含对表格存储的读取权限,而不包括写入、删除或修改表的权限。通常,这会涉及到设置如ots:DescribeTable
, ots:GetRow
, ots:GetRange
等操作的允许权限,同时排除所有写操作相关的权限,比如ots:CreateTable
, ots:DeleteTable
, ots:PutRow
, ots:UpdateRow
, ots:DeleteRow
等。
获取AccessKey和SecretKey:为ram_test_pub
用户生成AccessKey ID和AccessKey Secret,这些凭证将用于后续的API调用验证。
测试权限:使用步骤3中获取的AccessKey和SecretKey进行API调用测试,验证该账号确实只能执行读取操作,而无法执行建表(ots:CreateTable
)、删表(ots:DeleteTable
)等写入操作。您可以通过阿里云提供的SDK或者命令行工具(如示例中的ots_console
)来进行测试。
ram_test_pub
账号的AccessKey执行创建表(ct test ...
)和删除表(dt test
)的操作。ram_test_pub
账号没有足够的权限来执行写操作,即建表和删表失败,符合我们设置的只读权限要求。通过上述步骤,您可以有效地在阿里云表格存储服务中实施读/写权限分离,确保数据安全的同时满足不同场景下的数据共享需求。