跳到主要内容
版本:v3

功能介绍

自2.22.11.0版本起,平台引入项目管理概念,与SQL审核相关的资源均以项目的形式进行资源隔离。创建工单前,需要由项目管理员设置好项目内部必要的资源环境,包括项目使用的数据源、用户、流程模板、规则模板、白名单信息等,随后,项目成员才可在项目内提交工单并审核上线,或设置智能扫描任务。 本文介绍项目管理的使用场景以及如何以项目形式管理SQL工单、扫描任务等项目资源。在进行项目管理之前,需要由管理员进行创建项目,具体操作请参见创建项目

说明

提示

社区版仅支持一个默认项目,项目管理员是admin,企业版可创建多个项目,有创建项目权限的用户可以创建项目,创建项目后,可指定其他项目成员为项目管理员。

使用场景

企业内容存在多个业务,且各个业务之间的数据源、工单、扫描任务可能由不同团队在负责,希望不同团队之间的数据相互隔离。此时,可在平台内以不同项目的行为去管理多个业务资源(数据源、工单、扫描任务等)。

项目内资源调度

资源调度 项目内的主要业务为工单审核及智能扫描任务审核。围绕工单及智能扫描任务,涉及到数据源管理、审核规则模板管理、白名单管理、审核流程管理、成员管理。

以工单审核为例

工单是为了满足下发SQL时审核、上线环节的流程化需求。

工单的完整生命周期包括创建、审核、上线,其中涉及数据源、审核流程、审核规则模板、白名单的操作。

备注
  • 审核流程:一个项目可绑定一个审核流程,该审核流程将应用于该项目下的所有工单审核。
  • 数据源:工单作用于具体的数据源,创建工单时,需要指定一个或多个数据源。
  • 审核规则模板:创建工单时,平台会基于该数据源应用的审核规则模板,对成员提交的SQL语句进行审核,满足应用的审核规则后,才可创建工单。
  • 白名单:创建工单时,若存在不需要审核的SQL语句,可将该SQL语句添加至白名单,提交该SQL时平台将不做审核。

以智能扫描任务为例

智能扫描任务是为了满足长期的SQL审核,平台支持的扫描任务类型包括库表元数据、TopSQL、慢日志、Mybatis扫描、应用程序SQL抓取及其他自定义扫描任务。

智能扫描任务的完整生命周期包括创建、查看扫描任务报告,其中涉及数据源、审核规则模板、白名单的操作。

备注
  • 数据源:智能扫描任务作用于具体的数据源,创建智能扫描任务时,需要指定一个数据源。
  • 审核规则模板:创建的智能扫描任务,将基于该任务下数据源应用的审核规则模板,审核任务中的SQL语句,并生成报告。
  • 白名单:创建扫描任务时,若存在不需要审核的SQL语句,可将该SQL语句添加至白名单,执行扫描任务时,将略过该语句。

项目内资源权限

资源权限

项目内由成员执行工单及扫描任务。

前置条件

  • 需要将平台创建的用户/用户组引入项目,成为项目成员/项目成员组后,才可在项目内进行操作。平台用户/用户组的创建,请参见平台用户管理
  • 引入项目成员/成员组时,需要指定成员/成员组在对应数据源上的操作角色,成员/成员组将继承角色对应的操作权限。角色的配置,请参见平台角色管理

资源权限说明

  • 一个项目内可引入多个成员/成员组
  • 成员/成员组将依据自身绑定的数据源及对应角色权限,对指定数据源进行指定的操作。
  • 如当前项目引入了成员user1,并在user1上绑定了数据源local,并指定角色为DEV(创建工单),那么user1在当前项目中可执行的操作为:针对数据源local创建工单/管理自己创建的工单。