ClearPass Integration Guide Microsoft Intune v2019 03
ClearPass Integration Guide Microsoft Intune v2019 03
ClearPass Integration Guide Microsoft Intune v2019 03
- Integration Guide
Microsoft Intune
ClearPass
Integration Guide
Change Log
0.1 & 0.2 & 0.3 June 2016 Danny Jump Draft checked by D Wilson, M Adjali and Microsoft
1.2 May 2017 Josh Santomieri Updates for new extension version (3.0.0)
2.0 May 2017 Danny Jump Minor updates from TAC/ERT and new TechNote Template
3.0 Aug 2018 Arpit Bhatt Updates for using Extension GUI and Intune extension v4
Copyright
© Copyright 2018 Hewlett Packard Enterprise Development LP.
Hewlett-Packard Company
Attn: General Counsel
3000 Hanover Street
Palo Alto, CA 94304
USA
Please specify the product and version for which you are requesting source code. You may also request a copy of this
source code free of charge at HPE-Aruba-gplquery@hpe.com.
Contents
Introduction ......................................................................................................................................................................... 5
What’s new in this ClearPass Extension v4 ............................................................................................................................ 5
Software Requirements........................................................................................................................................................ 6
Installation and Deployment Guide ...................................................................................................................................... 7
Pictorial view of the Integration ........................................................................................................................................... 7
New Extension Support in ClearPass 6.7+ ............................................................................................................................. 8
Extensions and IP address configuration support .............................................................................................................. 8
Extensions and web proxy support ................................................................................................................................... 8
Configurations Steps .......................................................................................................................................................... 10
Step I: Collecting Information from Microsoft to Configure Intune extension .................................................................. 10
Step II: Installation and Configuration of Intune Extension using GUI in ClearPass 6.7.X ................................................... 17
Step III: Configuring ClearPass Policy Manager ................................................................................................................ 23
Using data from Intune in a ClearPass Enforcement Policy .................................................................................................. 25
Appendix A – Additional diagnostics / support .................................................................................................................... 27
Extensions Service .......................................................................................................................................................... 27
Extension Logs/Debugging.............................................................................................................................................. 27
Accessing extension logs using ‘Collect Logs’................................................................................................................... 28
Monitoring authorization performance........................................................................................................................... 29
ClearPass authorization throughput guidelines ............................................................................................................... 29
Appendix B – Lab Example for Authorization with caching .................................................................................................. 30
Introduction
This integration guide covers the setup, configuration, and monitoring of the Microsoft Intune ClearPass Extension within
ClearPass. 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 market for
specific features.
Version Changes
Software Requirements
The minimum software version required for ClearPass is 6.7.2. At the time of writing, ClearPass 6.7.5 is the latest available
and recommended release. ClearPass runs on a hardware appliance 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.
• Google Android 4.4 and later (including Samsung KNOX SDK 4.0 and higher)
• Windows 8.1 RT
https://docs.microsoft.com/en-us/intune/get-started/supported-mobile-devices-and-computers
http://www.arubanetworks.com/techdocs/ClearPass/Aruba_DeployGd_HTML/Default.htm
Figure 1: Pictorial view of ClearPass integration with Microsoft Intune and Azure AD
Note that the Policy Manger web proxy configuration is ONLY read by the extension at installation time. If the web proxy configuration is
changed in Policy Manager, then the extension must be re-installed so the new settings are re-read and bonded to the extension.
Configuring the base Extension IP subnet, is defined within Policy Manager as shown below under Administration->Server
Manager->Server Configuration [chose your node] Service Parameters [ClearPass system service]. The default is
172.17.0.1/16, this address is the non-routed address of the ClearPass node itself. The IP addresses range for the
Note that the subnet defined here for the extension framework must be one of the following 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
Figure 3: 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 also using an
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 to take effect.
Configurations Steps
There are primarily 3 steps involved in getting this Integration configured.
It is assumed you have your Intune/Azure environment already setup and configured. The setup of these environments is beyond the
scope of this TechNote.
In order to complete the integration, you need to collect multiple pieces of information from Intune and the Azure
platform that are required to allow us to complete the extension configuration. The goal is to collect information to
complete the highlighted attributes below in red:
{
"tokenEndpoint": "<tokenEndpoint>",
"tenantId": "<tenantId>",
"clientId": "<clientId>",
"clientSecret": "<clientSecret>",
"resourceUri": "https://api.manage.Microsoft.com/",
"apiVersion": "1.1",
"verifySSLCerts": true,
"enableEndpointCache": {introduced in v4},
"cacheExpirationMinutes": {introduced in v4},
"cppmUserName": "{CP user}",
"cppmPassword": “{CP Password}",
"logLevel": "INFO"
}
To start, open up your favorite text editor, and copy and paste the above text block into it. You’ll be editing several lines
for this JSON payload.
The first piece of information you need to update is the “tokenEndpoint”. This is the URL that ClearPass uses to create
OAuth 2.0 Tokens that provide access to Azure Active Directory and Graph services.
To get the “tokenEndpoint” value, first log into the Azure Portal. Point your browser to https://portal.azure.com. Log in
using your Intune Tenant Admin account. We assume here you have already identified and configured at least one of your
Intune accounts with Administrator rights. You can see below where we’ve logged in with a “onmicrosoft.com” account.
You may have to accept permissions for the account to use the API Explorer features.
Once logged in, open “Azure Active Directory” and select “App Registrations”.
From the list of endpoints, copy the OAUTH 2.0 TOKEN ENDPOINT value. This is the value you will use as the
“tokenEndpoint” in the configuration.
Paste the copied endpoint URL in your ID string into the tokenEndpoint configuration item.
Next, we need the “tenantId” value. To get this, simply copy out the ID portion of the OAuth 2.0 Endpoint. For example,
From this URL, the highlighted portion is your Tenant ID. Copy this value into the tenantId setting of your configuration.
If you already have an Intune Application Registration in Azure Active Directory, you may use that for the rest of the
configuration. If you do not have an Application registered in Azure Active Directory, follow the following steps to create
one.
These next steps will be used to collect the clientId and clientSecret settings.
The next step is to create a new App Registration in Azure Active Directory. This is done from https://portal.azure.com.
You must login with an account that has Administrative access to Azure Active Directory and Intune.
Once logged into the Azure Portal, navigate to Azure Active Directory, select “App Registrations” and then click on “New
application registration”, as shown below.
The next step is to create a new application registration. We suggest using the name ClearPass, or something that will
clearly identify what the application registration is for. The application type should be set to “Web app / API” and Sign-on
URL should be set to a valid URL. This URL could be something as simple as http://127.0.0.1 . After entering your settings,
click on Create.
Copy the Application ID: The Application ID is the value required for the clientId configuration in the extension. You can
copy and paste that value to your extension configuration now.
Next, set the required permissions for the App Registration. To do this click on the “Required permissions” option
available under “Settings”. Next select “Add”, then “Select an API” finally followed by “Microsoft Intune API”. Once you
have completed that, click on “select” to create the permissions.
After clicking “select”, you must enable access to “Get device state and compliance information from Microsoft Intune”
then click “Select” followed by “Done”. Your permissions will now be added.
The next step is to grant access for your created application to access the APIs. For this click on “Grant permissions” and
select “Yes”
The next and final step is to capture the “clientSecret”, this currently is a fixed value and maps to the registered Microsoft
Intune ClearPass Extension.
When you register the Azure AD (AAD) App, the “” will be displayed, you must capture it at this time as it can’t be displayed in the future,
this is covered below in the following Azure configuration. Follow these steps carefully.
After setting permissions, navigate back to the Application settings and select “Keys”. In the Keys settings, enter a key
description. Use something appropriate to identify the keys for Intune. Then select the duration, we recommend “Never
Expires” else you will be forced to update the extension configuration when the key expires.
After entering your desired information, click “Save”. This will save your settings and generate the clientSecret. Copy the
“value” to the clientSecret setting in the Intune Extension configuration.
Remember to save these keys, as the warning above shows, once you exit this screen you are unable to see the keys again.
Finally, you can easily build the string for “resourceURI” line (if needed). It should simply be
https://api.manage.microsoft.com.
These three remining lines are unchanged and should only be modified if directed by Aruba TAC.
• "verifySSLCerts": true
• "apiVersion": "1.1"
• "logLevel": "INFO"
The apiVersion above refers to the Microsoft Intune API version, not the ClearPass Extension version.
Step II: Installation and Configuration of Intune Extension using GUI in ClearPass 6.7.X
Starting in ClearPass 6.7, a Graphical User Interface (GUI) was introduced to make the process of interacting with the
extension framework easier. To access the extension GUI, from the Guest System, under Administration find the
From here, click on “Install Extension”, and the search box below appears.
Starting 6.7, in a cluster environment an extension can be installed on the subscriber nodes directly.
Enter the Store-ID b163dcd1-227c-4282-b671-4fbea8ab545d and click on ‘Search’. See the example below:
Click on the extension and then the “Install” option, and if necessary, set the IP address. Note it can be set later if
required. Do not select the option to start the extension yet.
After the extension has been installed, edit the extension configuration as necessary. Notice the options to Start, Delete,
Reinstall or Show Logs and the option to review and set the extension configuration.
Configure the values for tokenEndpoint, tenantId, clientId, clientSecret obtained from Step I.
The values for enableEndpointcache and cacheExpirationMinutes varies in a customer environment and needs to be
determined based on the latency to query Intune.
The fetched attributes from Intune need to be written into the endpoint repository leveraging the REST APIs. The
ClearPass API Administrator account can be created from ClearPass Policy Manger under Administration > Users and
Privileges > Admin Users. Click on “Add”. A user with the following privileges needs to be created.
This account should be used for the “cppmUserName” and “cppmPassword” for the extension configuration.
Always use an account with the API Administrator privileges only. Do not use a Super Administrator account
An example of Intune extension configuration is shown above. Include appropriate values for your environment based on
the information gathered in Step I. Select “Restart” and click on “Save Changes” to restart the extension.
Following the restart, click on “Show Logs”. You should see the following:
Note the IP address used. This will be used in Step III when configuring Intune as an HTTP Authorization source within
ClearPass Policy Manager using XML.
The following steps to add Intune as an Authentciation Source can be easily accomplished by importing it into ClearPass
using the XML file available in our GitHub repository
https://github.com/aruba/clearpass-exchange-snippets/tree/master/extensions/microsoft-intune
• Open the XML file using a simple editor and replace X.X.X.X with your EXTENSION IP ADDRESS (Refer Figure 20).
• You can also import the XML without making any edits and then change the “Base URL:” from “http://X.X.X.X” to
your extension IP address using the ClearPass UI. This can be changed under the Primary tab of the imported
Authentication Source (Refer Figure 22).
• The XML file can be imported into ClearPass by navigating to Configuration > Authentication > Sources. Click on
Import and use the file downloaded.
Follow the manual steps below if not using the XML to import the Authentication Source.
Add Intune as an HTTP Authorization Source. Under Configuration > Authentication > Sources, click “Add”.
Click on Next. This will advance to the Primary Tab provide the connection details.
Its mandated that a Login Username/Password is entered, but is not used, this it can be anything.
Click on “Next”. This will advance you to the Attributes Tab where you need to provide the authorization attributes. Click
on “Add More Filters”. Provide a Name for the filter and then a Filter Query. It’s extremely important that the Filter Query
is defined correctly. This is the query string that is sent to the Intune extension asking for context about the endpoint. The
query is indexed off the mac-address of the authenticating endpoint. For completeness, the Filter Query is provided here,
copy it carefully.
?macAddress=%{Connection:Client-Mac-Address-NoDelim}
Next build out the definitions of the attributes that will be returned from the Filter Query. These attributes will
subsequently be used within our policy-evaluation and ultimately the enforcement policy applied.
Figure 23: Adding HTTP authorization source query string and returned field definitions
Once the HTTP authorization source is defined you can use the returned attributes in your policy processing. Below we
cover options on how to use the results from the authorization query in an enforcement policy.
1. Check the device is a Corporately issued and managed device. If true then update the Palo Alto and CheckPoint corpo-
rate firewall with context about this device.
2. Check that the device exists in Intune and that it’s compliant. In addition to allowing access for these devices, we’re
also updating the endpoint with the authentication Date & Time so we can track the device’s access to the network.
4. If the device is running an OS that begins with 9.2 [assume iOS] then we flag it as an old-OS.
5. If the device is running an OS that begins with 9.3 [assume iOS] then we flag it as an approved-OS.
Figure 24: Example of an Enforcement Policy utilizing attributes returned from Intune
The policy used in the screenshot above is just a reference. Different companies will have different enforcement profiles
and policies. The key take away here is that it showcases the use of authorization attributes received from Intune to drive
the policy engine into taking different enforcement actions for the device as they authenticate on the network. It is
recommended to use these policies within Role-Mapping. Enforcement policies usually will not use an “Evaluate all” rules
evaluation algorithm.
Restarting this service will affect all deployed and running extensions.
To check on the state and make changes to the service navigate to Administration > Server Manager > Server
Configuration [select your ClearPass node] > Service Control. You can also start/stop the extension service from here. By
default, this service is automatically started.
Figure 25: Checking on extension service and how to start/stop the service
Extension Logs/Debugging
If there is a need to access the logs from inside the extension, adjust the "logLevel" to "DEBUG". In the new 6.7 GUI,
change the config and restart the extension as shown below. Logs can then be viewed from the ‘Show Logs’.
Once the extension is configured to capture logs, you can access them using the “Collect Logs” function.
If there is a requirement for Aruba support 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. Any of the levels will display the information for the selected state and lower… so if
INFO is selected, it will show messages for INFO, WARN, ERROR, FATAL.
After the logs have been collected and expanded, you can locate the extension logs in the following location
‘PolicyManagerLogs->extension’ as shown below.
Following is the list of attributes obtained from Intune as an HTTP Authorization source.
The enforcement Policy defined here dynamically assigns Personal role based on the Ownership attribute returned as
shown below:
[2018-07-03T03:58:04.272] [DEBUG] intune - Cache age for mac xxxxxxxxxxxx is 296614272ms. (Last Up-
date: Fri Jun 29 2018 17:34:30 GMT+0530 (IST))
[2018-07-03T03:58:08.307] [DEBUG] intune - Adding endpoint with mac address xxxxxxxxxxxx to the end-
point database...
[2018-07-03T03:58:08.623] [DEBUG] intune - Device with MAC Address xxxxxxxxxxxx updated in ClearPass.
In the Access Tracker, if you click on Show Logs you will see the time it takes for the Policy engine to evaluate the
conditions. In the first case, when the cache had expired the time it took was 4325ms. This is due to the time it takes to
get a response from Intune which resides in the cloud and depends on the latency in your environment.
However, the subsequent authentication request which was within next 30 minutes was significantly faster
[2018-07-03T04:01:26.175] [DEBUG] intune - Cache age for mac xxxxxxxxxxxx is 198175ms. (Last Update:
Tue Jul 03 2018 03:58:08 GMT+0530 (IST))
Hence, we can conclude that ClearPass Integration with Microsoft Intune using the extension version Intune v4
significantly speeds up authentications relying on the cached attributes for the endpoint.