AirWatch SAML Integration
AirWatch SAML Integration
Setting Up SAML 2.0 Integration with a Service Provider and an Identity Provider
for AirWatch
Note: This document contains instructions on other software vendors’ solutions, and was last updated for accuracy June 2017.
Please contact the specific vendor if you have questions about the accuracy of the integration steps in this document.
Security Assertion Markup Language (SAML) version 2.0 is a cross-domain, XML-based protocol that enables user-level
authentication using an SSO ID across web applications. SAML leverages an IdP server to manage user identities,
attributes, and entitlements and ultimately grant access to enterprise applications and information with a single user ID
and password. The user’s position in the organization can determine their level of access to enterprise applications and
information.
AirWatch supports Active Directory (AD), Lotus Domino, Novell e-Directory, or any other directory service that uses
Lightweight Directory Access Protocol (LDAP) integration for user groups and user attributes for SAML-authenticated
users. AirWatch administrators have the option of authenticating device users with SAML 2.0 instead of authenticating
directly with their directory service. Administrators also have the ability to define whether attribute mapping or
directory services retrieves and synchronizes user information from the SAML response. This allows granular control by
enabling administrators to disable directory services integration at lower Organization Group (OG) levels while
maintaining directory services at higher OG levels.
IdPs generally do not support all Request and Response binding types. AirWatch provides support for all of the most
current Request and Response binding types in both directions to give administrators the flexibility to integrate with all
IdPs.
SAML authentication is available during enrollment or as an option for accessing the Self-Service Portal (SSP). When
AirWatch enables SAML authentication, and after the user enters their AirWatch Group ID, the user is redirected to the
SSO user interface for authentication.
In This Guide
Before You Begin – This section covers topics and prerequisites you should familiarize yourself with so you can get the most
out of using this guide.
Configuring SAML – This section details configuring SAML with or without LDAP integration.
Authenticating Using SAML – This section explains how to enable end-user enrollment and Self Service Portal
authentication.
Appendix A – Explaining Binding Types – This section provides more detail about the binding types that AirWatch supports.
Appendix B – SAML Flow Diagrams – This section illustrates the various requests and response binding types AirWatch
supports.
Appendix C – Locating a Group ID – This section gives brief instructions on how to find an AirWatch Group ID for an
Organization Group.
Appendix D – Sample XML – This section gives an example of XML code.
Appendix E – Testing and Troubleshooting – This section lists various issues and errors you may encounter and proposed
resolutions for each.
Requirements
Before performing this installation, ensure the IdP’s metadata is available to you. Your IdP should have provided it to
you. You will need to import your IdP’s metadata in Acquiring and Importing the IdP’s Metadata into the AirWatch
Admin Console. Know the AirWatch GroupID that is used for SAML. For information on how to locate your GroupID, see
Appendix C —Locating a GroupID.
End-users utilizing SAML authentication are considered Directory users even if you select to integrate SAML without
LDAP. SAML authentication does not work if you only enable Basic user enrollment. To ensure SAML integration is
successful, navigate to Groups & Settings > All Settings > Devices & Users > General > Enrollment, select the Directory
checkbox under Authentication Mode(s), and then click Save.
Recommended Reading
AirWatch Configuring ADFS for SAML Integration – This guide includes detailed instructions on how to configure
ADFS for SAML integration with AirWatch.
Getting Started
IdP Considerations
There are several different SAML IdP software options available. AirWatch leverages SAML functionality by adhering to
the defined SAML 2.0 standard protocols. Accordingly, the directions in this document make certain assumptions about
the SAML IdP while interfacing with the AirWatch SAML functionality.
If the IdP software requires additional setup outside of the standard protocol information provided by
AirWatch, it may be necessary to perform some manual configuration with the IdP.
Not all IdPs load and export settings the same way. Consult the IdP’s documentation and/or support for
recommendations.
Not all IdPs are able to provide support for all Request and Response binding types or combinations of these
binding types in both directions. Consult the IdP’s documentation and/or support to verify the binding type
you intend to select in the AirWatch Admin Console is supported by the IdP.
o Using SAML authentication with an LDAP directory service (e.g., AD) for only SAML authentication while
relying on LDAP directory services for user enrollment.
o Using SAML authentication without an LDAP directory service for SAML authentication and user
enrollment.
Configure the Service Provider (AirWatch) to authenticate with the IdP.
o Acquiring and importing the IdP’s metadata into the AirWatch Admin Console.
o Selecting the Service Provider and IdP binding types.
o Verifying the certificates being used by the IdP and Service Provider.
o Testing and saving the Service Provider’s SAML configuration.
Create a trust between the Service Provider (AirWatch) and IdP.
o Exporting the Service Provider’s metadata from the AirWatch Admin Console into XML file format for
the IdP.
o Importing the Service Provider’s metadata into the IdP.
Login to the Console as an Administrator.
Enroll devices using SAML.
SAML Authentication without LDAP Integration –This approach allows for federated authentication with
the ability to accept SAML mappings from your corporate IdP.
SAML Authentication with LDAP Integration –This approach allows for AirWatch to sync additional
attributes and User Group membership for your corporate users that are authenticated against your
corporate IdP.
The topics that follow discuss each scenario. Choose which scenario is best for your configuration and skip the other
section.
By selecting ‘None’ in Directory Type, the LDAP directory service (e.g., Lotus Domino) no longer performs enrollment.
Your LDAP directory service only provides the IdP with information about the end-user so the user can enroll their
device.
Label Definition
Use SAML for Enable this option to use SAML to authenticate devices. This option displays all the
Authentication dropdowns, fields, and radio buttons on the following page for configuring SAML to
authenticate devices.
Use new SAML A new SAML authentication endpoint has been created for end-user authentication (device
Authentication enrollment and login to SSP), to replace the dedicated enrollment and SSP endpoints. While
endpoint you may choose to keep your existing settings, AirWatch recommends updating your SAML
settings to take advantage of the new endpoint.
If you would like to make use of the new endpoint, please enable the Use new SAML
Authentication endpoint field, save the page, and then use the Export Service Provider
Settings button below to export the new metadata file and upload it to your IdP. Doing so
will establish trust between the new endpoint and your IdP.
Label Definition
SAML 2.0
Import Identity Select the Upload button to import the SAML metadata (identity certificate) obtained from
Provider the IdP. This is in XML format.
Settings
Service Provider Enter the Uniform Resource Identifier (URI) with which AirWatch identifies itself to the
(AirWatch) ID identity provider. This string must match the ID that has been established as trusted by the
identity provider.
Identity Enter the URI that the identity provider uses to identify itself. AirWatch checks
Provider ID authentication responses to verify that the identity matches the ID provided here.
1. In the Import Identity Provider Settings field, located in the SAML 2.0 subsection, select the Upload button.
The Add dialog box appears.
2. Select Browse… to navigate to the metadata XML file exported from your IdP and provided to you.
The IdP file you upload is SAML metadata used as a descriptor for the IdP side of the communications. This file is in
XML format and contains information such as, entityId, optional certificate, URLs it listens on, formats it accepts, etc.
3. Select Save. The metadata in the XML file automatically populates fields on an internal form.
The user cannot view this form. The information is retained for when you click Export Service Provider Settings to
export SAML metadata for the IdP in XML format, which you will do later in this guide. For more information, see
Exporting the Service Provider’s Metadata from the AirWatch Admin Console.
Select the Change button if you want your IdP to use a different certificate.
Select the Clear button to delete the current IdP certificate.
Select the Upload button to upload a new certificate from the Service Provider.
Exporting the Service Provider’s Metadata from the AirWatch Admin Console
Export, save, and view the Service Provider’s metadata.
1. Select the Export Service Provider Settings button at the bottom of the screen. A series of dialog boxes
appear.
2. Click Save and store the XML file to a location that is easy to find (e.g., Desktop).
To view an example of the XML, see Appendix E – Sample XML.
1. Contact your IdP to find out the exact procedure for sending them the Service Provider metadata XML file.
2. Send your IdP the Service Provider metadata XML file that you exported from the AirWatch Admin Console.
4. Click the User tab. The user Attributes and Mapping Values display.
Label Definition
Attributes Required field change: Username mapping value of sAMAccountName may need to be
changed to uid depending on your IdP.
2. Verify the correct LDAP directory services (e.g., AD) is selected. If not, select the correct LDAP directory
services you want to integrate with SAML.
Label Definition
Directory Type Select the type of directory service your organization uses. You can select Active Directory,
Lotus Domino, or Novell e-Directory, Other LDAP, or None.
Server Enter the address of your domain controller.
Encryption Type Select the type of encryption to use for directory services communication. You can select
None, SSL, or Start TLS.
Port Enter the TCP port used to communicate with the domain controller.
The default for unencrypted LDAP directory service communication is port 389. Only SaaS environments allow SSL
encrypted traffic using port 636. To view a KnowledgeBase article that lists the most up-to-date AirWatch SaaS
data center IP ranges, refer to https://support.air-watch.com/articles/115001662168.
Verify SSL Select the checkbox to receive SSL errors when the Encryption Type is None.
Certificate
Label Definition
Search Select to enable subdomain searching to find nested users.
Subdomains Leaving this setting Disabled can make searches faster and avoid potential network issues,
but users and groups located in subdomains under the base DN will not be identified.
Connection Enter the LDAP connection timeout value (in seconds).
Timeout
Request Enter the LDAP query request timeout value (in seconds).
Timeout
4. Click the User tab. The user Attributes and Mapping Values display.
5. Select the Advanced drop-down to display additional settings as shown in the table below.
Label Definition
User Object Enter the appropriate Object Class. In most cases, the value to enter in this field is user.
Class
User Search Enter the search parameter used to associate user accounts with Active Directory (AD)
Filter accounts.
The recommended format is "<LDAPUserIdentifier>={EnrollmentUser}"
where <LDAPUserIdentifier> is the parameter used on the directory services server to identify the specific user.
For AD servers, use "sAMAccountName={EnrollmentUser}"
For LDAP servers, use "CN={EnrollmentUser}" or "UID={EnrollmentUser}"
If you select this option, then AirWatch administrators set as inactive in your directory
service will not be able to log into the AirWatch Admin Console. In addition, enrolled
devices assigned to users who are set to inactive in your directory service will automatically
be unenrolled.
Enable Custom Select to enable custom attributes and mapping values and to display fields at the bottom
Attributes of the screen that allow you to define each custom attribute that can be mapped to Active
Directory entities.
Attributes Required field change: Username mapping value of sAMAccountName may need to be
changed to uid depending on your IdP.
6. Review and edit the Mapping Values for the listed Attributes, if necessary. These columns show the
mapping between AirWatch user attributes (left) and your LDAP directory service attributes (right). By
default, these attributes are values most commonly used in LDAP directory services. You should update
these mapping values to reflect the values used by your LDAP directory service (e.g., Lotus Domino).
8. Select Sync Attributes to sync manually the attributes mapped in this screen to the user records in
AirWatch.
Note: This automatically occurs each time a user is modified in your LDAP directory service (e.g., Novell e-Directory).
10. Select Show Advanced to display additional settings as shown in the table below.
Label Definition
Group Object Enter the appropriate Object Class. In most cases, the value to enter in this field is group.
Class
Organizational Enter the appropriate Organizational User Object Class.
Unit Object
Class
Group Search Enter the search parameter used to associate user groups with your LDAP directory service
Filter (e.g., AD) accounts.
Auto Sync Select this checkbox to automatically add or remove users in AirWatch configured user
Default groups based on their membership in your LDAP directory service (e.g., Novell e-Directory).
Auto Merge Select this checkbox to apply sync changes automatically without administrative approval.
Default
Maximum Enter the maximum number of allowable group membership changes to be merged into
Allowable AirWatch.
Changes
11. Review and edit the Mapping Values for the listed Attributes, if necessary. These columns show the
mapping between AirWatch user attributes (left) and your LDAP directory service (e.g., AD) attributes
(right). By default, these attributes are values most commonly used in LDAP directory services. You should
update these mapping values to reflect the values used by your LDAP directory service.
AirWatch SAML Integration | v.2017.06 | June 2017
Copyright © 2017 VMware, Inc. All rights reserved. Proprietary & Confidential.
Page 18
12. Click to enable or to disable each Mapping Value.
In some instances, global catalogs are used to manage multiple domains or LDAP directory service (e.g., AD) forests. If you
experience delays when searching for or authenticating users, this may be due to a complex directory structure. To increase
performance, you can integrate directly with the global catalog to query multiple forests using one LDAP directory service endpoint.
To do this, configure the following settings.
Encryption Type = None
Port = 3268
Verify that your firewall allows for this traffic on port 3268.
13. Click Save. SAML now performs the authentication while your LDAP directory service performs the
enrollment.
Once these steps are complete, a trust between the Service Provider (AirWatch) and IdP is established, allowing SAML to
authenticate the device users.
End-users utilizing SAML authentication are considered Directory users even if you select to integrate SAML without
LDAP. SAML authentication does not work if you only enable Basic user enrollment. To ensure SAML integration is
successful, navigate to Groups & Settings > All Settings > Devices & Users > General > Enrollment, select the Directory
checkbox under Authentication Mode(s), and then click Save.
This query string tells AirWatch to look up the OG you belong to and determines the proper SAML settings to use, thus
making your admin login experience seamless by directing you to the correct OG in the AirWatch Admin Console. The
following is an example of a typical URL with the additional ?GID query string.
1. Locate the GroupID your company uses for SAML IdP authentication. For information on how to locate your
GroupID, see Appendix C —Locating a GroupID.
2. Enter in your browser the AirWatch URL provided to you followed by ?GID plus your GroupID. The syntax is:
https://consoleURL/AirWatch/Login?GID=abc123.
where consoleURL is the URL of your AirWatch server and abc123 is your GroupID.
The look of a SAML IdP login page differs between providers. For example:
3. Enter your corporate Username and Password credentials and then continue/accept.
4. Once authenticated by your IdP, you are redirected to the AirWatch management portal.
Credentials –This username and password allow you to access your AirWatch environment. Credentials might be
the same as your network LDAP directory service password or may be uniquely defined in the AirWatch Admin
Console.
Directory Authentication Mode enabled - End-users utilizing SAML authentication are considered Directory
users even if you select to integrate SAML without LDAP. SAML authentication does not work if you only enable
Basic user enrollment. To ensure SAML integration is successful, navigate to Groups & Settings > All Settings >
Devices & Users > General > Enrollment, select the Directory checkbox under Authentication Mode(s), and
then click Save.
Enrollment Steps
1. Enrollment URL –This URL is unique to your organization's enrollment environment and advances you
directly to the enrollment screen. For example, https://mdm.acme.com/enroll.
2. Group ID –This Group ID associates your device with your corporate role and is defined in the AirWatch
Admin Console. For information on how to locate your GroupID, see Appendix C —Locating a GroupID.
3. SAML Logon Page –Users are redirected to your SAML IdP’s logon page.
4. Credentials –This username and password allow you to access your AirWatch environment. These
credentials may be the same as your network LDAP directory service password or may be uniquely defined
in the AirWatch Admin Console.
Redirect
Post
Artifact
Most IdPs do not support all binding types. Make sure you check with the Identity Provider that you chose to make sure
they support the Request and Response binding type you selected in the AirWatch Admin Console. If you choose a
binding type your IdP does not support then SAML will not work properly.
AirWatch supports all binding types in both directions (i.e., Request and Response). IdPs generally do not
support all types in both directions. For that reason, you must match the correct Request and Response
binding types in the AirWatch Admin Console to the binding type supported by the IdP. If not, the user is not
redirected to the IdP’s login page. If you need more information, consult your IdP’s documentation and/or
their technical support to verify the binding types they support.
AirWatch Errors
You may encounter the following common errors while troubleshooting SAML.
SAML authentication has timed out; please try your request again
The SAML response is missing form variable RelayState, required by SAML protocol
When using SAML with iOS devices, the user sees a welcome message but never gets redirected to the IDP.
Problem: Verbose Logs Error. The device displays “This URL must be accessed via SAML authentication.”
AW.Console.Web.Mobile.DeviceManagement.SAML.AssertionService Authentication response does not contain a "UID"
attribute.
Problem: The “SAML authentication has timed out” error occurs when the AssertionService received a RelayState, but it
does not have a matching entry stored locally in memory.
The AssertionService thinks that surely the IdP is sending the value it received, and surely it is coming back to the right
place, so the RelayState record must have timed-out of the cache. This assumes the IdP correctly echoes the RelayState
it received and it did not timeout, which can happen when the AssertionService is located in a different application
server than the one where the process started.
Resolution #1: The AssertionService might be in DeviceServices, whereas the enrollment might be initiated in
DeviceManangement. Update the URLs in the IdP.
Resolution #2: Any URL used that contains an attribute such as: ?SPID or ?PartnerSpId=AirWatch is most likely for an IdP
initiation SAML integration. AirWatch does not support this type of URL. Check the URL and update it with one that
AirWatch supports.
The SAML response is missing form variable RelayState, required by SAML protocol
Problem: The URL is for IdP initiated SSO, which AirWatch does not support.
Resolution: Any URL that contains an attribute such as, ?SPID or ?PartnerSpId=AirWatch is most likely for an IdP
initiation SAML integration. AirWatch only supports Service Provider (i.e., the process starts with AirWatch) initiated SSO
and then AirWatch redirects the browser to the IdP for authentication. Change the URL to a Service Provider (SP)
initiated URL.
Problem: The “Value cannot be null. Parameter name: key” is a generic error.
Resolution: Most likely, you have an older version of AirWatch installed (e.g., AirWatch 5.17). AirWatch has made many
enhancements to later versions that provide more details that would help you determine the problem and resolve it.
Since this is a generic error and later versions of AirWatch provide more details needed for troubleshooting, upgrade to
the latest version of AirWatch.
When using SAML with iOS devices, the user sees a welcome message but never gets redirected to
the IDP
Problem: When enrolling an iOS devices with SAML enabled, if you have “Display Welcome Message” enabled in the
AirWatch Admin Console then the user gets directed to the welcome message and never gets redirected to the IDP.
Resolution: Disable Display Welcome Message in the AirWatch Admin Console by navigating to Groups & Settings >All
Settings >Devices & Users > General > Enrollment > Optional Prompt.
PingFederate Errors
You may encounter the following PingFederate errors while troubleshooting SAML:
User does not have access to the system, because of domain type mismatch (Domain Type:-“:Employee’)
Problem: The device is receiving a HTTP ERROR: 404. The SAML endpoint is not operational.
Resolution: Contact your IdP provider to inquire about the problem and make them aware it is not operational.
User does not have access to the system, because of domain type mismatch (Domain Type:-
“:Employee’)
Problem: User received a permission error from the system. In this scenario, the user who attempted to authenticate
was a Contractor, but only Employees can authenticate.
Resolution: Contact your AirWatch system administrator who can provide the Contractor with the necessary credentials
needed to authenticate.
HTTP Status 403 – Access to the specified resource () has been forbidden
Problem: The URL is for IdP initiated SSO, which AirWatch does not support.
Resolution: Any URL that contains an attribute such as ?SPID or ?PartnerSpId=AirWatch is most likely for an IdP initiation
SAML integration. AirWatch only supports Service Provider (i.e., the process starts with AirWatch) initiated SSO and then
AirWatch redirects the browser to the IdP for authentication. You might be using a junction to redirect to the SSO page,
which is probably not included in the imported IdP metadata. Ask the IdP resource what the junction site is, and add it
into the SSO URL.
The sole intent of this document is to provide AirWatch customers with initial guidance to technical issues. The suggestions given herein are
provided as a courtesy and are not intended to replace specific personalized advice provided by the reader’s network administrators, computer
security personnel, or other technical experts and consultants. References in this document whitepaper to any specific service provider,
manufacturer, company, product, service, or software do not constitute an endorsement or recommendation by AirWatch. Under no
circumstances shall AirWatch be liable to you or any other person for any damages, including without limitation, any direct, indirect, incidental,
special or consequential damages, expenses, costs, profits, lost savings or earnings, lost or corrupted data, or other liability arising out of or related
in any way to information, guidance, or suggestions provided in this document.