# deny-drop-database-backend **Repository Path**: wubaidev/deny-drop-database-backend ## Basic Information - **Project Name**: deny-drop-database-backend - **Description**: 禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-03-05 - **Last Updated**: 2025-03-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java ## README # deny-drop-database-backend **使用说明详情**:[我写了一个程序:禁止用户Drop数据库 | 禁止Drop database包括用户自身建的库也无权限删除](https://blog.csdn.net/m0_57874805/article/details/145811595?spm=1001.2014.3001.5502) **业务场景**: 大数据集群中偶发出现用户删错数据库现象,使用较高权限的开发用户将别人的数据库误删除,人为进行的操作,该怎么避免? **目的**: 使用Ranger鉴权组件,对数据库开发用户组内的每一个用户,进行drop database权限限制,该如何限制呢? **程序优势**:不可能每新增1个数据库开发用户或新增1个数据库,就要手动去创建1条策略 限制新用户的权限。本程序实现一次策略设置,即可对每一个数据库开发用户 进行权限限制。**主要作用是对高权限用户起到权限限制作用。** **思路**: 1. 设置一个策略,策略对一个不存在的库取反 2. 禁止集群内部的所有开发用户组(示例为hive、supergroup、hadoopmanger等) 3. 禁止操作项:Drop **主业务程序如下:创建禁止Drop database策略** (PolicyApiWoker) ![输入图片说明](https://foruda.gitee.com/images/1741182932350111325/c9c55747_14481489.png "屏幕截图") **策略创建完成后去Ranger webui查看此策略**: 策略名:deny-all-db-drop 策略详情说明如下图:(优势: 每新增1个数据库开发用户或新增1个数据库,就要手动去创建1条策略 限制新用户的权限。本程序实现一次策略设置,即可对每一个数据库开发用户 进行权限限制) ![输入图片说明](https://foruda.gitee.com/images/1741183008004530610/f3ac548d_14481489.png "屏幕截图") ![输入图片说明](https://foruda.gitee.com/images/1741183028572973730/eb400712_14481489.png "屏幕截图") ![输入图片说明](https://foruda.gitee.com/images/1741183040611279497/d41a5270_14481489.png "屏幕截图") #本程序实现一次策略设置,即可对每一个数据库开发用户 进行权限限制(限制Drop database) #真实业务开发 #大数据 #Java