背景信息 #
通过 YAML 格式配置数据库防火墙,能够快速地理解数据库防火墙规则之间的依赖关系,DBPlusEngine 会根据 YAML 配置,自动完成对象的创建,减少用户不必要的编码工作。
参数解释 #
databaseFirewall:
strategies: # 策略
risk_dml: # 策略名称
matchingAlgorithmNames: # 匹配算法列表
- risk_dml_algorithm
actionAlgorithmNames: #动作算法列表
- log_action
- block_action
objects: # 生效对象列表
- sharding_db.*
matchingAlgorithms: # 匹配算法配置
risk_dml_algorithm:
type: RISK_DML
props:
full-table-update: true
full-table-delete: true
actionAlgorithms: # 匹配算法配置
block_action:
type: BLOCK
log_action:
type: LOG
props:
log-level: ERROR
算法类型的详情,请参见内置脱敏算法列表。
操作步骤 #
- 在 YAML 文件中配置数据库防火墙规则,包含数据源、数据库防火墙规则、全局属性等配置项;
- 根据 YAML 文件中的配置信息创建对象。
配置示例 #
数据脱敏 YAML 配置如下:
dataSources:
unique_ds:
dataSourceClassName: com.zaxxer.hikari.HikariDataSource
driverClassName: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://localhost:3306/demo_ds?serverTimezone=UTC&useSSL=false&useUnicode=true&characterEncoding=UTF-8
username: root
password:
rules:
- DATABASEFIREWALL
strategies:
risk_dml:
matchingAlgorithmNames:
- risk_dml_algorithm
actionAlgorithmNames:
- log_action
- block_action
objects:
- sharding_db.*
matchingAlgorithms:
risk_dml_algorithm:
type: RISK_DML
props:
full-table-update: true
full-table-delete: true
actionAlgorithms:
block_action:
type: BLOCK
log_action:
type: LOG
props:
log-level: ERROR