{"id":388,"date":"2024-12-19T19:28:43","date_gmt":"2024-12-19T17:28:43","guid":{"rendered":"https:\/\/amsd.go.ro\/wordpress\/?p=388"},"modified":"2024-12-28T16:45:28","modified_gmt":"2024-12-28T14:45:28","slug":"ldap-integration","status":"publish","type":"post","link":"https:\/\/amsd.go.ro\/wordpress\/?p=388","title":{"rendered":"LDAP Integration for ServiceNow"},"content":{"rendered":"\n<p>An LDAP integration allows your instance to use your existing LDAP server as the master source of user data.<\/p>\n\n\n\n<p id=\"yui_3_17_2_1_1734628635649_744\">This article is a supplement to the ServiceNow documentation. For full documentation please see the <a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/integrate\/ldap\/concept\/c_LDAPIntegration.html\" target=\"_blank\" rel=\"noreferrer noopener\">ServiceNow Documentation<\/a><\/p>\n\n\n\n<p>Please note that it is important to try this integration in a development instance first and test the integration before going live in production.<\/p>\n\n\n\n<figure class=\"wp-block-image\" id=\"yui_3_17_2_1_1734628635649_70\"><img decoding=\"async\" src=\"https:\/\/images.squarespace-cdn.com\/content\/v1\/527e1ef4e4b0910bac781301\/1565491417022-YOCC75VSBRU0L0QPLE44\/LDAP-diagram-cropped.png\" alt=\"LDAP-diagram-cropped.png\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Define LDAP SERVER<\/h2>\n\n\n\n<p>You\u2019ll need to expose the LDAP Server to ServiceNow. Here are few different ways to do this:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Option 1 &#8211; LDAP Server with Mid Server<\/strong><\/h3>\n\n\n\n<p>This is the most common method as it is the easiest to configure and doesn\u2019t require much effort from a company AD admin.<\/p>\n\n\n\n<p>You\u2019ll need to setup a <a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/integrate\/ldap\/concept\/c_LDAPIntegrationViaMIDServer.html#c_LDAPIntegrationViaMIDServer\">midserver<\/a> to use this method. Please note that you can\u2019t authenticate (login) using this method and you can\u2019t use a SSL connection.<\/p>\n\n\n\n<p>For authentication, an <a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/integrate\/single-sign-on\/reference\/r_InstalledWithMultiProviderSSO.html\" target=\"_blank\" rel=\"noreferrer noopener\">SSO connection<\/a> is often configured. So you use the LDAP Integration to pull in users\/groups and SSO to authenticate (login).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Option 2 &#8211; LDAP Server with VPN<\/strong><\/h3>\n\n\n\n<p>For this method, you need to ask ServiceNow for a VPN Request though HI Support. This method isn\u2019t that preferred is that you are relying on the ServiceNow VPN to work and other maintenance concerns.<\/p>\n\n\n\n<p>Details from HI Support:<\/p>\n\n\n\n<p><em>ServiceNow provides secure communications with customer networks over the public Internet using IPSEC VPN technology. A clustered pair of Cisco ASA devices are used as the termination point for encrypted IPSec tunnels. Please note, a site-to-site VPN connection between ServiceNow and your network is only used for traffic that is initiated by ServiceNow. Traffic destined for ServiceNow will always be HTTPS, and will always use the internet as a transport. As your ServiceNow instance is deployed into two ServiceNow datacenters for our Advanced High Availability, we will be building two VPN tunnels to your network.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Option 3 &#8211; External IP Address<\/strong><\/h3>\n\n\n\n<p>For this method, you expose an external IP Address to ServiceNow.<\/p>\n\n\n\n<p>Be sure a network administrator configures the local firewall to allow the application server to access the LDAP server. If the LDAP server is located within an internal network, the firewall forwards (or NATs) the application server&#8217;s IP address through the firewall on the correct port.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Option 4 &#8211; LDAPS with PKI certificate<\/strong><\/h3>\n\n\n\n<p>Most companies don\u2019t have LDAPS (note the \u201cS\u201d). However for the companies that do, this is the superior method to connect in my opinion.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: CREATE LDAP Server<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Create LDAP Server Record<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Left Navigator Bar &gt; Create New Server<\/li>\n\n\n\n<li>Fill in form fields. Field descriptions from the <a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/integrate\/ldap\/task\/t_DefineAnLDAPServer.html\" target=\"_blank\" rel=\"noreferrer noopener\">ServiceNow Documentation<\/a><\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"490\" src=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image.png\" alt=\"\" class=\"wp-image-389\" srcset=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image.png 1000w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-300x147.png 300w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-768x376.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>Example LDAP Server<\/p>\n\n\n\n<p>Make sure to specify which LDAP Attributes to import. Without specifying the LDAP attributes, the import set creates many fields, which can exceed the row size limit during the import process.<br><br><strong>Common Attributes<\/strong><\/p>\n\n\n\n<p>description,employeeNumber,managedby,department,division,description,dn,employeeID,givenname,mail,manager,member,memberof,mobile,objectguid,physicaldeliveryofficename,samaccountname,sn,source,telephonenumber,thumbnailPhoto,title,useraccountcontrol,userPrincipalName<\/p>\n\n\n\n<p>3. Click Submit<br>4. When set to Active, the connection is tested. Red is bad. Green is good!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Additional Notes<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/integrate\/ldap\/concept\/c_ConfigureMicrosoftADForSSLAccess.html\" target=\"_blank\" rel=\"noreferrer noopener\">Configure Microsoft Active Directory for secure LDAPS communication<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/integrate\/ldap\/concept\/c_LDAPIntegrationTroubleshooting.html\" target=\"_blank\" rel=\"noreferrer noopener\">Troubleshooting<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">STEP 3: LDAP Browse<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-1.png\" alt=\"\" class=\"wp-image-390\" width=\"839\" height=\"428\" srcset=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-1.png 500w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-1-300x153.png 300w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/figure>\n\n\n\n<p>In the following step, you need to specify the RDN and Filters for the User and Group accounts. The RDN and Filters, tell ServiceNow where to look for the data.<\/p>\n\n\n\n<p>How do you know where the data is stored in LDAP? Every LDAP directory structure is different, so you need to <strong>Browse<\/strong>.<\/p>\n\n\n\n<p>In the LDAP Server you setup in the last step, use the Related link <strong>Browse<\/strong> to browse the LDAP Server and find the data you want to pull.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: LDAP OU Definitions<\/h2>\n\n\n\n<p>After you determine the data you want to pull you update the LDAP OU Definitions (Located in the LDAP Server record at the bottom of the form).<\/p>\n\n\n\n<p>Click the Browse button on the LDAP OU Definition after you set it up to verify it is going to the right location.<\/p>\n\n\n\n<p>Sometimes you need to setup new extra LDAP OU Definitions if the data is in different directories and not just parent\/child directories.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-2.png\" alt=\"\" class=\"wp-image-391\" width=\"842\" height=\"300\" srcset=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-2.png 500w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-2-300x107.png 300w\" sizes=\"auto, (max-width: 842px) 100vw, 842px\" \/><\/figure>\n\n\n\n<p>LDAP OU Definition (User)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-3.png\" alt=\"\" class=\"wp-image-392\" width=\"838\" height=\"298\" srcset=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-3.png 500w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-3-300x107.png 300w\" sizes=\"auto, (max-width: 838px) 100vw, 838px\" \/><\/figure>\n\n\n\n<p>LDAP OU Definition (Groups)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Data Source<\/h2>\n\n\n\n<p>Under each LDAP OU Definition, there is a data source. In the data source you can run the import and see where what import set the data is being loaded into.<\/p>\n\n\n\n<p>Click \u201cLoad All Records\u201d to load the data into import sets.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Import Sets<\/h2>\n\n\n\n<p><a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/administer\/import-sets\/reference\/import-sets-landing-page.html\" target=\"_blank\" rel=\"noreferrer noopener\">Import sets<\/a> are temporary \u201cstaging tables\u201d in ServiceNow that data sits before it is \u201ctransformed\u201d into actual ServiceNow data.<\/p>\n\n\n\n<p>Out-of-the-box, the user import set is ldap_import, and the group import is ldap_group_import.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">LOOK for Truncated import set data<\/h3>\n\n\n\n<p>Go review the import set data and make sure the columns created for the data are big enough. You may need to increase the size of a column in the import set if the data is being truncated.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Transform Maps<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Configure Transform Map<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-4.png\" alt=\"\" class=\"wp-image-393\" width=\"839\" height=\"409\" srcset=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-4.png 500w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-4-300x146.png 300w\" sizes=\"auto, (max-width: 839px) 100vw, 839px\" \/><\/figure>\n\n\n\n<p>Transform Map<\/p>\n\n\n\n<p>When you get to the <a href=\"https:\/\/docs.servicenow.com\/bundle\/newyork-platform-administration\/page\/script\/server-scripting\/concept\/c_CreatingNewTransformMaps.html\" target=\"_blank\" rel=\"noreferrer noopener\">Transform Maps<\/a>, make sure you are testing this work in development first!<\/p>\n\n\n\n<p>The transform maps convert the data from the import set into actual user an group records.<\/p>\n\n\n\n<p>The LDAP User Import transform map is the one you typically modify. Some common configurations of the user transform map.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Coalesce Match<\/strong>. Important to choose a coalesce in the field map so that you don\u2019t get duplicate user records. Companies often use samaccountname or objectguid for the coalesce field.<\/li>\n\n\n\n<li><strong>Additional fields.<\/strong> If you have additional fields to map, here\u2019s the place.<\/li>\n\n\n\n<li><strong>Import User Photo from LDAP.<\/strong> Here is an article on how to <a href=\"https:\/\/www.servicenowelite.com\/blog\/2014\/2\/18\/import-user-photo-from-ldap?rq=import%20photo\" target=\"_blank\" rel=\"noreferrer noopener\">Import User Photo from LDAP<\/a>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Run Transform<\/h3>\n\n\n\n<p>When you are ready to transform, click the Transform Related Link in the Transform Map.<\/p>\n\n\n\n<p>View the Log after data load to see if any errors occur.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 7: Scheduled Loads<\/h2>\n\n\n\n<p>After your data is imported correctly. Schedule that data loads. This is done under System LDAP &gt; Scheduled Loads. You activate the data import and set a run schedule. Most companies run it daily in the evening.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"282\" src=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-5.png\" alt=\"\" class=\"wp-image-394\" srcset=\"https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-5.png 1000w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-5-300x85.png 300w, https:\/\/amsd.go.ro\/wordpress\/wp-content\/uploads\/2024\/12\/image-5-768x217.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p id=\"yui_3_17_2_1_1734628635649_755\">Scheduled Data Import<\/p>\n","protected":false},"excerpt":{"rendered":"<p>An LDAP integration allows your instance to use your existing LDAP server as the master source of user data. This article is a supplement to the ServiceNow documentation. For full documentation please see the ServiceNow Documentation Please note that it [&hellip;]<\/p>\n<div class=\"link-more\"><a href=\"https:\/\/amsd.go.ro\/wordpress\/?p=388#more-388\" class=\"more-link\">Continue reading &#10142; <span class=\"screen-reader-text\">LDAP Integration for ServiceNow<\/span><\/a><\/div>","protected":false},"author":6,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[33,10,32,31],"class_list":["post-388","post","type-post","status-publish","format-standard","hentry","category-technology","tag-integration","tag-ps_32","tag-ldap","tag-servicenow"],"_links":{"self":[{"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/388","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=388"}],"version-history":[{"count":2,"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/388\/revisions"}],"predecessor-version":[{"id":398,"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/388\/revisions\/398"}],"wp:attachment":[{"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=388"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=388"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/amsd.go.ro\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=388"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}