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. 请求参数 名称 描述 类型 存在 正文(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 Created
Copy 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 OK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/roles/<kind>/<namespace>/<name>?memberReferences=<VALUE>
从 Developer Hub 中的角色中删除指定的用户或组。
Expand 表 4.2. 请求参数 名称 描述 类型 存在 kind
实体的类型
字符串
必填
namespace
实体的命名空间
字符串
必填
名称
实体的名称
字符串
必填
memberReferences
关联的组信息
字符串
必填
响应示例
204
204
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/roles/<kind>/<namespace>/<name>
从 Developer Hub 删除指定的角色。
Expand 表 4.3. 请求参数 名称 描述 类型 存在 kind
实体的类型
字符串
必填
namespace
实体的命名空间
字符串
必填
名称
实体的名称
字符串
必填
响应示例
204
204
Copy 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. 请求参数 名称 描述 类型 存在 kind
实体的类型
字符串
必填
namespace
实体的命名空间
字符串
必填
名称
与实体相关的名称
字符串
必填
响应示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [POST] /api/permission/policies
为指定实体创建权限策略。
Expand 表 4.5. 请求参数 名称 描述 类型 存在 entityReference
实体的引用值,包括
类型
、namespace
和name
字符串
必填
权限
特定插件、资源类型或名称的权限
字符串
必填
policy
权限的策略操作,如创建、
读取
、更新
、删除
或使用
字符串
必填
effect
表示允许或不允许策略
字符串
必填
请求正文示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
201 Created
201 Created
Copy 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
200
Copy 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
实体的命名空间
字符串
必填
名称
与实体相关的名称
字符串
必填
权限
特定插件、资源类型或名称的权限
字符串
必填
policy
权限的策略操作,如创建、
读取
、更新
、删除
或使用
字符串
必填
effect
表示允许或不允许策略
字符串
必填
响应示例
204 No Content
204 No Content
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/policies/<kind>/<namespace>/<name>
删除添加到指定实体的所有权限策略。
Expand 表 4.7. 请求参数 名称 描述 类型 存在 kind
实体的类型
字符串
必填
namespace
实体的命名空间
字符串
必填
名称
与实体相关的名称
字符串
必填
响应示例
204 No Content
204 No Content
Copy 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
必填
名称
角色的名称
字符串
必填
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
必填
名称
角色的名称
字符串
必填
metadata.description
角色的描述
字符串
选填
请求正文示例(JSON)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 响应示例
200
200
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - [DELETE] /api/permission/roles/conditions/:id
删除指定 ID 的条件策略。
响应示例
204
204
Copy 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