第 29 章 Business Central 组、角色和用户的安全管理 REST API
Red Hat Process Automation Manager 提供了一个安全管理 REST API,您可以在不使用 Business Central 用户界面的情况下管理红帽流程自动化管理器中的组、角色和用户。通过此 API 支持,您可以促进和自动化对 Business Central 组、角色、用户和授予的权限管理。
使用安全管理 REST API,您可以执行以下操作:
- 检索有关所有组、角色、用户及其授予权限的信息
- 创建、更新或删除组和用户
- 更新组、角色和用户的授予的权限
- 检索有关分配给用户的组和角色的信息
安全管理 REST API 请求需要以下组件:
- 身份验证
安全管理 REST API 需要 HTTP 基本身份验证或基于令牌的身份验证,用于用户角色
admin。要查看为您的 Red Hat Process Automation Manager 分发配置的用户角色,请导航到~/$SERVER_HOME/standalone/configuration/application-roles.properties和~/application-users.properties。要添加具有
admin角色的用户,请导航到~/$SERVER_HOME/bin并运行以下命令:$ ./bin/jboss-cli.sh --commands="embed-server --std-out=echo,/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity(identity=<USERNAME>),/subsystem=elytron/filesystem-realm=ApplicationRealm:set-password(identity=<USERNAME>, clear={password='<PASSWORD>'}),/subsystem=elytron/filesystem-realm=ApplicationRealm:add-identity-attribute(identity=<USERNAME>, name=role, value=['admin'])"有关用户角色和 Red Hat Process Automation Manager 安装选项的更多信息,请参阅 规划 Red Hat Process Automation Manager 安装。
- HTTP 标头
安全管理 REST API 需要以下 HTTP 标头用于 API 请求:
接受: 请求客户端接受的数据格式:-
application/json(JSON)
-
Content-Type:POST或PUTAPI 请求数据的数据格式:-
application/json(JSON)
-
- HTTP 方法
安全管理 REST API 支持以下 API 请求 HTTP 方法:
-
GET:从指定的资源端点检索指定的信息 -
POST:创建或更新资源 -
PUT:更新资源 -
DELETE:删除资源
-
- 基本 URL
安全管理 REST API 请求的基本 URL 是
http://SERVER:PORT/business-central/rest/,如http://localhost:8080/business-central/rest/。注意内置于 Business Central 中的安全管理、知识存储和流程自动化管理器控制器的 REST API 基础 URL 相同,因为它们都被视为 Business Central REST 服务的一部分。
- Endpoints
安全管理 REST API 端点(如指定用户的
/users/{userName})是您附加到安全管理 REST API 基础 URL 的 URI,以访问 Red Hat Process Automation Manager 中的对应资源或资源类型。/users/{userName}端点的请求 URL 示例http://localhost:8080/business-central/rest/users/newUser- 请求数据
安全管理 REST API 中的 HTTP
POST请求可能需要 JSON 请求正文,并附带请求。POST 请求 URL 和 JSON 请求正文数据示例
http://localhost:8080/business-central/rest/users/newUser/groups[ "newGroup" ]
29.1. 使用 REST 客户端或 curl 工具使用安全管理 REST API 发送请求 复制链接链接已复制到粘贴板!
安全管理 REST API 可让您管理红帽流程自动化管理器中的组、角色和用户,而无需使用 Business Central 用户界面。您可以使用任何 REST 客户端或 curl 工具发送安全管理 REST API 请求。
先决条件
- Business Central 已安装并运行。
-
您有
管理用户角色对 Business Central 的访问权限。
流程
-
识别您要向其发送 请求的相关 API 端点,如
[GET] /groups来检索 Business Central 中的组。 在 REST 客户端或 curl 实用程序中,输入到
/groups的GET请求的以下组件。根据您的用例调整任何请求详情。对于 REST 客户端:
-
身份验证 :使用
admin角色输入 Business Central 用户的用户名和密码。 HTTP Headers :设置以下标头:
-
接受:application/json
-
-
HTTP 方法 :设置为
GET。 -
URL :输入安全管理 REST API 基础 URL 和端点,如
http://localhost:8080/business-central/rest/groups。
对于 curl 工具:
-
-U :使用admin角色输入 Business Central 用户的用户名和密码。 -h : 设置以下标头:-
接受:application/json
-
-
-x:设置为GET。 -
URL :输入安全管理 REST API 基础 URL 和端点,如
http://localhost:8080/business-central/rest/groups。
curl -u 'baAdmin:password@1' -H "Accept: application/json" -X GET "http://localhost:8080/business-central/rest/groups"-
身份验证 :使用
执行请求并查看 KIE 服务器响应。
服务器响应示例(JSON):
[ { "group1" }, { "group2" } ]在 REST 客户端或 curl 实用程序中,发送另外一个带有以下组件的 API 请求,它向
/users/{userName}/groups发送一个POST请求,以便更新为一个用户分配的组。根据您的用例调整任何请求详情。对于 REST 客户端:
-
身份验证 :使用
admin角色输入 Business Central 用户的用户名和密码。 HTTP Headers :设置以下标头:
-
接受:application/json -
Content-Type:application/json
-
-
HTTP 方法 :设置为
POST。 -
URL :输入安全管理 REST API 基础 URL 和端点,如
http://localhost:8080/business-central/rest/users/newUser/groups。 - 请求正文 :添加带有新组的标识数据的 JSON 请求正文:
[ "newGroup" ]对于 curl 工具:
-
-U :使用admin角色输入 Business Central 用户的用户名和密码。 -h :设置以下标头:-
接受:application/json -
Content-Type:application/json
-
-
-x:设置为POST。 -
URL :输入安全管理 REST API 基础 URL 和端点,如
http://localhost:8080/business-central/rest/users/newUser/groups。 -
-d:添加一个 JSON 请求正文或文件(@file.json),带有新组的标识数据:
curl -u 'baAdmin:password@1' -H "Accept: application/json" -H "Content-Type: application/json" -X POST "http://localhost:8080/business-central/rest/users/newUser/groups" -d "["newGroup"]"curl -u 'baAdmin:password@1' -H "Accept: application/json" -H "Content-Type: application/json" -X POST "http://localhost:8080/business-central/rest/users/newUser/groups" -d @user-groups.json-
身份验证 :使用
执行请求并查看 KIE 服务器响应。
服务器响应示例(JSON):
{ "status": "OK", "message": "Groups [newGroup] are assigned successfully to user wbadmin" }如果您遇到请求错误,请检查返回的错误消息并相应地调整您的请求。