HPE A00106089en Us ClearPass Integration-Guide ServiceNow
HPE A00106089en Us ClearPass Integration-Guide ServiceNow
ServiceNow CMDB
Integration Guide
ClearPass
Change Log
Ver s i on Date M od if i ed B y C o m men t s
Copyright
© Copyright 2024 Hewlett Packard Enterprise Development LP.
Contents
Introduction and Overview ............................................................................................................................................ 4
Extension Version Updates ........................................................................................................................................ 4
Software Requirements .................................................................................................................................................. 5
ClearPass Installation and Deployment Guide ............................................................................................................ 5
ClearPass Extensions ...................................................................................................................................................... 5
Access to the extension store ........................................................................................................................................ 6
Pictorial View of the Integration .................................................................................................................................... 8
Use Cases ......................................................................................................................................................................... 8
New extension capabilities in ClearPass 6.7 ................................................................................................................ 9
Extensions and IP address configuration support .................................................................................................. 9
Configuration Values can be obfuscated in 6.7.2 or later. ..................................................................................... 9
Extensions and web proxy support .......................................................................................................................... 9
Direct Installation of Extension on Subscribers .................................................................................................... 10
ServiceNow CMDB Extension Installation .................................................................................................................. 11
Checking API Access Application Control restrictions ...................................................................................... 13
Checking ClearPass user access .......................................................................................................................... 14
ClearPass Extension and ServiceNow CMDB Configuration ................................................................................... 15
ServiceNow Extension Configuration Parameter .............................................................................................. 15
Endpoint Sync Filtering Mechanisms .................................................................................................................. 20
ServiceNow Configuration Requirements .......................................................................................................... 23
ClearPass Extension Configuration ..................................................................................................................... 23
Using ClearPass Policy Manager with ServiceNow ................................................................................................... 27
Endpoint ingestion from ServiceNow CMDB ..................................................................................................... 27
Push endpoint attributes from ClearPass to ServiceNow ................................................................................ 27
Push endpoint attributes from ClearPass to ServiceNow via push-queue.................................................... 28
Sync endpoint database from ClearPass into ServiceNow .............................................................................. 28
Extension API Endpoints .............................................................................................................................................. 29
Enforcement Profile .............................................................................................................................................. 31
Appendix A – Sample data from ServiceNow ............................................................................................................ 37
Appendix B – Additional Diagnostics and Support ................................................................................................... 39
Checking on the Extension Service ......................................................................................................................... 39
Extension Logs/Debugging....................................................................................................................................... 39
Accessing the extension logs using ‘Collect Logs’ system function .................................................................... 40
The ServiceNow Extension works in conjunction with the ClearPass App on ServiceNow Store. The version
numbers listed in the table correspond to how they need to be paired up.
www.arubanetworks.com
3333 Scott Blvd
Santa Clara, CA 95054
Phone: 1-800-WIFI-LAN (+800-943-4526)
© 2024 Hewlett Packard Enterprise Development LP. All Rights Reserved. Fax 408.227.4500
ServiceNow Integration 4
With OAuth support, we now have two additional fields in the extension configuration namely ClientId and
ClientSecret.
"serviceNowUser": "",
"serviceNowPassword": "********",
"clientId": "********",
"clientSecret": "********",
The ClientId and ClientSecret fields are set to work in conjunction with the existing serviceNowUser and
serviceNowPassword fields. ServiceNow does not support only clientID and clientSecret based
authentication, the username and password fields are still mandatory while the clientID and clientSecret
fields to support OAuth are optional. However, it is recommended to enable OAuth by configuring the
clientID and clientSecret fields by obtaining the values from ServiceNow system OAuth application registries.
Note: It is recommended to first update the ClearPass App on ServiceNow Store to version 2.2.0 and
then update the ServiceNow Extension on ClearPass to version 3.2.2.
Software Requirements
The minimum software version required for ClearPass is 6.9.0. At the time of writing, ClearPass 6.11.7 is the
latest available and recommended release. Any subsequent ClearPass software release will support this
integration. ClearPass runs on either hardware appliances with pre-installed software, or as a Virtual
Machine under the following hypervisors. Hypervisors that run on a client computer such as VMware Player
are not supported.
ClearPass Extensions
The integration between ClearPass Policy Manager and ServiceNow is driven through a ClearPass capability
known as Extensions, a sub-component of the ClearPass Exchange Integration framework. ClearPass
Extensions are micro-services running on top of the base ClearPass platform. These micro-services enable
Aruba to deliver new features outside of the main software release cycle and facilitate a faster time to
Failure to define Passport Credentials manifests itself as an error at installation time, you will still be
allowed to search for Extension but upon trying to install one the below message will be displayed.
Use Cases
ClearPass Policy Manager integrates with ServiceNow in multiple ways:
Perform a real-time lookup of the device attributes which can be leveraged for Authorization.
Bulk import of all endpoints from ServiceNow to ClearPass Policy Manager leveraging flexible polling
definition based on cron based scheduling.
Push individual endpoint attributes from ClearPass Policy Manager and map them in ServiceNow.
The above use cases are covered as part of this integration and are documented in this integration guide.
The Policy Manger proxy configuration is ONLY read by the extension at installation time. If the web
proxy configuration is changed, then the extension must be re-installed to active the new settings.
Note that the subnet defined here for the extension framework must fall within the following
subnet range 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 as defined by RFC1918.
Figure 4: Defining the base IP SUBNET and LOCALHOST for the Extensions Framework
Note that changing the extension base IP address will require the extension service to be restarted.
Changing the “Extensions Network Address” range is necessary if either the MGMT or DATA interface are
using an IP address in the extension default range of 172.17.x.x/12. Set the new network address range as
needed and restart the extension service for this change to take effect.
Never set the DATA or MGMT IP address to use an address that matches the Extension Network
From here, click on ‘Install Extension’, in the top RHS of the screen and the search box below appears.
Enter the name of the Extension required, in this case CMDB and click on ‘Search’. Be sure to install 2.0.0
version of ServiceNow Integration.
Do not choose to Start the extension as the configuration will need to be modified before it’s started, after
the extension has been installed, review the extension configuration as necessary and adjust as needed.
Figure 9: Reviewing and Setting the Extension configuration, below is the default configuration
A copy of the default ServiceNow CMDB Extension is shown above, this will need to be modified. In the next
section we discuss the configuration values and how to use them and where to collect the configuration
items that are required.
Within ClearPass additional controls can be leveraged to harden a ClearPass Policy Manager deployment, it’s
possible that at the time of the Extension deployment, these guidelines might have already been followed
and the result is that the Extension does not work. Reviewing Extension Log might show something like the
following after immediately starting the Extension, this likely indicates the ClearPass Application API’s are in
place.
To resolve this, add the IP address of the Extension to the list of nodes permitted, for this reason its good
practice to fix the IP address of the extension at installation time such that it doesn’t change over time and
break the application controls. Access to the Policy Manager API can be controlled from Administration >
Server Manager > Server Configuration {choose your node} > Network
Figure 10: Locking down access to the Policy Manager API for extensions
Within the extension configuration, there is a need to configure a CPPM user as detailed later on page 19, if
the correct level of account is not created, errors similar to the below we be seen in the Extension Log.
serviceNowUri The host and port (if other than 443) of ven00000.service-
your ServiceNow instance. now.com
{ "deviceCategory":
["SmartDevice", "Network
Camera", "Access Points"],
"target":
"cmdb_ci_netgear" },
{ "deviceCategory":
"Printer", "target":
"cmdb_ci_printer" },
{ "deviceCategory":
"Switch", "target":
"cmdb_ci_switch" }
statsPassword Create a password to access the extension Give any password you
statistics page want to use
Pay special attention to the values in the extension configuration. Where a configuration attribute is
a Boolean value {true/false}, it must not be enclosed with literals.
The custom API built in the ClearPass Integration App is designed to work in conjunction with the
ServiceNow Extension to pull a set of attributes from endpoints in the ServiceNow CMDB and map them
into the ClearPass Endpoints DB.
When pulling a MAC address (or multiple MAC addresses) for an endpoint, it is based on network adapter
configuration item “cmdb_ci_network_adapter”. A default filter based on Operational Status is applied in
which only MAC addresses with “Operational Status = Operational” are pulled in. This continues to be the
default mode of operation.
The ServiceNow Extension v2.1.1 expanded to two filters that can be applied, and there is also more
flexibility in how these filters are applied. The two filters that can be applied are based on Operational
Status and Install Status as seen in the default configuration:
"serviceNowOperationalStatus": "1",
"serviceNowInstallStatus": "",
As can be seen, the default configuration has the default mode of operation. A value of “1” for Operational
Status is equivalent to Operational. An empty value for Install Status means this filter is not applied.
"serviceNowOperationalStatus": "",
"serviceNowInstallStatus": "1",
Here a value of “1” for Install Status is equivalent to Installed. An empty value for Operational Status means
this filter is not applied.
For reference, the following tables list the possible values for Operational Status and Install Status.
Operational Status
Selection Value
Operational 1
Non-Operational 2
Repair in Progress 3
DR Standby 4
Ready 5
Retired 6
Install Status
Selection Value
Installed 1
On Order 2
In Maintenance 3
Pending Repair 5
In Stock 6
For the case where no filter needs to be applied and
all MAC addresses are to be pulled in, the
Retired 7 configuration is changed to the following with
empty values:
Stolen 8 "serviceNowOperationalStatus": "",
"serviceNowInstallStatus": "",
Absent 100
The ServiceNow Extension v3.1.3 expands even
further with two new filters that can be applied. In order to optimize the syncing of large databases, now
either an Allowlist or Denylist can be configured to filter which “cmdb_ci” tables will be included or excluded
during the endpoint sync process.
Note: Only one of these filters (either Allowlist or Denylist) can be applied. Do not apply both filters
simultaneously.
By default, the configuration starts with empty values for both the Allowlist and Denylist:
"serviceNowSysClassAllow": "",
"serviceNowSysClassDeny": "",
Here is an example of an Allowlist that can be applied to only include “cmdb_ci” tables that contain MAC
addresses (the end customer to determine the “cmdb_ci” tables to be included pertaining to their
environment):
"serviceNowSysClassAllow":
"cmdb_ci_computer_list,cmdb_ci_printer_list,cmdb_ci_ip_phone_list,cmdb_ci_ups_list",
Here is an example of a Denylist that can be applied to exclude “cmdb_ci” tables that do not contain MAC
addresses (the end customer to determine the “cmdb_ci” tables to be excluded pertaining to their
environment):
"serviceNowSysClassDeny": "dscy_route_next_hop,cmdb_ci_ups_alarm",
Before the ClearPass application can be installed in ServiceNow, the following configuration changes are
required.
1. The plugin “Configuration Management For Scoped Apps (CMDB)” (com.snc.cmdb.scoped) must be
enabled.
2. The CI Identifier rule for MAC Address only lookups must be enabled. CI Identifiers > Hardware Rule >
Network Adapter [cmdb_ci_network_adapter] (mac_address) and enable the mac_address only rule.
3. You must add “ClearPass” to the discovery source choice list. Navigate to Choice Lists and add a
“ClearPass” record.
Enter the ServiceNow tenant details such as serviceNowUri, serviceNowUser, serviceNowPassword into
the extension configuration. Depending upon the use case, adjust the other configuration switches as
necessary, pay attention to attributes related to push/pull queues and schedules.
Let’s break it down. A ‘cron’ is a job scheduler. Any task that is scheduled is called a ‘cron job’, this is useful
for any action that need scheduling. The syntax for a cron job schedule is as follows:
In our use of the cron scheduler, we’ve dropped the use of the last instruction ≤command to execute> and
use only the time/date functions, see below for a number of examples of scheduling a sync process.
You can see from the above that the scheduling process is extremely flexible.
"logLevel": "INFO",
"verifySSLCerts": true,
"serviceNowUri": "",
"serviceNowUser": "",
"serviceNowPassword": "********",
"serviceNowOperationalStatus": "1",
"serviceNowInstallStatus": "",
"serviceNowSysClassAllow": "",
"serviceNowSysClassDeny": "",
"macAddressSeparator": "-",
"enableEndpointCache": false,
"endpointCacheTimeSeconds": 300,
"enableQueue": false,
"queueRequireIdentity": true,
"queueRequireInsight": true,
"queueRetryCount": 3,
"cmdbDiscoverySourceName": "ClearPass",
"cmdbDefaultTarget": "cmdb_ci_netgear",
"cmdbTargetMap": [
"target": "cmdb_ci_computer"
},
"deviceCategory": "Server",
"target": "cmdb_ci_server",
"deviceFamilies": [
"deviceFamily": "win",
"target": "cmdb_ci_win_server"
},
"deviceFamily": "unix",
"target": "cmdb_ci_unix_server"
},
"deviceFamily": "vmware",
"target": "cmdb_ci_vm_vmware"
},
"deviceCategory": [
"SmartDevice",
"Network Camera",
"Access Points"
],
},
"deviceCategory": "Printer",
"target": "cmdb_ci_printer"
},
"deviceCategory": "Switch",
"target": "cmdb_ci_switch"
],
"cmdbAttributeMap": {},
"enableSyncAll": false,
"syncPageSize": 500,
"syncUpdatedOnly": true,
"syncAllOnStart": false,
"enableEndpointPush": false,
"endpointPushPageSize": 100,
"endpointPushRequireInsight": true,
"asyncOperationLimit": 3,
"bypassProxy": false,
"enableStats": false,
"statsUsername": "",
"statsPassword": "********"
Utilize enableSyncAll, enabling this will turn on the ingest polling, ensure that in conjunction with
syncAllSchedule (cron based scheduling) ingest works, all data is written to endpoint, if the endpoint does
not previously exist, its created and the endpoint attributes are added. Ensure the scheduling engine works,
test to ensure it can be scheduled as expected, E.g. one-hour repeat runs, daily repeat etc. also to be tested
in this use case.
Utilize the syncPageSize to ensure we adjust the size of the returned body, start with 100 records and try
perhaps 20.
Utilize the syncUpdatedOnly to only have the ingest process pull updated delta changes, for this you'll
need to make changes to endpoints in the CMDB tenant and check only those records with changed
records/attributes are retrieved, (based upon the last update).
Use /push with a JSON body like below to allow you to determine what is sent in each field, ensure the
mapping in the I&R matches.
"mac": "000f7c0d5cd0",
"ip": "",
"device_family": "",
"device_name": "",
"Owner": "snowuser@hpe.com",
...
Enable cmdbAttributeMap to add additional endpoint context be sent to SNOW, by default when available
we send Device Category, Device Family and Device Name, but this allows you to send additional endpoint
attributes, perhaps you want to send MDM or some EDR attributes. List them in the array like this [ "Owner
Email", "OS Version" ], ensure they are mapped however via the SNOW Identification and Reconciliation
engine (I&R) and that the proper mappings are made in the Aruba SNOW Application.
Enable enableQueue to start the overall sending feature, then utilize the queueSchedule to validate
scheduling and repetitive scheduling functions. Take use-case#2 and then enable and validate that only data
that exists inside endpointDb, with queueRequireIdentity is sent. Next the ability to ensure we have
profiling information, enable queueRequireInsight to ensure endpoint exists in InsightDb. To add endpoint
to the push-queue use the following.
When adding devices to the push queue, use a base URL of /queue with a JSON body, this takes the data
from CPPM using the cmdbAttributeMap configuration as well as as Device Category, Device Family and
Device Name (when available and configured via InsightsDB configuration).
"mac": "000f7c0d5cd0"
Utilize enableEndpointPush to sync all of the CPPM endpoints into ServiceNow CMDB in conjunction with
endpointPushSchedule. Optionally, configure endpointPushPageSize for endpoint being pushed into
ServiceNow.
For this use-case set the Extension config as required, in our example below we’ve set the schedule to run
every 2-hours, sync all endpoint when the extension starts/restarts and cache the results for 30 minutes
adjust as necessary for your environment.
"enableEndpointPush": true,
"enableEndpointPushSchedule": 0 3 * * *,
"endpointPushPageSize": 100,
"endpointPushRequireInsight": false
Create a Context-Server as below point at the IP address of the extension, ensure you configure this as http.
This triggers a MAC Address's information to be pushed to ServiceNow using the Identity and Insights infor-
mation in ClearPass. Only the identity attributes mapped in the cmdbAttributeMap configuration are sent
to ServiceNow. If available, the insights data of device_category, device_family, and device_name are inter-
nally mapped to the properties CPPM-Device-Category, CPPM-Device-Family, and CPPM-Device-Name and
sent to ServiceNow.
This setting shares the use of the queueRequireIdentity and queueRequireInsight options to determine if
certain sets of information are required for sending to ServiceNow. If either of these options is set to true,
the corresponding set of data must be available in ClearPass for the data to be sent to ServiceNow.
This shares processes with the /queue processes, but runs immediately. If you need retry processes, use
below URL.
Enforcement Profile
The next step involves using the Context Server Action in the Enforcement Profile as below. The
Enforcement Profile to push an endpoint to ServiceNow is shown below:
POST /identifyreconcile This endpoint will send the body { "items": [ { "className":
to the ServiceNow identifyrecon- "cmdb_ci_computer", "inter-
cile API. nal_id":"comp", "values":
This simply relays the infor- { "mac_address": "01-01-01-01-
mation posted to it, giving the 01-01", "name": "Computer 2",
user full control over what the "os": "Windows", "os_version":
I&R engine does. "10", "short_description": "Test
Device" }, "lookup": [ { "class-
More information can be found Name": "cmdb_ci_net-
here, https://docs.service- work_adapter", "values":
now.com/bundle/paris-applica- { "mac_address": "01-01-01-01-
01-01", "install_status": 1 } } ] } ] }
Following is the sample list of the default attributes fetched from ServiceNow using the default policy.
{
"source": "SNOW",
"network.skip_sync": "0",
"network.operational_status": "1",
"network.sys_updated_on": "2019-04-06 00:17:51",
"network.first_discovered": "2019-04-03 23:45:17",
"network.sys_created_on": "2019-04-03 23:45:17",
"network.dhcp_enabled": "0",
"network.install_status": "1",
"network.name": "NetworkAdapter@10.2.100.218",
"network.subcategory": "Network",
"network.virtual": "0",
"network.last_discovered": "2019-04-06 00:17:51",
"network.can_print": "0",
"network.sys_class_name": "cmdb_ci_network_adapter",
"network.sys_id": "b00ea29adb207f4061840bb6f496194a",
"network.netmask": "255.255.255.0",
"network.mac_address": "00-0f-7c-0d-5c-d0",
"network.monitor": "0",
"network.ip_address": "10.2.100.218",
"network.cost_cc": "USD",
"network.unverified": "0",
"network.category": "Hardware",
"network.fault_count": "0",
"cmdb_ci.can_switch": "0",
"cmdb_ci.skip_sync": "0",
"cmdb_ci.operational_status": "1",
"cmdb_ci.device_type": "Network Camera",
"cmdb_ci.sys_updated_on": "2019-04-06 00:17:51",
"cmdb_ci.discovery_source": "ClearPass",
"cmdb_ci.first_discovered": "2019-04-03 23:45:17",
"cmdb_ci.sys_created_on": "2019-04-03 23:45:17",
"cmdb_ci.can_partitionvlans": "0",
"cmdb_ci.hardware_status": "installed",
"cmdb_ci.install_status": "1",
"cmdb_ci.subcategory": "Network",
"cmdb_ci.last_discovered": "2019-04-06 00:17:51",
"cmdb_ci.can_print": "0",
"cmdb_ci.sys_class_name": "cmdb_ci_netgear",
"cmdb_ci.can_hub": "0",
"cmdb_ci.cpu_count": "1",
"cmdb_ci.sys_id": "fc0ea25adb207f4061840bb6f4961923",
"cmdb_ci.mac_address": "00-0f-7c-0d-5c-d0",
"cmdb_ci.can_route": "0",
"cmdb_ci.monitor": "0",
"cmdb_ci.ip_address": "10.2.100.218",
"cmdb_ci.cost_cc": "USD",
"cmdb_ci.unverified": "0",
"asset.skip_sync": "0",
"asset.residual": "0",
"asset.sys_updated_on": "2019-04-03 23:45:17",
"asset.sys_created_on": "2019-04-03 23:45:17",
"asset.depreciated_amount": "0",
"asset.pre_allocated": "0",
"asset.display_name": "Unknown",
"asset.install_status": "1",
"asset.sys_class_name": "alm_hardware",
"asset.sys_id": "f40ea25adb207f4061840bb6f4961924",
"asset.resale_price": "0",
"asset.cost": "0",
Note: Restarting this service will affect all deployed and running extensions.
To check on the state of the Extension Service, or to restart the service, go to Administration > Server
Manager > Server Configuration > [SERVER] > Service Control. By default this service is automatically
started.
Extension Logs/Debugging
If you have a requirement to access and view the logs from the Extension, you can view or amend different
logging levels direct inside the extension configuration. It’s just a matter of updating the configuration and
restarting it. For example, the configuration below sets the logLevel to DEBUG.
{
"logLevel": "DEBUG",
…
"cppmUserName": "extension",
"cppmPassword": "********"
}
If the support team needs to investigate a system issue, one of the items they regularly ask for is the system
logs to aid with their diagnostic investigation. By default the “logLevel” is set to INFO, but TRACE, DEBUG,
INFO, WARN, ERROR, FATAL can also be set as required. Locate the running extension-Id as in the below
graphic.
After the logs have been collected, downloaded and expanded, you can locate the extension logs in the
following location in the folder structure PolicyManagerLogs > extension > <your-extension-id>
There is a way to monitor extension’s critical statistics with the configurable parameter added as part of the
extension’s configuration. To enable extension statistics set the “enableStats” parameter to true.