在集成区域中,授权 Workspace ONE Intelligence 与第三方服务连接并共享数据。服务包括连接到 Workspace ONE 部署中的其他系统、自动化服务和信任网络服务。查找有关 Workspace ONE UEM、Slack、ServiceNow 和应用批准的信息。
在 Workspace ONE Intelligence 中输入 Workspace ONE UEM API 通信凭据,以便它可以使用 Workspace ONE UEM API 服务器与其他第三方服务进行通信以实现自动化。
在 Workspace ONE UEM console 中生成 API 密钥。“自动化”部分概述了此过程。
(https://)
包含到输入中。您可以在 Workspace ONE UEM 集成卡上查看报告 > 同步状态数据。
查看包括数据计数和将数据从 Workspace ONE UEM 导入云服务的状态的信息。此外,还可以查看使用云服务签入 Workspace ONE Intelligence Connector 的时间,以获取此 Workspace ONE UEM 数据。
为 API 通信配置 Slack,以便您可以向 Workspace ONE Intelligence 注册 Slack 并使用 Slack 自动化操作。
Slack WebHook URL
。配置用于 API 通信的 ServiceNow 帐户,以便您可以向 Workspace ONE Intelligence 注册 ServiceNow 并使用 ServiceNow 自动化操作。
按照文章 REST API 角色中的步骤进行操作。
snc_platform_rest_api_access
角色添加到 ServiceNow 帐户。此 API 控制入站 REST 操作的表 API。https://instance.service-now.com
。您可以通过在 Workspace ONE Intelligence 中集成应用批准工作流来控制应用程序许可证的成本。
许多 Win32 应用程序的许可证价格高昂。您可以使用应用批准限制哪些用户可以安装这些应用程序以及控制这些资源的管理成本。
集成将多个系统组合在一起处理应用批准请求。
应用批准从用户请求在 Windows 设备上安装应用开始。
可使用 Workspace ONE Intelligence 和 ServiceNow 服务来请求和批准应用程序安装。首先在 ServiceNow 中进行配置,然后在 Workspace ONE Intelligence 中将信息添加到 ServiceNow 连接,最后在 Workspace ONE UEM 中编辑应用分配。
在使用应用批准之前,请先配置列出的集成、系统和设置。
设置 ServiceNow 以处理入站、应用请求,以便您可以自定义实例和批准策略。此过程使用 ServiceNow 的脚本化 REST API 功能。
要开始请求过程,Workspace ONE Intelligence 会将一个请求(如示例代码)发送到 ServiceNow。请求包括有关请求安装的用户、设备和应用程序的详细信息。
{
"RequestId": "bffb4469-56fb-4141-9ab0-0897f65143ba",
"RequestFor": {
"UserId": "15",
"UserAttributes": {
"user_name": "username",
"last_name": "user",
"first_name": "name",
"email": "username@example.com"
}
},
"Domain": "${domain}",
"DeviceId": 123,
"DeviceProperties": {
"name": "Device Name",
"device_udid": "F11C43E8307092418D7D5B0D9B48F235",
"platform": "Windows 10"
},
"Notes": "Notes",
"CatalogItem": {
"Id": "267",
"Name": "App Name",
"Categories": null,
"Properties": {
"package_id": "{12345A78-40C1-2702-0000-000004000000}",
"version": "9.20.0",
"platform": "WinRT"
}
},
"DueDate": 1568989813956,
"Links": {
"ApprovalNotify": {
"Url": "<CallbackURL>"
}
}
}
Scripted REST APIs
。Workspace ONE App Approval
。appapproval
,并记录您的 API 命名空间,因为在此过程的稍后,您需要在 Workspace ONE Intelligence 中输入该信息。/request
。资源路径显示为 /api/<namespace>/appapproval/request
。如果路径未采用此格式,则请求将失败。要修复此问题,请检查脚本化 REST API 和资源的名称是否正确。(function process(/*RESTAPIRequest*/ request, /*RESTAPIResponse*/ response) {
var RequestID = request.body.data.RequestId;
var CallbackURL = request.body.data.Links.ApprovalNotify.Url;
var DeviceID = request.body.data.DeviceId;
var Notes = request.body.data.Notes;
var AppName = request.body.data.CatalogItem.Name;
var UserID = request.body.data.RequestFor.UserId;
var UserName = request.body.data.RequestFor.UserAttributes.user_name;
var FirstName = request.body.data.RequestFor.UserAttributes.first_name;
var LastName = request.body.data.RequestFor.UserAttributes.last_name;
gs.info("Request Recieved");
var create = new GlideRecord('sc_request');
create.initialize();
create.setValue('short_description',"Request for Installation of " + AppName);
create.setValue('description',FirstName + " " + LastName + " Requests Installation of " + AppName);
create.setValue('u_uem_callback_url',CallbackURL);
create.setValue('u_uem_notes',Notes);
create.setValue('u_uem_device_id',DeviceID);
create.setValue('u_uem_request_id',RequestID);
create.setValue('u_uem_user_id',UserID);
create.setValue('u_requesting_user',UserName);
create.insert();
response.setStatus(200);
})(request, response);
使用 ServiceNow 中的表格将自定义字段添加到请求票证。自定义字段有助于编译发送到 Workspace ONE Intelligence 的出站批准和拒绝 API 请求。
在 ServiceNow 导航栏中搜索 Tables
,然后选择系统定义 > 表。
搜索表名称 sc_request
,然后打开该表以查看列详细信息。如果要按表标签进行搜索,则表的标签为请求。
通过添加系统返回到 Workspace ONE Intelligence 的所需值来添加列,并在 API 请求中添加相应的值。
ApprovalNotify.URL
= UEM 回调 URLDeviceId
= UEM 设备 IDRequestId
= UEM 请求 ID添加可选值。如果更改默认列名称,请更新脚本以使用更新的列名称。
UserId
= UEM 用户 IDuser_name
= 请求用户Notes
= UEM 说明类型 | 列标签 | 列名称 | 最大长度 |
---|---|---|---|
字符串 | UEM 回调 URL | u_uem_callback_url | 2048 |
整数 | UEM 设备 ID | u_uem_device_id | 不适用 |
字符串 | UEM 请求 ID | u_uem_request_id | 40 |
整数 | UEM 用户 ID | u_uem_user_id | 不适用 |
字符串 | 请求用户 | u_requesting_user | 40 |
字符串 | UEM 说明 | u_uem_notes | 4000 |
选择更新并保存表格。
或者,您可以使用系统 UI 中表单区域来隐藏 UI 中的列和值。隐藏列和值会将其设置为仅在 API 请求中使用。
approval_status
,然后将其拖动到批准值中。ApprovalStatus
。(function execute(inputs, outputs) {
var approval_lc = inputs.approval_status;
outputs.ApprovalStatus = approval_lc.toUpperCase();
})(inputs, outputs);
5.向操作添加 REST 步骤。- 使用回调 URL 变量作为基本 URL 值。- 使用 POST 作为 HTTP 方法。- 添加标题
Content-Type =application/json
。- 将请求类型定义为 Text
。- 输入请求正文负载,如示例代码。将示例代码中的值替换为数据变量。- 保存操作。
{
"data":{
"request_id": "action-Request ID",
"device_id": "action-Device ID",
"approval_status": "step-Script step-ApprovalStatus",
"updated_by": "action-Updated By",
"notes" : "action-Notes",
"updated_at" : "action-Updated At"
}
}
[Approval - is one of - Approved, Rejected] and [UEM Callback URL - is not empty]
。设备上的 Workspace ONE UEM console 和 Workspace ONE Intelligent Hub 中的状态表示请求和批准过程中应用批准的特定步骤。
管理员可以在 Workspace ONE UEM console 的应用与图书和设备详细信息 > 应用选项卡中查看应用批准状态。
状态 | 说明 |
---|---|
待审批 | 用户已请求安装应用程序。通过 Workspace ONE Intelligence,ServiceNow 为管理员创建了一个票证以批准安装。该票证在 ServiceNow 系统中等待批准。 |
已发送安装命令 | 管理员已批准安装。通过 Workspace ONE Intelligence,Workspace ONE UEM 向数据库发送安装命令。设备已使用命令。 |
已安装 | 设备向 Workspace ONE UEM 报告应用程序已成功安装。 |
已拒绝 | 管理员已拒绝安装相关的 ServiceNow 票证。用户必须重新请求安装应用程序。 |
已过期 | 管理员未在 14 天内批准或拒绝 ServiceNow 票证。用户必须重新请求安装应用程序。 |
错误 | 应用批准系统在过程中遇到错误。该错误已停止此过程。用户必须重新请求安装应用程序。 |
用户通过 Workspace ONE Intelligent Hub 访问应用。他们可选择请求以启动安装。启动请求后,Workspace ONE Intelligent Hub 将显示一种状态来确定安装请求在过程中的位置。
状态 | 说明 |
---|---|
请求 | 管理员上载了应用程序,并在应用分配中启用了“需要批准安装”。 |
待定 | ServiceNow 针对安装批准创建了一个票证。系统等待管理员批准。 |
正在安装 | 管理员批准了安装相关的 ServiceNow 票证,且 Workspace ONE UEM 数据库已启动安装命令。 |
已安装 | 设备向 Workspace ONE UEM 报告应用程序已成功安装。 |