您可以在PolarDB控制台新增、启用或禁用白名单规则,同时您还可以修改或删除已有的规则。本文将介绍白名单规则的概念以及相关的操作步骤。
白名单规则
设置白名单规则后,任何不包含在白名单中的SQL语句都会被拦截或报警。此模式用于保护您的主业务使用的账号。即只允许此账号执行业务中使用的SQL语句,不允许执行任何业务外的SQL语句。由于实际业务中使用的SQL语句可能会很多,单个SQL语句录入会相当耗时,为了提升工作效率和使用体验。Proxy提供了以下三种白名单模式:
- 训练模式:Proxy只收集SQL语句,而不进行SQL语句拦截和报警。
- 检验模式:检测到不包含在白名单中的SQL语句时,只记录不进行SQL拦截。
- 防护模式:检测到不包含在白名单中的SQL语句时,进行SQL拦截并记录。
新增白名单规则
说明
- 每次更新业务时,都需要进行一次SQL语句训练,否则,新业务的SQL语句将不能够被执行。
- 您可以在控制台新增多个白名单,每个白名单可以通过不同的账号去训练。启用检验模式和防护模式后,也可以单独为每个白名单指定要对哪些账号起作用。
启用或禁用白名单规则
说明 禁用白名单规则时,即使对应的白名单规则被禁用,其对应数据库中的白名单表中的SQL语句还是会被保留。如果对应的白名单再次被启用,同账号的规则还是会生效。如果您想彻底禁用白名单,可通过超级账号连接到对应集群的主节点,删除
proxy_auditing.sql_list
表中的SQL语句。删除SQL语句后,需要等待5s才会生效。且在进行删除操作时,请勿直接使用DROP
命令删除表。
修改白名单规则
说明 数据库中被参数化后的SQL语句不支持在控制台修改,只能删除数据库表
proxy_auditing.sql_list
中的参数化SQL语句后重新添加。
删除白名单规则
说明 删除白名单规则时,即使对应的白名单规则被删除,其对应数据库中的
proxy_auditing.sql_list
表中的SQL语句还是会被保留。如果您想彻底删除白名单,可通过超级账号连接到对应集群的主节点,删除proxy_auditing.sql_list
表中的SQL语句。删除SQL语句后,需要等待5s才会生效。且在进行删除操作时,请勿直接使用DROP
命令删除表。