背景信息新版的安全规则具备非常灵活的能力(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。单击控制台左上角的图标,选择全部功能 > 安全与规范 > 权限中心 > 权限模板。
说明 若您使用的是非极简模式的控制台,在顶部菜单栏中,选择安全与规范 > 权限中心 > 权限模板。
在安全规则页签中,单击目标规则集右侧操作列中的编辑。
在详情页面左侧的导航栏中,单击权限申请。
在权限申请页签中,单击操作右侧的新增规则。
在新增规则 - 权限申请对话框中,设置如下参数:
参数
说明
检测点(必选)
选择需要增加规则的检测点。权限申请中提供了7个检测点。
Owner申请校验
实例申请权限校验
库权限申请校验
表权限申请校验
可编程对象校验
敏感字段申请校验
行权限申请校验
模板库(可选)
安全规则模板库中提供了大量规则模板,选择了检测点以后,您可以从模板库中按需加载规则模板。可选的模板库列表请参见模板库。
规则名称(必填)
自定义规则名称。若您在模板库中选择了规则模板,此处会自动填充。
规则DSL(必填)
填写规则DSL,DSL语法请参见安全规则DSL语法。若您模板库中选择了规则模板,此处会自动填充。
单击提交。
新增的规则默认处于已禁用状态,单击规则右侧操作列中的启用。
在弹出的对话框中单击确认。