本文档介绍了如何在析言GBI中进行权限管理,以控制用户对数据表、列与值的查询权限。
流程简介
- 新增权限:为数据表或数据表的列与值设置权限,通过权限来约束用户可查询的数据表、列和值的范围。
- 为角色关联权限:您可以通过设置角色并为其关联权限,来约束使用析言的用户可访问的数据范围。
- 验证权限是否生效:析言GBI会根据角色权限验证并处理提交的问题,确保只有符合权限范围的查询才能被执行并展示查询结果。
- 实现权限隔离:通过API进行问答和数据分析时,可以为不同用户分配业务空间和角色,以实现权限隔离。请注意,控制台上不支持此功能。
前提条件
授权操作
步骤一:新增权限
析言提供了系统预置权限全表查询权限。该权限默认开启,用于查询全部数据表。
如果您需要对特定的数据表或数据表的列与值设置查询权限,请在权限管理页面点击新增权限,配置以下信息:
| 参数名称 | 参数说明 |
|---|---|
| 权限名称 | 自定义。建议对权限名称进行规范,以便准确识别权限的用途。 |
| 权限使用状态 |
|
| 授权数据范围 |
|
| 选择数据表 | 授权数据范围选择表级别时显示该参数。候选范围为在数据表管理时授权访问的表范围。
|
| 选择列与值 | 授权数据范围选择列与值级别时显示该参数。 点击新增一组列与值,先选择数据表,再选择该表内的列与值。
析言可添加应用场景:
|
步骤二:为角色关联权限
析言提供了系统预置角色超级管理员角色,并为该角色关联了全表查询权限。
如果您需要自定义角色并关联权限,请在角色管理页面点击新增角色,配置以下信息:
| 参数名称 | 参数说明 |
|---|---|
| 角色名称 | 自定义。建议对角色名称进行规范,以便准确识别角色的用途。 |
| 关联权限 | 选择需要关联的权限。
|
步骤三:验证权限是否生效
-
在提问时选择合适的角色。
在析言GBI首页的问题输入框上方选择角色,再进行提问。
超级管理员和其他角色不能同时选择。
如果选中的角色关联的权限中包含变量值类型,则需要输入相应的变量值,再提问。问题提交时,析言会核实变量值是否符合用户角色可查询的权限范围,若不符合权限范围,则会拒绝提问请求,并提示错误信息:“您当前角色为xxxx,该角色需要传入【变量名】的变量值,请完善信息后重新提交,当次问题不计入析言调用额度”。
单击问题输入框上方的角色下拉框,弹出角色选择对话框,以复选框形式列出可选角色(如超级管理员(选择后自动拥有所有角色)和客户信息权限),勾选后单击确定即可应用对应权限进行提问。
-
展示SQL内容。
问题提交通过,在SQL生成之后,析言将对SQL内容和数据权限范围进行检查,展示最终的SQL内容。分为以下2种情况:
-
若本次SQL生成符合数据权限的查询范围:则继续执行SQL查询和后续的图表展示。
-
若本次SQL生成不符合数据权限的查询范围:则不执行SQL查询,同时提示信息“很抱歉,您没有对该问题的查询权限,table.col1、table.col2不在您的可查询范围内”。
重要不论本次SQL生成是否符合数据权限的查询范围,都会消耗析言调用额度。
-
步骤四:实现权限隔离
目前仅支持通过Chat对话接口调用析言GBI时实现权限隔离。