将 ServiceNow 部署与 Workspace ONE Intelligence 集成,以在工作流中使用 ServiceNow 的操作,并在 Connector 管理系统 (CMS) 中作为受管工作流连接器使用。
配置用于 API 通信的 ServiceNow 帐户,以便您可以向 Workspace ONE Intelligence 注册 ServiceNow 并使用 ServiceNow 工作流操作。
有关如何使用 REST API 角色的详细信息,请参见 ServiceNow 产品文档站点。
snc_platform_rest_api_access
角色添加到 ServiceNow 帐户。此 API 控制入站 REST 操作的表 API。https://instance.service-now.com
。您可以在工作流中使用列出的 ServiceNow 操作。
操作 | 说明 |
---|---|
应用程序批准 | 需要先使用应用批准流程,用户才能安装应用。 |
创建事件 | 当工作流引擎确定工作流中的参数已满足时,在 ServiceNow 中创建事件。 |
创建票证 | 当工作流引擎标识工作流中的参数已满足时,在 ServiceNow 中创建一个勾选项。 |
您可以通过在 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": "[email protected]"
}
},
"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 请求。
Tables
,然后选择系统定义 > 表。sc_request
,然后打开该表以查看列详细信息。如果要按表标签进行搜索,则表的标签为请求。
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 |
选择更新并保存表格。
approval_status
,然后将其拖动到批准值中。ApprovalStatus
。(function execute(inputs, outputs) {
var approval_lc = inputs.approval_status;
outputs.ApprovalStatus = approval_lc.toUpperCase();
})(inputs, outputs);
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 将显示一种状态来确定安装请求在过程中的位置。
状态 | 说明 |
---|---|
请求 | 管理员上载了应用程序,并在应用分配中启用了“需要批准安装”。 |
待定 | Workspace ONE Intelligence 收到来自 Workspace ONE UEM 的请求,并将该请求发送到 ServiceNow。ServiceNow 针对安装批准创建了一个票证。系统等待管理员批准。 |
正在安装 | 管理员批准了安装相关的 ServiceNow 票证,且 Workspace ONE UEM 数据库已启动安装命令。 |
已安装 | 设备向 Workspace ONE UEM 报告应用程序已成功安装。 |