管理 SQL 开发规范
初始状态下,NineData 提供开发环境和生产环境下的 SQL 开发规范,以确保数据库的安全。您也可以根据自身业务需求,自定义 SQL 开发规范。
注意事项
- 新规范的创建必须基于已有规范。
- 系统提供的默认规范无法被删除,但可以编辑。
- 数据库 DevOps 专业版下不支持创建规范,数据库 DevOps 企业版无此限制。
- AWS Redshift、MaxCompute、ShardingProxy 和 GBase8a 数据源支持关联 SQL 开发规范。不同数据源可配置的规则以当前控制台显示为准。
前提条件
- 已创建或加入组织,并且该组织已开通数据库 DevOps 专业版或数据库 DevOps 企业版,同时请确保您的包年包月订阅未过期。更多信息,请参见管理组织。
- 当前账号已切换到目标组织。更多信息,请参见切换到组织。
- 您在组织中的角色为系统管理员。
创建规范
登录 NineData 控制台。
在左侧导航栏,单击数据库 DevOps > 规范与流程。
在规范与流程页面,单击 SQL 开发规范页签,并单击右上角的创建规范。
提示您也可以单击目标规范右侧操作列的类似创建,基于该规范创建新规范。
在弹出的创建规范对话框中,配置下列参数并单击确定。
复制规范:选择基于哪个规范创建新规范。
提示如果您是通过单击类似创建到达此对话框,则此处已默认选好。
规范名称:输入新规范的名称,支持 1 ~ 32 个字符。为了方便后续查找和管理,请尽量使用有意义的名称。
提示如果您是通过单击类似创建到达此对话框,则此处已默认填写完成。
描述(可选):输入针对新规范的描述,支持 1 ~ 64 个字符。
控制台自动跳转到SQL 开发规范详情页面,您可以在该页面编辑、开关目标规则。
提示SQL 开发规则已根据各大模块分类,您可以单击类别页签进行切换。
配置 NoSQL 命令控制
对于 NoSQL 数据源,SQL 开发规范分别提供 SQL 窗口 和 SQL 任务 两条命令控制规则。两条规则相互独立:前者控制 SQL 窗口中的命令,后者控制 SQL 任务中的命令。是否拦截命令以及允许执行的命令,以目标规范中的规则开关和命令列表为准。
登录 NineData 控制台。
在左侧导航栏,单击数据库 DevOps > 规范与流程。
在规范与流程页面,单击SQL 开发规范页签,然后单击目标规范名称。
在SQL 开发规范详情页面,根据要管控的模块选择对应页签:
- 在SQL 窗口页签中,找到NoSQL 类型数据库 SQL 窗口支持命令规则,单击编辑。
- 在SQL 任务页签中,找到 NoSQL 命令规则,单击编辑。
在编辑规则窗口中配置支持的功能模块、支持数据库和支持的命令。当前控制台的该规则编辑窗口显示 Redis、MongoDB、ElastiCache 和 PegaDB 选项;不同规范和数据源的可选项以当前控制台实际显示为准。
- SQL 窗口规则的说明为:NoSQL 类型数据库支持命令。关闭该规范时,不做任何命令拦截;开启该规范时,只允许执行用户指定的命令列表。。当前控制台中,Redis 的命令选择器展示 DQL、DDL、DML 分类。
- SQL 任务规则用于限制 NoSQL 数据源在 SQL 任务中可执行的命令。当前控制台中,SQL 任务的 Redis 命令选择器展示具体命令列表。
确认命令范围和规则开关后,单击确定保存。仅将业务确实需要的命令加入允许列表,并在关联数据源前确认 SQL 窗口和 SQL 任务分别使用了预期的规则。
NoSQL 命令控制只说明对应模块的命令拦截范围,不代表所有 NoSQL 数据源都支持 SQL 代码审核或其他 SQL 开发能力;具体支持范围以目标模块和当前控制台为准。
编辑规范
登录 NineData 控制台。
- 在左侧导航栏,单击数据库 DevOps > 规范与流程。
- 在规范与流程页面,单击 SQL 开发规范页签,然后单击目标规范名称。
- 控制台跳转到SQL 开发规范详情页面,您可以在该页面编辑、开关目标规则。
删除规范
登录 NineData 控制台。
在左侧导航栏,单击数据库 DevOps > 规范与流程。
在规范与流程页面,单击 SQL 开发规范页签。
单击需要删除的规范,在 SQL 开发规范详情页面,单击右上角的删除。
提示您也可以单击目标规范右侧操作列的删除。
在弹出的确认窗口中,单击删除。
提示如果当前规范已经关联到某个环境或数据源,需要在弹出的当前规范被以下 环境/数据源 关联,请先更改窗口中为这些资源选择新的流程,然后单击更改并删除。
关联规范到环境
SQL 开发规范被关联到环境后,会覆盖环境原有的规范,该环境下所有数据源都将适用该新规范。
登录 NineData 控制台。
- 在左侧导航栏,单击数据库 DevOps > 规范与流程。
- 在环境配置页签下,找到目标环境名称,并单击其右侧操作列的编辑。
- 在弹出的编辑环境配置窗口中,选择您需要的 SQL 开发规范,单击确定。
关联规范到数据源
SQL 开发规范被关联到数据源后,该数据源将适用该新规范,不再适用所属环境中的规范。环境中其他数据源不受影响。
登录 NineData 控制台。
在左侧导航栏,单击数据库 DevOps > 规范与流程。
单击数据源配置页签,找到目标数据源名称,并单击其右侧操作列的编辑。
提示数据源关联的SQL 开发规范中,左侧带有
图标代表已继承环境中配置的 SQL 开发规范。
在弹出的编辑数据源配置窗口中,将 SQL 开发规范下继承环境配置左侧的勾去掉,然后选择您需要的规范,单击确定。
提示重新选中继承环境配置即可恢复成环境中配置的 SQL 开发规范。
附录:概念说明
在配置 SQL 开发规范时,您可以对每条规则进行编辑,此处对重点的两个配置项目进行说明。
| 配置项目 | 说明 |
|---|---|
| 规则级别 | 分必须改进、建议改进两种。您可以根据实际业务需求调整每个规则的级别。
|
| 支持数据库 | 列出该条规则支持的所有数据库类型。您可以按需选择对哪种数据库类型生效,支持单选和多选。 |