第 29 章 Business Central 组、角色和用户的安全管理 REST API

Red Hat Process Automation Manager 提供了一个安全管理 REST API,可用于在不使用 Business Central 用户界面的情况下管理 Red Hat Process Automation Manager 中的组、角色和用户。通过这个 API 支持,您可以促进和自动管理 Business Central 组、角色、用户和授予权限。

使用 Security Management REST API,您可以执行以下操作:

  • 检索所有组、角色、用户及其授予权限的信息
  • 创建、更新或删除组和用户
  • 更新组、角色和用户的授予权限
  • 检索分配给用户的组和角色的信息

安全管理 REST API 请求需要以下组件:

身份验证

安全管理 REST API 需要 HTTP 基本身份验证或基于令牌的身份验证 管理员。要查看 Red Hat Process Automation Manager 发行版配置的用户角色,请导航到 ~/$SERVER_HOME/standalone/configuration/application-roles.properties~/application-users.properties

要添加具有 admin 角色的用户,请导航到 ~/$SERVER_HOME/bin 并运行以下命令:

$ ./add-user.sh -a --user <USERNAME> --password <PASSWORD> --role admin

有关用户角色和 Red Hat Process Automation Manager 安装选项的更多信息,请参阅 规划 Red Hat Process Automation Manager 安装

HTTP 标头

Security Management REST API 需要以下 HTTP 标头用于 API 请求:

  • 接受 :您请求的客户端接受的数据格式:

    • application/json (JSON)
  • Content-TypePOSTPUT API 请求数据的数据格式:

    • application/json (JSON)
HTTP 方法

Security Management REST API 支持以下 HTTP 方法进行 API 请求:

  • 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 发送请求

通过 Security Management REST API,您可以在不使用 Business Central 用户界面的情况下管理 Red Hat Process Automation Manager 中的组、角色和用户。您可以使用任何 REST 客户端或 curl 工具发送安全管理 REST API 请求。

先决条件

  • Business Central 已安装并运行。
  • 您有对 Business Central 的 admin 用户角色访问权限。

流程

  1. 识别您要发送请求的相关 API 端点,如 [GET] /groups 以检索 Business Central 中的组。
  2. 在 REST 客户端或 curl 工具中,为对 /groupsGET 请求输入以下组件。根据您的用例调整任何请求详情。

    对于 REST 客户端:

    • 身份验证 :使用 admin 角色输入 Business Central 用户的用户名和密码。
    • HTTP 标头 :设置以下标头:

      • 接受: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"
  3. 执行请求并查看 KIE 服务器响应。

    服务器响应示例(JSON):

    [
      	{
    		"group1"
    	},
    	{
    		"group2"
    	}
    ]
  4. 在 REST 客户端或 curl 实用程序中,发送另外一个带有以下组件的 API 请求,它向 /users/{userName}/groups 发送一个 POST 请求,以便更新为一个用户分配的组。根据您的用例调整任何请求详情。

    对于 REST 客户端:

    • 身份验证 :使用 admin 角色输入 Business Central 用户的用户名和密码。
    • HTTP 标头 :设置以下标头:

      • 接受: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
  5. 执行请求并查看 KIE 服务器响应。

    服务器响应示例(JSON):

    {
      "status": "OK",
      "message": "Groups [newGroup] are assigned successfully to user wbadmin"
    }

    如果您遇到请求错误,请查看返回的错误代码信息并相应地调整您的请求。