Ranger Restful API操作用户user和群组group接口

来源:互联网 发布:德国2016经济数据 编辑:程序博客网 时间:2024/06/09 16:32

1、创建用户

curl -u admin:admin -v -i -s -X POST -H "Accept: application/json" -H "Content-Type: application/json" http://<ranger_host_address>:6080/service/xusers/secure/users -d@userfile.json

注明:@userfile.json文件也可以用json格式字符串替换 -d ‘{... ...}’

注明:某些接口可能需要移除/secure

注明2userfile.json内容举例如下

{ "name":"zhouyuan", "firstName":"zhouyuan", "lastName": "zhouyuan", "loginId": "zhouyuan", "emailAddress" : null, "description" : "zhouyuan - add fromambari", "password" : "userpass", "groupIdList":[], "status":1, "isVisible":1, "userRoleList": [ "ROLE_USER" ], "userSource":1 }

userRoleList取值:"ROLE_SYS_ADMIN" 或 "ROLE_USER"

移除密码字段,用户将变成External用户

"userSource":0表示Internal1表示External

2、获取用户信息

根据用户名查询,不包含与group关系

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://<ranger_host_address>:6080/service/xusers/users/userName/zhouyuan

根据用户ID查询,包含与group关系(可以根据用户名查询获取用户ID

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://<ranger_host_address>:6080/service/xusers/secure/users/{id}


3、删除用户

软删除(即将用户状态设为Hidden)

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X DELETEhttp://<ranger_host_address>:6080/service/xusers/users/userName/zhouyuan

硬删除

URL末尾添加参数:forceDelete=true,即

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X DELETE http://<ranger_host_address>:6080/service/xusers/users/userName/zhouyuan?forceDelete=true

4、创建组

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X POSThttp://<ranger_host_address>:6080/service/xusers/secure/groups -d '{"name":"zhouyuan-group","description":"zhouyuan - add from ambari","groupSource"=1}'

"groupSource":0表示Internal1表示External

5、查询组

模糊搜索(可能返回列表):

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://<ranger_host_address>:6080/service/xusers/groups?name=group1

精确获取此群信息:

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X GEThttp://<ranger_host_address>:6080/service/xusers/groups/groupName/group1


6、删除组

curl -u admin:admin -v -i -s -H "Accept: application/json" -H "Content-Type: application/json" -X DELETE  http://<ranger_host_address>:6080/service/xusers/groups/groupName/{groupName}

同删除用户一样,分软删除和硬删除


7、组更新用户成员

1、添加方式:Ambari中组添加用户,Ranger用户添加组

2、Ambari已采用python脚本实现了与LDAP用户同步

3、Ambari用户变更前后,识别哪些用户新增到此组,哪些用户不变(不管),哪些用户解绑此组。(需要查询一次进行修改前后用户对比)

4、每个新增/解绑用户调用ranger接口,获取用户信息从而知道用户{id},获取群组{id}, put消息修改用户groupIdList字段(其他字段不变)

curl -u admin:admin -v -i -s -X PUT -H "Accept: application/json" -H "Content-Type: application/json" http://<ranger_host_address>:6080/service/xusers/secure/users/{id} -d@userfile.json

 

 

阅读全文
0 0
原创粉丝点击