如何通过 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

userRoleList 可以是“ROLE_SYS_ADMIN”或“ROLE_USER” 如果您删除密码,用户将是外部用户。

【讨论】:

我正在尝试创建用户,我只是使用了上面相同的 json。用户创建成功,但是,用户没有firstName(它是空的),userRoleListgroupIdList 的值似乎与我在 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 动态地将多个对象添加到数据库中

通过 TFS REST API 将工作项添加到板列

有没有办法使用 Keycloak Admin REST API 将用户添加到 Keycloak 中的多个组(批量)?

PayPal Rest API:如何将卡添加或更新到计费协议 api?