在使用 SLS 日志服务的时候,很多情况下,我们需要给不同子账号,角色赋予不同的权限。由于日志服务中涉及的功能模块很多,而且功能模块互相之间有依赖关系,所以手工编写 RAM 的配置文件会显得很繁琐。
现在,日志服务中新上线了权限助手功能,使用这个工具可以在很大程度上简化权限配置的操作。
这是权限助手的入口,进入日志服务的项目页面就可以看到。
配置权限策略
这是权限助手的主界面,配置分为普通项目与 APP 两种模式。
普通项目配置
在普通项目配置中,可以看到日志产品的所有功能模块。每个模块又分为管理权限和只读权限。可以根据需要进行勾选。
上方预设角色选择中可以快速对常用的场景进行选择,选中之后会自动对表格进行勾选。
功能模块的依赖关系
勾选某些模块之后,配置工具会自动勾选其他模块,这是因为模块之间存在一些依赖关系。例如:
项目管理模块:由于所有的功能操作都在项目页面中进行,所以如果没有项目权限就无法在界面上对其他功能进行操作。但可以选择给只读权限或者给与管理权限。
Logstore 管理模块:数据接入中的操作都依赖与 Logstore 权限,所以选中数据接入中的任意一项都会默认选中 Logstore 管理模块。
数据查询:数据可视化模块依赖于数据查询权限。
数据可视化:告警,订阅和云产品接入功能都依赖数据可视化权限。其中告警和订阅需要可视化的管理权限。
被依赖的权限仍然可以由用户选择管理权限或只读权限,因为被依赖的功能模块往往只需要只读权限就能满足使用了。
资源限定
在选择完功能模块之后,用户还可以对资源进行限制。
资源默认指定的是当前项目,用户可以使用 号进行匹配,例如 project-a 这样的方式。
如果直接输入 号,资源限制就成为 acs:log:::project/ ,表示对日志服务的资源没有限制。
在选择好 project 之后,还可以进一步对 Logstore 进行设置
点击新增按钮可以再添加一条资源记录。
限制条件
最后是四种限制条件的设置
APP 配置
而选择 APP 配置后,用户可以对 APP 的使用权限进行设置。
APP 的选择是单选,如果选择的权限是允许,那么和普通项目下的设置类似,已经默认为用户选择了 APP 使用中所需要的权限。用户也可以手动做修改。如果权限选择的是禁止,那么就不用另外做设置,默认会禁止所有 APP 相关项目的权限。
预览权限策略
在完成全部配置后,点击页面最下方的“下一步”按钮,可以预览权限策略
在这里可以直接对生成的策略进行编辑微调。
上方的表格方便用户对权限规则进行预览,同时鼠标移动到每一条 Action 上时可以看到来源说明,并可以直接进行删除操作。
在编辑器上方提供各种操作按钮:
格式化:可以对编辑过的 json 进行格式化。
压缩:由于策略配置在应用时有长度限制,压缩功能可以去掉多余的空格和换行,节省字符数。
重置:可以将手动的修改还原。
复制到剪贴板:将当前编辑器中的内容存到剪贴板中,方便复制使用。
添加到自定义模板:将当前的模板保存到本地浏览器的存储中,方便用户下一次使用。需要注意,由于只是存放在浏览器的本地存储中,所以更换电脑以及更换浏览器将看不到之前存放的模板。
应用上线
完成编辑之后,可以将内容保存到本地方便之后使用。如需要马上进行配置,可以将内容复制到剪贴板,之后去 RAM 页面进行策略配置。
这时点击页面底部的下一步按钮,可以查看配置说明。
之后按照说明在 RAM 界面进行权限配置,将编辑的内容新建为自定义策略,并将该策略赋予需要的对象就完成了整个操作。
场景实例
给予一个项目的所有权限
如果需要给一个角色单个项目的所有权限,那么可以如下选择:
给予所有项目的仪表盘权限
赋予当前项目数据加工的控制台操作权限
权限助手之后会根据用户反馈,集成更多的使用场景。