本文档旨在介绍如何新建和管理自动授权规则。
背景信息
OceanBase 开发者中心(OceanBase Developer Center,ODC)支持拥有特殊权限的用户(系统管理员)定义自动授权规则。拥有该特殊权限的用户可以创建/修改/查看/停用自动授权规则。
自动授权是指对满足某些条件的用户,例如姓名、组织部门、登录方式等信息符合某些判断条件,在初次登录或创建用户时自动授予特定的角色或权限,以避免大量冗余授权操作的一项功能。
本文档以创建 Grant system_admin for deptB 自动授权规则为例,memberOf.department 中的用户名包含 deptB 时,为该用户授予 system_admin 角色。
新建自动授权规则
用户在 ODC 上集成 OAuth2 且认证登录 ODC 后,OAuth2 授权系统返回数据结构。例如:
{ "id": 1, "name": "username", "mail": "example@email.com", "memberOf": { "department": [ { "name": "deptA", "description": "this is a department" }, { "name": "deptB", "description": "this is a department" } ], "extra": "some other info" } }
对于该数据,可以使用不同表达式获取对应的值。例如:
expression
result
id
1
memberOf.department[0].name
deptA
memberOf.department[*].name
["deptA", "deptB"]
通过第三方登录 Web 版 ODC 后,在项目协同窗口的左侧导航栏中,单击 用户权限 > 授权规则 > 新建规则。
在 新建规则 面板中需指定以下信息以创建新的规则。
信息项
说明
规则名称
指定该规则的名称,不可重名。
状态
选择 启用/停用 该授权规则。
规则状态默认为 启用,可手动更改为 停用。被停用的规则将不能被访问。
触发事件
当前只能选择系统内置的事件,不同事件对应不同的触发时机。
匹配条件(可选)
单击 添加条件 按钮并指定以下四个字段创建匹配条件。
对象:存储了触发条件和执行行为所需的信息,可以为复杂嵌套对象,包括 array、list 和 map;也可以为字符串和数字等简单对象。
表达式:目标在对象中所处的索引,不同类型对象的索引方式有区别。
操作:支持包含、匹配和等于操作。
值:目标值。
说明如未选择添加匹配条件,表示触发选择的事件则会无条件执行动作。
选择 匹配 作为匹配条件时,匹配值需为正则表达式。
执行动作(可选)
选择 授予角色/授予连接访问权限 并配置对应的角色名称/公共连接名称。
说明如未选择执行动作,表示无论是否满足匹配条件均不执行任何动作。
备注(可选)
为规则添加备注信息,非必填项。
指定上述信息后,单击面板右下角的 保存 按钮以完成创建规则。
创建完成后,可在自动授权列表中查看创建的规则。
查看自动授权规则
自动授权规则列表
如上图所示,在自动授权规则列表中显示并提供了以下基本信息。
信息项 | 说明 |
规则名称 | 显示规则的名称信息。 |
创建人 | 显示创建发起人。 单击搜索图标,可搜索和筛选创建人。 |
状态 | 显示规则当前状态:启用 或者 停用。 单击筛选图标,可筛选状态。 |
创建时间 | 显示对规则进行 编辑 的最新历史操作时间。 支持以升序或降序方式显示创建时间。 |
启用状态 | 支持启用/停用规则。 |
操作 | 支持 查看、编辑 和 删除 规则。 |
查看规则
在自动授权规则信息 操作 栏下,单击 查看 按钮以弹出 规则信息 面板。面板中包括以下信息。
信息项 | 说明 |
规则信息 | 显示 规则名称、触发事件、匹配条件、执行动作、角色、备注 等创建规则时您指定的信息。 |
操作信息 | 显示 创建人、创建时间 和 更新时间 等信息。 |
编辑规则
在自动授权规则信息 操作 栏下,单击 编辑 按钮以弹出 编辑规则 面板。
编辑规则 面板中显示新建规则时所指定的所有信息项,可修改此类信息项以编辑规则。