> 技术文档 > 我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除_sqlyog 执行 drop database 怎么禁止?

我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除_sqlyog 执行 drop database 怎么禁止?

记录:我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除
业务场景
大数据集群中偶发出现用户删错数据库现象,使用较高权限的开发用户将别人的数据库误删除,人为进行的操作,该怎么避免?

目的
使用Ranger鉴权组件,对数据库开发用户组内的每一个用户,进行drop database权限限制,该如何限制呢?

程序优势:不可能每新增1个数据库开发用户或新增1个数据库,就要手动去创建1条策略 限制新用户的权限。本程序实现一次策略设置,即可对每一个数据库开发用户 进行权限限制。主要作用是对高权限用户起到权限限制作用。

思路

  1. 设置一个策略,策略对一个不存在的库取反
  2. 禁止集群内部的所有开发用户组(示例为hive、supergroup、hadoopmanger等)
  3. 禁止操作项:Drop

主业务程序如下:创建禁止Drop database策略 (RangerAPI)
我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除_sqlyog 执行 drop database 怎么禁止?
完整代码:详见主页「资源」
策略创建完成后去Ranger webui查看此策略
策略名:deny-all-db-drop

策略详情说明如下图:(优势: 每新增1个数据库开发用户或新增1个数据库,就要手动去创建1条策略 限制新用户的权限。本程序实现一次策略设置,即可对每一个数据库开发用户 进行权限限制)
我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除_sqlyog 执行 drop database 怎么禁止?

我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除_sqlyog 执行 drop database 怎么禁止?
我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除_sqlyog 执行 drop database 怎么禁止?
#本程序实现一次策略设置,即可对每一个数据库开发用户 进行权限限制(限制Drop database)
#真实业务开发 #大数据 #Java

蚌埠门户网站