This documentation is for a release that is no longer maintained
See documentation for the latest supported version.4.3. 支持的 RBAC REST API 端点
RBAC REST API 提供了在 Developer Hub 中管理角色、权限和条件策略的端点,并检索有关角色和策略的信息。
4.3.1. 角色 复制链接链接已复制到粘贴板!
RBAC REST API 支持以下端点来管理 Red Hat Developer Hub 中的角色。
- [GET] /api/permission/roles
返回 Developer Hub 中的所有角色。
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [GET] /api/permission/roles/<kind>/<namespace>/<name>
返回 Developer Hub 中单个角色的信息。
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [POST] /api/permission/roles/<kind>/<namespace>/<name>
在 Developer Hub 中创建角色。
Expand 表 4.1. 请求参数 Name 描述 类型 存在 正文(body)memberReferences、组、namespace并将新角色命名为要创建的新角色。请求正文
必填
请求正文示例(JSON)
{ "memberReferences": ["group:default/test"], "name": "role:default/test_admin" }{ "memberReferences": ["group:default/test"], "name": "role:default/test_admin" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
201 Created
201 CreatedCopy to Clipboard Copied! Toggle word wrap Toggle overflow - [PUT] /api/permission/roles/ <kind> / <namespace> / <name>
为 Developer Hub 中的角色更新
memberReferences、类型、namespace或name。请求参数
请求正文包含
oldRole和newRole对象:Expand Name 描述 类型 存在 正文(body)memberReferences、组、namespace并将新角色命名为要创建的新角色。请求正文
必填
请求正文示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
200 OK
200 OKCopy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/roles/<kind>/<namespace>/<name>?memberReferences=<VALUE>
从 Developer Hub 中的角色中删除指定的用户或组。
Expand 表 4.2. 请求参数 Name 描述 类型 存在 kind实体的类型
字符串
必填
namespace实体的命名空间
字符串
必填
name实体的名称
字符串
必填
memberReferences关联的组信息
字符串
必填
响应示例
204
204Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/roles/<kind>/<namespace>/<name>
从 Developer Hub 删除指定的角色。
Expand 表 4.3. 请求参数 Name 描述 类型 存在 kind实体的类型
字符串
必填
namespace实体的命名空间
字符串
必填
name实体的名称
字符串
必填
响应示例
204
204Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.2. 权限策略 复制链接链接已复制到粘贴板!
RBAC REST API 支持以下端点来管理 Red Hat Developer Hub 中的权限策略。
- [GET] /api/permission/policies
返回所有用户的权限策略列表。
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [GET] /api/permission/policies/<kind>/<namespace>/<name>
返回与指定实体引用相关的权限策略。
Expand 表 4.4. 请求参数 Name 描述 类型 存在 kind实体的类型
字符串
必填
namespace实体的命名空间
字符串
必填
name与实体相关的名称
字符串
必填
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [POST] /api/permission/policies
为指定实体创建权限策略。
Expand 表 4.5. 请求参数 Name 描述 类型 存在 entityReference实体的引用值,包括
类型、namespace和name字符串
必填
权限特定插件、资源类型或名称的权限
字符串
必填
policy权限的策略操作,如创建、
读取、更新、删除或使用字符串
必填
effect表示允许或不允许策略
字符串
必填
请求正文示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
201 Created
201 CreatedCopy to Clipboard Copied! Toggle word wrap Toggle overflow - [PUT] /api/permission/policies/<kind>/<namespace>/<name>
更新指定实体的权限策略。
请求参数
请求正文包含
oldPolicy和newPolicy对象:Expand Name 描述 类型 存在 权限特定插件、资源类型或名称的权限
字符串
必填
policy权限的策略操作,如创建、
读取、更新、删除或使用字符串
必填
effect表示允许或不允许策略
字符串
必填
请求正文示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
200
200Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/policies/ <kind> / <namespace> / <name > ?permission={value1}&policy={value2}&effect={value3}
删除添加到指定实体的权限策略。
Expand 表 4.6. 请求参数 名称 描述 类型 存在 kind实体的类型
字符串
必填
namespace实体的命名空间
字符串
必填
name与实体相关的名称
字符串
必填
权限特定插件、资源类型或名称的权限
字符串
必填
policy权限的策略操作,如创建、
读取、更新、删除或使用字符串
必填
effect表示允许或不允许策略
字符串
必填
响应示例
204 No Content
204 No ContentCopy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/policies/<kind>/<namespace>/<name>
删除添加到指定实体的所有权限策略。
Expand 表 4.7. 请求参数 名称 描述 类型 存在 kind实体的类型
字符串
必填
namespace实体的命名空间
字符串
必填
name与实体相关的名称
字符串
必填
响应示例
204 No Content
204 No ContentCopy to Clipboard Copied! Toggle word wrap Toggle overflow - [GET] /api/permission/plugins/policies
返回所有静态插件的权限策略。
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.3. 条件策略 复制链接链接已复制到粘贴板!
RBAC REST API 支持以下端点来管理 Red Hat Developer Hub 中的条件策略。
- [GET] /api/permission/plugins/condition-rules
为 Developer Hub 中启用的可用插件返回可用条件规则参数模式。
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [GET] /api/permission/roles/conditions/:id
返回指定 ID 的条件。
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [GET] /api/permission/roles/conditions
返回所有角色的所有条件列表。
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [POST] /api/permission/roles/conditions
为指定角色创建条件策略。
Expand 表 4.8. 请求参数 名称 描述 类型 存在 result始终值为
CONDITIONAL字符串
必填
roleEntityRef对 RBAC 角色的字符串实体引用,如
role:default/dev字符串
必填
pluginId对应的插件 ID,如
目录字符串
必填
permissionMapping数组权限操作,如
['read', 'update', 'delete']字符串数组
必填
resourceType插件提供的资源类型,如
catalog-entity字符串
必填
conditions带有参数或数组参数的条件 JSON,按条件加入
JSON
必填
name角色的名称
字符串
必填
metadata.description角色的描述
字符串
选填
请求正文示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例(JSON)
{ "id": 1 }{ "id": 1 }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [PUT] /permission/roles/conditions/:id
更新指定 ID 的条件策略。
Expand 表 4.9. 请求参数 名称 描述 类型 存在 result始终值为
CONDITIONAL字符串
必填
roleEntityRef对 RBAC 角色的字符串实体引用,如
role:default/dev字符串
必填
pluginId对应的插件 ID,如
目录字符串
必填
permissionMapping数组权限操作,如
['read', 'update', 'delete']字符串数组
必填
resourceType插件提供的资源类型,如
catalog-entity字符串
必填
conditions带有参数或数组参数的条件 JSON,按条件加入
JSON
必填
name角色的名称
字符串
必填
metadata.description角色的描述
字符串
选填
请求正文示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
200
200Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/roles/conditions/:id
删除指定 ID 的条件策略。
响应示例
204
204Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.3.4. 用户统计 复制链接链接已复制到粘贴板!
licensed-users-info-backend 插件公开各种 REST API 端点,以检索与登录用户相关的数据。
licensed-users-info-backend 插件不需要额外的配置。如果启用了 RBAC 后端插件,则必须分配管理员角色来访问端点,因为端点由 policy.entity.read 权限保护。
用户统计端点的基本 URL 是 http://SERVER:PORT/api/licensed-users-info,如 http://localhost:7007/api/licensed-users-info。
- [GET] /users/quantity
返回登录用户总数。
请求示例
curl -X GET "http://localhost:7007/api/licensed-users-info/users/quantity" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $token"
curl -X GET "http://localhost:7007/api/licensed-users-info/users/quantity" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $token"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
{ "quantity": "2" }{ "quantity": "2" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [GET] /users
返回登录的用户列表及其详情。
请求示例
curl -X GET "http://localhost:7007/api/licensed-users-info/users" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $token"
curl -X GET "http://localhost:7007/api/licensed-users-info/users" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $token"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [GET] /users
返回 CSV 格式的登录用户列表。
请求示例
curl -X GET "http://localhost:7007/api/licensed-users-info/users" \ -H "Content-Type: text/csv" \ -H "Authorization: Bearer $token"
curl -X GET "http://localhost:7007/api/licensed-users-info/users" \ -H "Content-Type: text/csv" \ -H "Authorization: Bearer $token"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
userEntityRef,displayName,email,lastTimeLogin user:default/dev,John Leavy,dev@redhat.com,"Thu, 22 Aug 2024 16:27:41 GMT"
userEntityRef,displayName,email,lastTimeLogin user:default/dev,John Leavy,dev@redhat.com,"Thu, 22 Aug 2024 16:27:41 GMT"Copy to Clipboard Copied! Toggle word wrap Toggle overflow