全部产品

权限申请

更新时间:2020-08-19 20:22:40

在安全规则中,您可以在权限申请节点中定制关于权限申请系列的规则,例如实例申请权限、库申请权限、表申请权限等。

背景信息

新版的安全规则具备非常灵活的能力(DSL),可以根据业务需求自定义风险级别,让不同对象的权限申请走不同的审批流程。比如您可以用不同的形式把控数据库实例的权限申请。基础语法请参见安全规则DSL语法

前提条件

账号角色为管理员DBA安全管理员

基础配置项

权限申请有8个基础配置项。

  • 【实例-权限申请】默认审批模板:当实例申请权限校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。您可以通过切换审批模板来更改默认审批模板的审批流程。操作流程请参见修改默认审批模板操作步骤
  • 【库-权限申请】默认审批模板:当库权限申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
  • 【表-权限申请】默认审批模板:当表权限申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
  • 【可编程对象-权限申请】默认审批模板:当可编程对象校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
  • 【字段-权限申请】默认审批模板:当敏感字段申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
  • 【行-权限申请】默认审批模板:当行权限申请校验中未配置不同风险对应的审批流程时,系统会采用此默认的审批模板。
  • 【Owner-申请】默认审批模板(资源无Owner时):当Owner申请校验中未配置不同风险对应的审批流程且无数据Owner时,系统会采用此默认的审批模板。
  • 【Owner-申请】默认审批模板(资源有Owner时):当Owner申请校验中未配置不同风险对应的审批流程且有数据Owner时,系统会采用此默认的审批模板。

检测点

当一个权限申请的工单被提交时,系统会校验该工单是否符合各检测点的相关规则。只有在全部校验通过的情况下,该工单才会被放行。权限申请中有如下7个检测点:

  • Owner申请校验:设置实例-OWNER表-OWNER库-OWNER申请工单的审批流程或限制条件。

  • 实例申请权限校验:设置实例-性能实例-登录申请工单的审批流程或限制条件。

  • 库权限申请校验:设置库-权限申请工单的审批流程或限制条件。

  • 表权限申请校验:设置表-权限申请工单的申请流程或限制条件。

  • 可编程对象校验:设置可编程对象申请工单的审批流程或限制条件。

  • 敏感字段申请校验:设置敏感列-权限申请工单的申请流程或限制条件。

  • 行权限申请校验:设置行-权限申请工单的申请流程或限制条件。

您可以在每个检测点中使用安全规则模板库中提供的规则,也可以自定义新增规则。详情请参见新增规则操作步骤

因子和动作

  • 因子:因子是系统内置变量,可用来获取安全规则校验的上下文信息,如获取SQL类型、数据库名称等。因子全部以@fac.开头,后接因子名称。每个模块的不同检测点均提供不同因子,权限申请中提供因子的说明请参见下表。

    因子名 说明
    @fac.env_type
    环境类型,值为环境标识,如DEVPRODUCT。更多环境类型请参见实例环境说明
    @fac.schema_name
    数据库名称。
    @fac.perm_apply_duration
    权限申请期限(单位:小时)。
    @fac.column_security_level
    字段安全等级(敏感:sensitive,机密:confidential,内部:inner)。
  • 动作:动作是满足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申请免批
库权限申请校验 禁止库权限申请
禁止申请生产库的库权限
设置测试库的库权限申请免批
表权限申请校验 禁止表权限申请
禁止申请生产库的表权限
设置测试库的表权限申请免批
可编程对象校验 禁止可编程对象权限申请
禁止申请生产库的可编程对象权限
设置测试库的可编程对象权限申请免批
敏感字段申请校验 禁止敏感字段申请
设置机密字段申请审批流程
行权限申请校验 禁止行权限申请
禁止申请生产库的行权限
设置行权限申请审批流程

新增规则操作步骤

  1. 登录DMS控制台

  2. 在页面顶部的导航栏中,单击系统管理 > 安全管理 > 安全规则

  3. 安全规则页签中,单击目标规则集右侧操作列中的编辑

  4. 详情页面左侧的导航栏中,单击权限申请

  5. 权限申请页签中,单击操作右侧的新增规则

  6. 新增规则 - 权限申请对话框中,设置如下参数:

    参数名 说明
    检测点(必选)
    选择需要增加规则的检测点。权限申请中提供了7个检测点。
    • Owner申请校验
    • 实例申请权限校验
    • 库权限申请校验
    • 表权限申请校验
    • 可编程对象校验
    • 敏感字段申请校验
    • 行权限申请校验
    模板库(可选)
    安全规则模板库中提供了大量规则模板,选择了检测点以后,您可以从模板库中按需加载规则模板。可选的模板库列表请参见模板库
    规则名称(必填) 自定义规则名称。(如您在模板库中选择了规则模板,此处会自动填充。)
    规则DSL(必填) 填写规则DSL,DSL语法请参见安全规则DSL语法。(如您在**模板库中选择了规则模板,此处会自动填充。)
  7. 单击提交

  8. 新增的规则默认处于已禁用状态,单击规则右侧操作列中的启用

  9. 在弹出的对话框中单击确认