在安全规则中,您可以在权限申请节点中定制关于权限申请系列的规则,例如实例申请权限、库申请权限、表申请权限等。
背景信息
新版的安全规则具备非常灵活的能力(DSL),可以根据业务需求自定义风险级别,让不同对象的权限申请走不同的审批流程。例如您可以用不同的形式把控数据库实例的权限申请,基础语法请参见安全规则DSL语法。
前提条件
用户角色为管理员、DBA、安全管理员。
基础配置项
权限申请有8个基础配置项。
【实例-权限申请】默认审批模板:当实例申请权限校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。您可以通过切换审批模板来更改默认审批模板的审批流程。操作流程请参见修改默认审批模板操作步骤。
【库-权限申请】默认审批模板:当库权限申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
【表-权限申请】默认审批模板:当表权限申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
【可编程对象-权限申请】默认审批模板:当可编程对象校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
【字段-权限申请】默认审批模板:当敏感字段申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
【行-权限申请】默认审批模板:当行权限申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
【Owner-申请】默认审批模板(资源无Owner时):当Owner申请校验中未配置不同风险对应的审批流程且无数据Owner时,系统会采用此默认的审批模板。
【Owner-申请】默认审批模板(资源有Owner时):当Owner申请校验中未配置不同风险对应的审批流程且有数据Owner时,系统会采用此默认的审批模板。
检测点
当一个权限申请的工单被提交时,系统会校验该工单是否符合各检测点的相关规则。只有在全部校验通过的情况下,该工单才会被放行。权限申请中有如下7个检测点:
Owner申请校验:设置实例-OWNER、表-OWNER、库-OWNER申请工单的审批流程或限制条件。
实例申请权限校验:设置实例-性能、实例-登录申请工单的审批流程或限制条件。
库权限申请校验:设置库-权限申请工单的审批流程或限制条件。
表权限申请校验:设置表-权限申请工单的申请流程或限制条件。
可编程对象校验:设置可编程对象申请工单的审批流程或限制条件。
敏感字段申请校验:设置敏感列-权限申请工单的申请流程或限制条件。
行权限申请校验:设置行-权限申请工单的申请流程或限制条件。
您可以在每个检测点中使用安全规则模板库中提供的规则,也可以自定义新增规则。详情请参见新增规则操作步骤。
因子和动作
因子:因子是系统内置变量,可用来获取安全规则校验的上下文信息,如获取SQL类型、数据库名称等。因子全部以
@fac.
开头,后接因子名称。每个模块的不同检测点均提供不同因子,权限申请中提供因子的说明请参见下表。因子名
说明
@fac.env_type
环境类型,值为环境标识,如
DEV
、PRODUCT
。更多环境类型请参见实例环境说明。@fac.schema_name
数据库名称。
@fac.perm_apply_duration
权限申请期限(单位:小时)。
@fac.column_security_level
字段安全等级。
敏感:sensitive
机密:confidential
内部:inner
@fac.perm_type
申请权限的权限类型列表,返回一个字符串列表,例如返回['CORRECT','EXPORT']。
权限类型枚举:
查询:QUERY
导出:EXPORT
变更:CORRECT
登录:LOGIN
性能查看:PERF
@fac.perm_type通常结合@fun.listEqualIgnoreOrder一起使用,判断权限申请工单申请的权限类型,例如@fun.listEqualIgnoreOrder(@fac.perm_type, ['QUERY']),判断是否仅申请了查询权限。
动作:动作是满足if条件之后系统执行的行为,例如:禁止提交申请工单、选择工作流、允许执行、拒绝执行等,这些动作表达了安全规则的主要目的。动作全部以
@act.
开头,后接动作名称。每个模块的不同检测点均提供不同动作,权限申请中提供动作的说明请参见下表。动作名
说明
@act.forbid_submit_order
禁止提交申请工单。
@act.do_not_approve
指定审批模板ID。详情请参见设置审批流程。
@act.choose_approve_template
@act.choose_approve_template_with_reason
模板库
安全规则提供了大量的规则模板可直接选择启用,也可以在模板基础上按照实际需求自行调整启用。权限申请中的模板如下所示。
检测点 | 模板 |
Owner申请校验 | 禁止申请生产库的Owner。 |
禁止Owner申请。 | |
设置测试库的Owner申请免批。 | |
库权限申请校验 | 禁止库权限申请。 |
禁止申请生产库的库权限。 | |
设置测试库的库权限申请免批。 | |
表权限申请校验 | 禁止表权限申请。 |
禁止申请生产库的表权限。 | |
设置测试库的表权限申请免批。 | |
可编程对象校验 | 禁止可编程对象权限申请。 |
禁止申请生产库的可编程对象权限。 | |
设置测试库的可编程对象权限申请免批。 | |
敏感字段申请校验 | 禁止敏感字段申请。 |
设置机密字段申请审批流程。 | |
行权限申请校验 | 禁止行权限申请。 |
禁止申请生产库的行权限。 | |
设置行权限申请审批流程。 |
新增规则操作步骤
- 登录数据管理DMS 5.0。
单击控制台左上角的图标,选择
。说明若您使用的是非极简模式的控制台,在顶部菜单栏中,选择
。在安全规则页签中,单击目标规则集右侧操作列中的编辑。
在详情页面左侧的导航栏中,单击权限申请。
在权限申请页签中,单击操作右侧的新增规则。
在新增规则 - 权限申请对话框中,设置如下参数:
单击提交。
新增的规则默认处于已禁用状态,单击规则右侧操作列中的启用。
在弹出的对话框中单击确认。