通过访问控制RAM可以为名下的RAM用户授权,本文档为您介绍常见的自定义授权场景和授权内容。
背景信息
基于安全考虑,建议您为RAM用户授予最小可用权限。通常情况下,您需要为RAM用户授予Project列表的只读权限,否则RAM用户无法进入Project列表查看资源。具体请参见系统授权策略和自定义授权策略。
控制台场景
- Project只读权限
例如主账号需要授予RAM用户以下权限:
- RAM用户具有主账号Project列表的查看权限。
- RAM用户具有主账号指定Project的只读权限。
同时满足上述权限的权限策略如下:{ "Version": "1", "Statement": [ { "Action": ["log:ListProject"], "Resource": ["acs:log:*:*:project/*"], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": "acs:log:*:*:project/<指定的project名称>/*", "Effect": "Allow" } ] }
- 指定Logstore的只读权限和快速查询的创建、使用权限
例如主账号需要授予RAM用户以下权限:
- RAM用户具有主账号Project列表的查看权限。
- RAM用户具有指定Logstore的只读权限,同时具有创建并管理快速查询的权限。
同时满足上述权限的权限策略如下:{ "Version": "1", "Statement": [ { "Action": [ "log:ListProject" ], "Resource": "acs:log:*:*:project/*", "Effect": "Allow" }, { "Action": [ "log:List*" ], "Resource": "acs:log:*:*:project/<指定的Project名称>/logstore/*", "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<指定的Project名称>/logstore/<指定的Logstore名称>" ], "Effect": "Allow" }, { "Action": [ "log:List*" ], "Resource": [ "acs:log:*:*:project/<指定的Project名称>/dashboard", "acs:log:*:*:project/<指定的Project名称>/dashboard/*" ], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*", "log:Create*" ], "Resource": [ "acs:log:*:*:project/<指定的Project名称>/savedsearch", "acs:log:*:*:project/<指定的Project名称>/savedsearch/*" ], "Effect": "Allow" } ] }
说明 授权策略中Resource内容结尾不带*仅表示当前资源,带*表示当前资源下的其他资源,内容用*代替。 - 指定Logstore的只读权限及指定Project中快速查询和仪表盘的只读权限
例如主账号需要授予RAM用户以下权限:
- RAM用户具有主账号Project列表的查看权限。
- RAM用户具有指定Logstore的只读权限,同时具有查看该Project中所有的快速查询和仪表盘列表的权限。
同时满足上述权限的权限策略如下:{ "Version": "1", "Statement": [ { "Action": [ "log:ListProject" ], "Resource": "acs:log:*:*:project/*", "Effect": "Allow" }, { "Action": [ "log:List*" ], "Resource": "acs:log:*:*:project/<指定的Project名称>/logstore/*", "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<指定的Project名称>/logstore/<指定的Logstore名称>" ], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<指定的Project名称>/dashboard", "acs:log:*:*:project/<指定的Project名称>/dashboard/*" ], "Effect": "Allow" }, { "Action": [ "log:Get*", "log:List*" ], "Resource": [ "acs:log:*:*:project/<指定的Project名称>/savedsearch", "acs:log:*:*:project/<指定的Project名称>/savedsearch/*" ], "Effect": "Allow" } ] }
API场景
- 指定Project的写入权限
授予RAM用户向指定Project写入数据的权限,不包含查询等其他操作权限。
{ "Version": "1", "Statement": [ { "Action": [ "log:Post*" ], "Resource": "acs:log:*:*:project/<指定的project名称>/*", "Effect": "Allow" } ] }
- 指定Project的消费权限
授予RAM用户消费指定Project数据的权限,不包含数据写入、查询等其他操作权限。
{ "Version": "1", "Statement": [ { "Action": [ "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup" ], "Resource": "acs:log:*:*:project/<指定的project名称>/*", "Effect": "Allow" } ] }
- 指定Logstore的消费权限
授予RAM用户消费指定Logstore数据的权限,不包含数据写入、查询等其他操作权限。
{ "Version": "1", "Statement": [ { "Action": [ "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup" ], "Resource": [ "acs:log:*:*:project/<指定的project名称>/logstore/<指定的Logstore名称>", "acs:log:*:*:project/<指定的project名称>/logstore/<指定的Logstore名称>/*" ], "Effect": "Allow" } ] }
在文档使用中是否遇到以下问题
更多建议
匿名提交