如何通过 REST API 将用户添加到 Apache Ranger
Posted
技术标签:
【中文标题】如何通过 REST API 将用户添加到 Apache Ranger【英文标题】:How to add users to Apache Ranger via REST API 【发布时间】:2016-11-26 05:55:20 【问题描述】:如标题所示,如何通过 REST API 手动将用户添加到 Apache Ranger。 您能否发布一个 curl 调用的示例? 您能否发布一个我可以找到文档的网址:
http:<ip>:6080/service/xusers/???
【问题讨论】:
【参考方案1】: 所有查询的全局注释:有时您必须删除 /secure获取用户
curl -u admin:admin -v -i -s -X GET http://xxx:6080/service/xusers/secure/users/$ID_USER
将 $ID_USER 替换为您的用户 ID
注意:有时您必须删除 /secure获取所有用户
curl -u admin:admin -v -i -s -X GET http://xxx:6080/service/xusers/secure/users
删除用户
curl -u admin:admin -v -i -s -X DELETE http://xxx:6080/service/xusers/secure/users/$ID_USER
将 $ID_USER 替换为您的用户 ID
添加/发布用户
curl -u admin:admin -v -i -s -X POST -H "Accept: application/json" -H "Content-Type: application/json" http://xxx:6080/service/xusers/secure/users -d @userfile.json
注意:有时您必须删除 /secure
注意2:userfile.json应该是这样的:
"name":"user1",
"firstName":"user1",
"lastName": "user1",
"loginId": "user1",
"emailAddress" : null,
"description" : "user1 desc",
"password" : "user1pass",
"groupIdList":[2,12],
"status":1,
"isVisible":1,
"userRoleList": [ "ROLE_SYS_ADMIN" ],
"userSource": 0
【讨论】:
我正在尝试创建用户,我只是使用了上面相同的 json。用户创建成功,但是,用户没有firstName
(它是空的),userRoleList
、groupIdList
的值似乎与我在 json 中给出的值不同。我也尝试过使用groupNameList
,但这似乎也没有任何效果。当我使用我得到的用户 ID 执行GET
时,它返回一个没有password
字段的XML
。我也无法删除我使用DELETE
或使用Web UI 创建的用户,错误我看到的消息是no user found with id
。请帮忙!【参考方案2】:
我想在@lisztomania 的回答中补充一点,来自 Apache Ranger 邮件列表存档的这个页面提供了许多可用的 API 调用及其描述。您可以在那里找到添加/删除用户/组的 API 调用:
https://www.mail-archive.com/user@ranger.incubator.apache.org/msg00064.html
希望对您有所帮助!
【讨论】:
以上是关于如何通过 REST API 将用户添加到 Apache Ranger的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 REST API 将 Keycloak 领域角色添加到组
如何通过rancher REST api将容器添加到堆栈中的服务
Django - 如何通过 API 端点使用 rest_framework 动态地将多个对象添加到数据库中