通过spring boot mybatis 来实现restapi
一. 用户
1. 创建用户
x_user 中添加一个用户
2. 更新用户信息
更新x_user 的信息
3. 删除用户
查询该用户的policy 信息 和policy_item_user_perm 信息
如果存在,删除policy_item_user_perm 信息, 更新x_policy 的版本
通过policy 更新x_service 的版本
删除用户
二.策略
关于一个策略具体内容:
资源信息, 操作权限 为一个策略。 例如: hive资源:db,table,column 操作权限 select create 为一个策略,
只要资源相同,操作权限相同 就为一个策略。
ranger 里面添加一个表结构x_policy_perm, 策略名, 服务id, policyId, policyItemId, userId.
1.创建一个策略并授权给一个用户
首先查询资源信息是否存在,然后查询此资源权限是否存在
如果存在的话,x_policy_item_user_perm 添加记录。 x_policy_perm添加记录
如果资源不存在的话,创建x_policy 信息 和 x_policy_item 信息
如果资源存在,权限不存在 ,添加x_policy_item 信息
最后更新x_service 里面的版本。
2.将一个策略授权给一个用户
x_policy_item_user_perm 添加记录 x_policy_perm 添加记录 ,更新x_service 版本
3.给一个用户授权,如果授权的信息存在于当前的策略中, 将这个策略授权给一个用户,
如果不存在,创建这个策略, 并授权给这个用户
同1
4. 查询一个用户拥有哪些策略
查询x_policy 对应的resouce 信息
查询 x_policy x_policy_item 对应的 x_policy_item_access 信息
5. 查询一个策略哪些用户拥有
查询一个x_policy_item, x_policy_item_user_perm 信息
6. 删除用户一个拥有的策略(如果这个策略目前没人拥有,此时不删除)
删除x_policy_item_user_perm 的记录,删除x_policy_perm 信息, 如果此策略没有用户(此时不删除)
更新x_service 版本
7. 删除一个策略, 此时要删除所有用户的信息。
删除x_policy_item 里面信息,删除x_policy_item_access 信息, 删除x_policy_item_user_perm
x_policy_perm 信息。 更新x_service版本