【发布时间】:2021-01-21 22:40:49
【问题描述】:
我们已经安装了 Apache Ranger,并且 Web UI 工作正常,大多数 REST API 方法在 PublicAPIsv2 和 RoleREST 上都工作正常,根据 https://ranger.apache.org/apidocs/ui/index.html。
我可以通过调用返回 id 409 的GET /public/v2/api/roles/name/test_role 获得“test_role”id。
我可以通过调用GET /public/v2/api/roles/409获取 test_role 内容
我可以通过编辑从GET /public/v2/api/roles/409 获得的响应并通过PUT /public/v2/api/roles/409 提交来更改 test_role 用户列表
身体是:
{
"id": 409,
"isEnabled": true,
"createdBy": "admin",
"updatedBy": "admin",
"createTime": 1598241102841,
"updateTime": 1601975068428,
"name": "test_role",
"options": {},
"users": [
{
"name": "test_user1”,
"isAdmin": true
},
{
"name": “test_user2”,
"isAdmin": true
},
{
"name": “test_user3”,
"isAdmin": false
}
],
"groups": [
{
"name": "test_group”,
"isAdmin": false
}
],
"roles": []
}
但是调用PUT /public/v2/api/roles/409/addUsersAndGroups 会返回“404 not found”。
我尝试使用与上述相同的主体作为参数,并且还使用:
{
"users": [
{
"name": “test_user4”,
"isAdmin": true
}
]
}
有人知道作为参数发送到的正确正文是什么:
/public/v2/api/roles/409/addUsersAndGroups?
此外,进行错误调用(例如GET /public/v2/api/roles/409/addUsersAndGroups)会返回“405 方法不允许”。所以我相信它表明终点确实存在。我不知道为什么用(可能)不正确的正文调用 PUT public/v2/api/roles/409/addUsersAndGroups 会返回“404 not found”,而不是与错误参数相关的错误消息。
【问题讨论】:
-
还没有解决方案...但是解决方法有效。
标签: apache-ranger