<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – LDAP link service</title>
    <link>/en/security-and-authentication/ldap-link-service/</link>
    <description>Recent content in LDAP link service on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/security-and-authentication/ldap-link-service/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Security-and-Authentication: Configuring LDAP link with dry runs</title>
      <link>/en/security-and-authentication/ldap-link-service/configuring-ldap-link-with-dry-runs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/ldap-link-service/configuring-ldap-link-with-dry-runs/</guid>
      <description>
        
        
        &lt;p&gt;OpenText™ Analytics Database supports several meta-functions that let you tweak LDAP Link settings before syncing with the database. Each meta-function takes &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/ldap-link-parameters/&#34;&gt;LDAP Link parameters&lt;/a&gt; as arguments and tests a separate part of LDAP Link:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/functions/management-functions/ldap-link-functions/ldap-link-dryrun-connect/#&#34;&gt;LDAP_LINK_DRYRUN_CONNECT&lt;/a&gt; connects to the LDAP server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/functions/management-functions/ldap-link-functions/ldap-link-dryrun-search/#&#34;&gt;LDAP_LINK_DRYRUN_SEARCH&lt;/a&gt; searches for LDAP users and groups.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/functions/management-functions/ldap-link-functions/ldap-link-dryrun-sync/#&#34;&gt;LDAP_LINK_DRYRUN_SYNC&lt;/a&gt; maps and synchronizes LDAP users and groups to their equivalents in the database, creating and orphaning them accordingly.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These meta-functions should be used and tested in succession, and their arguments are cumulative. That is, the parameters you use to configure LDAP_LINK_DRYRUN_CONNECT are used for LDAP_LINK_DRYRUN_SEARCH, and the arguments for those functions are used for LDAP_LINK_DRYRUN_SYNC.&lt;/p&gt;
&lt;p&gt;The dryrun and LDAP_LINK_SYNC_START functions must be run from the clerk node. To determine the clerk node, query &lt;a href=&#34;../../../en/sql-reference/system-tables/v-monitor-schema/node-resources/#&#34;&gt;NODE_RESOURCES&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;node_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dbclerk&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;node_resources&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;WHERE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dbclerk&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;t&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;node_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;     &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dbclerk&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;------------------+---------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v_vmart_node0001&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Be sure to query the &lt;a href=&#34;../../../en/sql-reference/system-tables/v-monitor-schema/ldap-link-dryrun-events/#&#34;&gt;LDAP_LINK_DRYRUN_EVENTS&lt;/a&gt; system table to verify the results of each dry run before moving to the next meta-function.&lt;/p&gt;
&lt;h2 id=&#34;configuring-tls-for-dry-runs&#34;&gt;Configuring TLS for dry runs&lt;/h2&gt;
&lt;p&gt;Like the standard LDAP Link functions, LDAP Link dry-run functions pull from the &#39;LDAPLink&#39; TLS Configuration for managing TLS connections. Query the &lt;a href=&#34;../../../en/sql-reference/system-tables/v-monitor-schema/tls-configs/#&#34;&gt;TLS_CONFIGURATIONS&lt;/a&gt; system table to view existing TLS Configurations.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT * FROM tls_configurations WHERE name=&amp;#39;LDAPLink&amp;#39;;
   name   |  owner  | certificate | ca_certificate | cipher_suites |  mode
----------+---------+-------------+----------------+---------------+---------
 LDAPLink | dbadmin | client_cert | ldap_ca        |               | DISABLE
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For instructions on configuring TLS for LDAP Link and its dry run functions, see &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/tls-ldap-link/#&#34;&gt;TLS for LDAP link&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;configuring-ldap-link-bind&#34;&gt;Configuring LDAP link bind&lt;/h2&gt;
&lt;p&gt;Before configuring LDAP users and importing them to the database, you must first connect or &amp;quot;bind,&amp;quot; with the LDAP server. Connections are managed with several parameters. For more information on each parameter, related functions, options, and default values, see &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/ldap-link-parameters/#&#34;&gt;LDAP link parameters&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;LDAP_LINK_DRYRUN_CONNECT requires a Distinguished Name (DN), a password to authenticate with the LDAP server, and the URL to the LDAP server.&lt;/p&gt;
&lt;p&gt;To encrypt the connection, &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/tls-ldap-link/&#34;&gt;configure the LDAPLink TLS Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;By providing an empty string for the &lt;code&gt;LDAPLinkBindPswd&lt;/code&gt; argument, you can also perform an &lt;a href=&#34;../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/&#34;&gt;anonymous bind&lt;/a&gt; if your LDAP server allows unauthenticated binds.&lt;/p&gt;

&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT LDAP_LINK_DRYRUN_CONNECT(&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkURL&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkBindDN&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkBindPswd&lt;/span&gt;&amp;#39;);
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;dry-run-bind-example&#34;&gt;Dry run bind example&lt;/h3&gt;
&lt;p&gt;This tests the connection to an LDAP server at &lt;code&gt;ldap://example.dc.com&lt;/code&gt; with the DN &lt;code&gt;CN=amir,OU=QA,DC=dc,DC=com&lt;/code&gt;.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT LDAP_LINK_DRYRUN_CONNECT(&amp;#39;ldap://example.dc.com&amp;#39;,&amp;#39;CN=amir,OU=QA,DC=dc,DC=com&amp;#39;,&amp;#39;password&amp;#39;);

                ldap_link_dryrun_connect
---------------------------------------------------------------------------------
Dry Run Connect Completed. Query v_monitor.ldap_link_dryrun_events for results.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To check the results of the bind, query the system table LDAP_LINK_DRYRUN_EVENTS.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT event_timestamp, event_type, entry_name, role_name, link_scope, search_base from LDAP_LINK_DRYRUN_EVENTS;
        event_timestamp       |       event_type      |      entry_name      | link_scope | search_base
------------------------------+-----------------------+----------------------+------------+-------------
2019-12-09 15:41:43.589398-05 | BIND_STARTED          | -------------------- | ---------- | -----------
2019-12-09 15:41:43.590504-05 | BIND_FINISHED         | -------------------- | ---------- | -----------
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;configuring-ldap-link-search&#34;&gt;Configuring LDAP link search&lt;/h2&gt;
&lt;p&gt;After a successful connection between the database and the LDAP server, you should configure and test your user and group search space for correctness and efficiency.&lt;/p&gt;
&lt;p&gt;To search for users and groups on the LDAP server to import to your database, pass both the connection and search parameters to the LDAP_LINK_DRYRUN_SEARCH meta-function. The LDAP server responds with a list of users and groups that would be imported into the database with the given parameters.&lt;/p&gt;
&lt;p&gt;By providing an empty string for the &lt;code&gt;LDAPLinkBindPswd&lt;/code&gt; argument, you can also perform an &lt;a href=&#34;../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/&#34;&gt;anonymous search&lt;/a&gt; if your LDAP server&#39;s Access Control List (ACL) is configured to allow unauthenticated searches. The settings for allowing anonymous binds are different from the ACL settings for allowing anonymous searches.&lt;/p&gt;

&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT LDAP_LINK_DRYRUN_SEARCH(&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkURL&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkBindDN&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkBindPswd&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkSearchBase&lt;/span&gt;&amp;#39;,
&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkScope&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkFilterUser&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkFilterGroup&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkUserName&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkGroupName&lt;/span&gt;&amp;#39;,
&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkGroupMembers&lt;/span&gt;&amp;#39;,[&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkSearchTimeout&lt;/span&gt;],[&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkJoinAttr&lt;/span&gt;&amp;#39;]);
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;dry-run-search-example&#34;&gt;Dry run search example&lt;/h3&gt;
&lt;p&gt;This searches for users and groups in the LDAP server. In this case, the &lt;code&gt;LDAPLinkSearchBase&lt;/code&gt; parameter specifies the &lt;code&gt;dc.com&lt;/code&gt; domain and a sub scope, which replicates the entire subtree under the DN.&lt;/p&gt;
&lt;p&gt;To further filter results, the function checks for users and groups with the &lt;code&gt;person&lt;/code&gt; and &lt;code&gt;group&lt;/code&gt; objectClass attributes. It then searches the group attribute &lt;code&gt;cn&lt;/code&gt;, identifying members of that group with the &lt;code&gt;member&lt;/code&gt; attribute, and then identifying those individual users with the attribute &lt;code&gt;uid&lt;/code&gt;.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT LDAP_LINK_DRYRUN_SEARCH(&amp;#39;ldap://example.dc.com&amp;#39;,&amp;#39;CN=amir,OU=QA,DC=dc,DC=com&amp;#39;,&amp;#39;$vertica$&amp;#39;,&amp;#39;dc=DC,dc=com&amp;#39;,&amp;#39;sub&amp;#39;,
&amp;#39;(objectClass=person)&amp;#39;,&amp;#39;(objectClass=group)&amp;#39;,&amp;#39;uid&amp;#39;,&amp;#39;cn&amp;#39;,&amp;#39;member&amp;#39;,10,&amp;#39;dn&amp;#39;);

                ldap_link_dryrun_search
--------------------------------------------------------------------------------
Dry Run Search Completed. Query v_monitor.ldap_link_dryrun_events for results.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To check the results of the search, query the system table LDAP_LINK_DRYRUN_EVENTS.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT event_timestamp, event_type, entry_name, ldapurihash, link_scope, search_base from LDAP_LINK_DRYRUN_EVENTS;
        event_timestamp          |    event_type    |       entry_name       | ldapurihash | link_scope | search_base
---------------------------------+------------------+------------------------+-------------+------------+--------------
2020-01-03 21:03:26.411753+05:30 | BIND_STARTED     | ---------------------- |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:26.422188+05:30 | BIND_FINISHED    | ---------------------- |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:26.422223+05:30 | SYNC_STARTED     | ---------------------- |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:26.422229+05:30 | SEARCH_STARTED   | **********             |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:32.043107+05:30 | LDAP_GROUP_FOUND | Account Operators      |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:32.04312+05:30  | LDAP_GROUP_FOUND | Administrators         |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:32.043182+05:30 | LDAP_USER_FOUND  | user1                  |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:32.043186+05:30 | LDAP_USER_FOUND  | user2                  |           0 | sub        | dc=DC,dc=com
2020-01-03 21:03:32.04319+05:30  | SEARCH_FINISHED  | **********             |           0 | sub        | dc=DC,dc=com
&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&#34;configuring-ldap-link-sync&#34;&gt;Configuring LDAP link sync&lt;/h2&gt;
&lt;p&gt;After configuring the search space, you&#39;ll have a list of users and groups. LDAP sync maps LDAP users and groups to their equivalents in the database. The &lt;code&gt;LDAPLinkUserName&lt;/code&gt; maps to database usernames and the &lt;code&gt;LDAPLinkGroupName&lt;/code&gt; maps to database roles.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT LDAP_LINK_DRYRUN_SYNC(&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkURL&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkBindDN&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkBindPswd&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkSearchBase&lt;/span&gt;&amp;#39;,
&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkScope&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkFilterUser&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkFilterGroup&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkUserName&lt;/span&gt;&amp;#39;,&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkGroupName&lt;/span&gt;&amp;#39;,
&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkGroupMembers&lt;/span&gt;&amp;#39;,[&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkSearchTimeout&lt;/span&gt;],[&amp;#39;&lt;span class=&#34;code-variable&#34;&gt;LDAPLinkJoinAttr&lt;/span&gt;&amp;#39;]);
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;dry-run-sync-example&#34;&gt;Dry run sync example&lt;/h3&gt;
&lt;p&gt;To perform a dry run to map the users and groups returned from LDAP_LINK_DRYRUN_SEARCH, pass the same parameters as arguments to LDAP_LINK_DRYRUN_SYNC.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT LDAP_LINK_DRYRUN_SYNC(&amp;#39;ldap://example.dc.com&amp;#39;,&amp;#39;CN=amir,OU=QA,DC=dc,DC=com&amp;#39;,&amp;#39;$vertica$&amp;#39;,&amp;#39;dc=DC,dc=com&amp;#39;,&amp;#39;sub&amp;#39;,
&amp;#39;(objectClass=person)&amp;#39;,&amp;#39;(objectClass=group)&amp;#39;,&amp;#39;uid&amp;#39;,&amp;#39;cn&amp;#39;,&amp;#39;member&amp;#39;,10,&amp;#39;dn&amp;#39;);

                          LDAP_LINK_DRYRUN_SYNC
------------------------------------------------------------------------------------------
Dry Run Connect and Sync Completed. Query v_monitor.ldap_link_dryrun_events for results.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To check the results of the sync, query the system table LDAP_LINK_DRYRUN_EVENTS.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT event_timestamp, event_type, entry_name, ldapurihash, link_scope, search_base from LDAP_LINK_DRYRUN_EVENTS;
        event_timestamp          |     event_type      |       entry_name       | ldapurihash | link_scope | search_base
---------------------------------+---------------------+------------------------+-------------+------------+--------------
2020-01-03 21:08:30.883783+05:30 | BIND_STARTED        | ---------------------- |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:30.890574+05:30 | BIND_FINISHED       | ---------------------- |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:30.890602+05:30 | SYNC_STARTED        | ---------------------- |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:30.890605+05:30 | SEARCH_STARTED      | **********             |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939369+05:30 | LDAP_GROUP_FOUND    | Account Operators      |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939395+05:30 | LDAP_GROUP_FOUND    | Administrators         |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939461+05:30 | LDAP_USER_FOUND     | user1                  |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939463+05:30 | LDAP_USER_FOUND     | user2                  |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939468+05:30 | SEARCH_FINISHED     | **********             |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939718+05:30 | PROCESSING_STARTED  | **********             |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939887+05:30 | USER_CREATED        | user1                  |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939895+05:30 | USER_CREATED        | user2                  |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939949+05:30 | ROLE_CREATED        | Account Operators      |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.939959+05:30 | ROLE_CREATED        | Administrators         |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.940603+05:30 | PROCESSING_FINISHED | **********             |           0 | sub        | dc=DC,dc=com
2020-01-03 21:08:31.940613+05:30 | SYNC_FINISHED       | ---------------------- |           0 | sub        | dc=DC,dc=com
&lt;/code&gt;&lt;/pre&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: Using LDAP link</title>
      <link>/en/security-and-authentication/ldap-link-service/using-ldap-link/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/ldap-link-service/using-ldap-link/</guid>
      <description>
        
        
        &lt;p&gt;When you use LDAP Link, the following are directly affected and help you manage and monitor the LDAP Link - OpenText™ Analytics Database synchronization:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;User and Group management&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LDAP Link User Flag&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Blocked Commands&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Client Authentication types&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To cancel an in-progress synchronization, use &lt;a href=&#34;../../../en/sql-reference/functions/management-functions/ldap-link-functions/ldap-link-sync-cancel/#&#34;&gt;LDAP_LINK_SYNC_CANCEL&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;user-and-group-management&#34;&gt;User and group management&lt;/h2&gt;
&lt;p&gt;Users and groups created on the LDAP server have a specific relationship with those users and roles replicated to the database server:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The user-group relationship on the LDAP server is maintained when those users and groups (roles) are synchronized with the database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If a user or group name exists in the database and a user or group with the same names is synchronized from the LDAP Server using LDAP Link, the users or groups become conflicted. The database cannot support multiple users with the same name. To resolve this, see &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/troubleshooting-ldap-link-issues/#User&#34;&gt;User Conflicts&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If the LDAP server contains a circular relationship, the database accepts and creates roles for the first non-circular part of the relationship returned by the LDAP server and ignores the rest.&lt;br /&gt;&lt;br /&gt;For example, suppose the LDAP server contains groups &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt;, where &lt;code&gt;A&lt;/code&gt; contains &lt;code&gt;B&lt;/code&gt;, and &lt;code&gt;B&lt;/code&gt; contains &lt;code&gt;A&lt;/code&gt;, creating a circular relationship.&lt;br /&gt;&lt;br /&gt; If the LDAP server first returns that &lt;code&gt;A&lt;/code&gt; contains &lt;code&gt;B&lt;/code&gt;, the database creates roles &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt;, and grants role &lt;code&gt;A&lt;/code&gt; to role &lt;code&gt;B&lt;/code&gt;. The database then ignores the fact that group &lt;code&gt;B&lt;/code&gt; also contains &lt;code&gt;A&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;LDAP Link uses the entries in the dn: section of the LDAP configuration file as the unique user identifier when synchronizing a user to the database:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;dn: cn=user1,ou=dev,dc=example,dc=com
cn: user1
ou: dev
id: user1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The uid parameter in the LDAP configuration file indicates the LDAP user name.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;uid: user1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Upon synchronization, the dn: entry gets mapped to the uid: to identify the database user.&lt;/p&gt;
&lt;p&gt;If you change a setting in the &lt;code&gt;dn:&lt;/code&gt; and do not change the &lt;code&gt;uid:&lt;/code&gt;, LDAP Link interprets the user as a new user when re-synchronizing with the database. In this case, the existing database user with that uid: gets deleted from the database and a new user is created.&lt;/p&gt;
&lt;p&gt;If you change the uid: and not the dn: on LDAP, the uid in the database gets updated to the new uid. Since you did not change the dn: LDAP Link does not interpret the user as a new user.&lt;/p&gt;
&lt;h2 id=&#34;ldap-link-user-flag&#34;&gt;LDAP link user flag&lt;/h2&gt;
&lt;p&gt;As a dbadmin user, you can access the vs_users table to monitor user behavior on the database. The users table contains an &lt;code&gt;ldap_dn&lt;/code&gt; field that identifies whether or not the database user is also an LDAP Link user. This example shows the &lt;code&gt;ldap_dn&lt;/code&gt; field set to &lt;code&gt;dn&lt;/code&gt; indicating the database user is also an LDAP Link user:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT * FROM vs_users;
-[ RECORD 1 ]---------+--------------------------------------------------
user_id               | 45035996273704962
user_name             | dbadmin
is_super_user         | t
profile_name          | default
is_locked             | f
lock_time             |
resource_pool         | general
memory_cap_kb         | unlimited
temp_space_cap_kb     | unlimited
run_time_cap          | unlimited
max_connections       | unlimited
connection_limit_mode | database
idle_session_timeout  | unlimited
all_roles             | dbduser*, dbadmin*, pseudosuperuser*
default_roles         | dbduser*, dbadmin*, pseudosuperuser*
search_path           |
ldap_dn               | dn
ldap_uri_hash         | 0
is_orphaned_from_ldap | f
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;blocked-commands&#34;&gt;Blocked commands&lt;/h2&gt;
&lt;p&gt;Be aware that the following SQL statements are blocked for the database users with ldapdn set to dn in the vs_users table:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/statements/drop-statements/drop-user/#&#34;&gt;DROP USER&lt;/a&gt; and &lt;a href=&#34;../../../en/sql-reference/statements/drop-statements/drop-role/#&#34;&gt;DROP ROLE&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../en/sql-reference/statements/alter-statements/alter-role/#&#34;&gt;ALTER ROLE RENAME&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; name IDENTIFIED BY &#39;password&#39; [REPLACE &#39;old_password&#39;]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; name PASSWORD EXPIRE&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; name PROFILE&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; name SECURITY_ALGORITHM...&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../en/sql-reference/statements/alter-statements/alter-user/#&#34;&gt;ALTER USER&lt;/a&gt; name DEFAULT ROLE role-name&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href=&#34;../../../en/sql-reference/statements/grant-statements/grant-role/#&#34;&gt;GRANT (Role)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;client-authentication-types&#34;&gt;Client authentication types&lt;/h2&gt;
&lt;p&gt;LDAP user and groups cannot log in to the database if client authentication is not assigned to the user or group. You can use the following valid &lt;a href=&#34;../../../en/security-and-authentication/client-authentication/configuring-client-authentication/&#34;&gt;authentication types&lt;/a&gt; for LDAP users and groups:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;GSS&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ident&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LDAP&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reject&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Trust&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: LDAP link parameters</title>
      <link>/en/security-and-authentication/ldap-link-service/ldap-link-parameters/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/ldap-link-service/ldap-link-parameters/</guid>
      <description>
        
        
        &lt;p&gt;Use LDAP Link parameters to determine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;LDAP Link operations, such as enabling or disabling LDAP Link and how often to perform replication&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Authentication parameters, including SSL authentication parameters&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Users and groups that inherit unowned objects&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How to resolve conflicts&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To configure TLS for LDAP Link, see &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/tls-ldap-link/#&#34;&gt;TLS for LDAP link&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;General&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;set-ldap-link-parameters&#34;&gt;Set LDAP link parameters&lt;/h2&gt;
&lt;p&gt;This example shows how you can set:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;LDAPLinkURL&lt;/code&gt;, the URL of the LDAP server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;LDAPLinkSearchBase&lt;/code&gt;, the base DN from which to start replication.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You also see how to set the LDAP Link Bind authentication parameters (&lt;code&gt;LDAPLinkBindDN&lt;/code&gt; and &lt;code&gt;LDAPLinkBindPswd&lt;/code&gt;) and enables LDAP Link (&lt;code&gt;LDAPLinkOn&lt;/code&gt;).&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER DATABASE myDB1 SET PARAMETER LDAPLinkURL=&amp;#39;ldap://10.60.55.128&amp;#39;,
LDAPLinkSearchBase=&amp;#39;dc=corp,dc=com&amp;#39;,LDAPLinkBindDN=&amp;#39;dc=corp,dc=com&amp;#39;,LDAPLinkBindPswd=&amp;#39;password&amp;#39;;

=&amp;gt; ALTER DATABASE myDB1 SET PARAMETER LDAPLinkOn = &amp;#39;1&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;general-and-connection-parameters&#34;&gt;General and connection parameters&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkOn&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;










&lt;p&gt;Enables or disables LDAP Link.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Valid Values:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;0&lt;/strong&gt;—LDAP Link disabled&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1&lt;/strong&gt;—LDAP Link enabled&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 0&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkURL&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;











&lt;p&gt;The LDAP server URL.&lt;/p&gt;
&lt;p&gt;To use a plaintext connection between the database and the LDAP server, begin the &lt;code&gt;LDAPLinkURL&lt;/code&gt; with &lt;code&gt;ldap://&lt;/code&gt; and set the TLSMODE of LDAPLink to &lt;code&gt;DISABLE&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;To use StartTLS, begin the &lt;code&gt;LDAPLinkURL&lt;/code&gt; with &lt;code&gt;ldap://&lt;/code&gt; and set the TLSMODE of &lt;code&gt;LDAPLink&lt;/code&gt; to &lt;code&gt;ENABLE&lt;/code&gt; or higher.&lt;/p&gt;
&lt;p&gt;To use LDAPS, begin the &lt;code&gt;LDAPLinkURL&lt;/code&gt; with &lt;code&gt;ldaps://&lt;/code&gt; and set the TLSMODE of &lt;code&gt;LDAPLink&lt;/code&gt; to &lt;code&gt;ENABLE&lt;/code&gt; or higher.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; SET PARAMETER LDAPLinkURL=&#39;ldap://example.dc.com&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkCron&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;





&lt;p&gt;A &lt;code&gt;cron&lt;/code&gt; expression, the exact time at which the LDAP and the database servers should synchronize. Unlike &lt;code&gt;LDAPLinkInterval&lt;/code&gt;, the runtime of the synchronization does not affect the next scheduled synchronization. Setting this parameter overrides &lt;code&gt;LDAPLinkInterval&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;New synchronizations are only scheduled after the current one ends. This means that if a synchronization runs for long enough to reach the start of what would be the &amp;quot;next&amp;quot; synchronization according to the &lt;code&gt;cron&lt;/code&gt; expression, that &amp;quot;next&amp;quot; synchronization will not run, and in fact will not be scheduled until after the current one finishes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; None (empty).&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkInterval&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;






&lt;p&gt;The time interval, in seconds, by which the LDAP and the database servers should synchronize. The interval is calculated based on the completion time of the previous synchronization operation, not its start time. This means that with an interval of &lt;code&gt;86400&lt;/code&gt; seconds (one day), if the previous synchronization started at 9:00 and ended at 9:30, then the next synchronization would start at 9:30 the next day.&lt;/p&gt;
&lt;p&gt;To use this scheduling method, &lt;code&gt;LDAPLinkCron&lt;/code&gt; must not be set (default).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 86400 (one day).&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkFirstInterval&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;The first interval, in seconds, for LDAP or database synchronization after the clerk node joins the cluster.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 120&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkRetryInterval&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;The time, in seconds, the system waits to retry a failed synchronization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 10&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkRetryNumber&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;The number of retry attempts if synchronization failed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 10.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkSearchBase&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;








&lt;p&gt;The base &lt;code&gt;dn&lt;/code&gt; from where to start replication.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; SET PARAMETER LDAPLinkSearchBase=&#39;ou=vertica,dc=mycompany,dc=com&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;OpenText recommends using a separate OU for database users.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkSearchTimeout&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;The timeout length, in seconds, for the LDAP search operation during an LDAP Link Service run.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 10&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkScope&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;














&lt;p&gt;Indicates what dn level to replicate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Valid Values:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;sub&lt;/strong&gt;—Replicate entire subtree under baseDN&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;one&lt;/strong&gt;—Replicate to one level under baseDN&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;base&lt;/strong&gt; —Replicate only the baseDN level&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you decrease the scope (for example, &lt;code&gt;sub&lt;/code&gt; to &lt;code&gt;one&lt;/code&gt;), some users may not be recognized during the next synchronization.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &lt;code&gt;sub&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkFilterUser&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;Determines how to filter users to be replicated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &amp;quot;(objectClass=inetOrgPerson)&amp;quot;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkFilterGroup&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;Determines how to filter groups to be replicated.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &amp;quot;(objectClass=groupofnames)&amp;quot;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkGroupName&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;[Optional] The LDAP field to use when creating a role name in the database.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &lt;code&gt;cn&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkGroupMembers&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;The LDAP group that identifies the members of an LDAP group. This attribute returns a Fully Qualified Domain Name (FQDN).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &lt;code&gt;member&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkUserName&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;



&lt;p&gt;The LDAP field to use when creating a user name in the database.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &lt;code&gt;uid&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkJoinAttr&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;










&lt;p&gt;Specifies the attribute on which you want to join to assign users to their roles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &lt;code&gt;dn&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;POSIX groups associate users and groups with the &lt;code&gt;uid&lt;/code&gt; attribute instead of &lt;code&gt;dn&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; SET PARAMETER LDAPLinkJoinAttr=&#39;uid&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkAddRolesAsDefault&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;














&lt;p&gt;Specifies whether the users synchronized through LDAP Link should have their groups set as default roles. If &lt;code&gt;LDAPLinkAddRolesAsDefault&lt;/code&gt; is disabled (default), then the users are granted their groups as non-&lt;a href=&#34;../../../en/admin/db-users-and-privileges/db-roles/enabling-roles-automatically/&#34;&gt;default&lt;/a&gt; roles, which must be manually enabled with &lt;a href=&#34;../../../en/sql-reference/statements/set-statements/set-role/&#34;&gt;SET ROLE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; &lt;code&gt;0&lt;/code&gt; (disabled)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To enable:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; ALTER DATABASE DEFAULT SET LDAPLinkAddRolesAsDefault = 1;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;To disable:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; ALTER DATABASE DEFAULT SET LDAPLinkAddRolesAsDefault = 0;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h2 id=&#34;authentication-parameters&#34;&gt;Authentication parameters&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkBindDN&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;






&lt;p&gt;The LDAP Bind DN used for authentication.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; SET PARAMETER LDAPLinkBindDN=&#39;CN=amir,OU=QA,DC=dc,DC=com&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkBindPswd&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;






&lt;p&gt;The valid password for the LDAP Bind DN to access the server. Only accessible by the dbadmin user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; SET PARAMETER LDAPLinkBindPswd=&#39;password&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;h2 id=&#34;miscellaneous-parameters&#34;&gt;Miscellaneous parameters&lt;/h2&gt;

&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

&lt;th &gt;
Parameter&lt;/th&gt; 

&lt;th &gt;
Description&lt;/th&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkConflictPolicy&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;










&lt;p&gt;Determines how to resolve a user conflict.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Valid Values:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;IGNORE—Ignores the incoming LDAP user and maintains the existing database user.&lt;/p&gt;
&lt;p&gt;MERGE—Converts the existing user to an LDAP user.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; MERGE&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkStopIfZeroUsers&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;








&lt;p&gt;Enables or disables the shutdown of LDAPLink synchronization if no users are found in LDAP.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Valid values:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;0 - Disables the shutdown of LDAPLink synchronization if no users are found. This may lead to inadvertent dropping of the database users.&lt;/p&gt;
&lt;p&gt;1 - Enables the shutdown of LDAPLink synchronization if no users are found. This prevents inadvertent dropping of the database users.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkDryRun&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;












&lt;p&gt;[Optional] Tests the connection to the LDAP server and logs the response without doing a synchronization. Also tests if parameters are correctly set.&lt;/p&gt;
&lt;p&gt;Note that this parameter is not the preferred dry run method. Instead, the LDAP_Link_Dryrun family of meta-functions provides more granular control over configurations and is the preferred way to &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/configuring-ldap-link-with-dry-runs/&#34;&gt;perform LDAP Link dry runs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Valid Values:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;0 - Disables LDAPLinkDryRun&lt;/p&gt;
&lt;p&gt;1 - Enables LDAPLinkDryRun&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Default:&lt;/strong&gt; 0&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;LDAPLinkConfigFile&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
[Optional] If this parameter is set with the path to a .LDIF file, the LDAP Link service will use the file as the source tree instead of connecting to the LDAP server.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;See &lt;a href=&#34;../../../en/admin/configuring-db/config-parameter-management/#&#34;&gt;Configuration parameter management&lt;/a&gt; for information on setting LDAP Link parameters.

&lt;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

When you change any Connection or Authentication parameter, LDAP Link reconnects and re-initializes the synchronization.

&lt;/div&gt;&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: TLS for LDAP link</title>
      <link>/en/security-and-authentication/ldap-link-service/tls-ldap-link/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/ldap-link-service/tls-ldap-link/</guid>
      <description>
        
        
        &lt;p&gt;Vertica establishes a connection to an LDAP server in two contexts, and each context has a corresponding TLS Configuration that controls if each connection should use TLS:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;LDAPLink&lt;/strong&gt;: using the LDAPLink service or its dry run functions to synchronize users and groups between Vertica and the LDAP server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;LDAPAuth&lt;/strong&gt;: when a user with an &lt;code&gt;ldap&lt;/code&gt; authentication method attempts to log into Vertica, Vertica attempts to bind the user to a matching user in the LDAP server. If the bind succeeds, Vertica allows the user to log in.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Query &lt;a href=&#34;../../../en/sql-reference/system-tables/v-monitor-schema/tls-configs/#&#34;&gt;TLS_CONFIGURATIONS&lt;/a&gt; to view existing TLS Configurations:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT * FROM tls_configurations WHERE name IN (&amp;#39;LDAPLink&amp;#39;, &amp;#39;LDAPAuth&amp;#39;);
   name   |  owner  | certificate | ca_certificate | cipher_suites |  mode
----------+---------+-------------+----------------+---------------+----------
 LDAPLink | dbadmin | client_cert | ldap_ca        |               | VERIFY_CA
 LDAPAuth | dbadmin | client_cert | ldap_ca        |               | DISABLE
(2 rows)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This page covers the LDAP Link service context. For details on the LDAP authentication context, see &lt;a href=&#34;../../../en/security-and-authentication/client-authentication/ldap-authentication/tls-ldap-authentication/#&#34;&gt;TLS for LDAP authentication&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;configuring-ldap-link-tls&#34;&gt;Configuring LDAP link TLS&lt;/h2&gt;
&lt;p&gt;OpenText™ Analytics Database uses the &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/&#34;&gt;LDAP Link service&lt;/a&gt; to retrieve users and groups from the LDAP server and to create corresponding users and roles in the database. To configure TLS for LDAP Link and its &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/configuring-ldap-link-with-dry-runs/&#34;&gt;dry run functions&lt;/a&gt;, use the following procedure.&lt;/p&gt;
&lt;p&gt;This procedure uses the predefined TLS Configuration &lt;code&gt;LDAPLink&lt;/code&gt;. To &lt;a href=&#34;../../../en/sql-reference/statements/create-statements/create-tls-config/&#34;&gt;create&lt;/a&gt; a custom TLS Configuration, see &lt;a href=&#34;../../../en/security-and-authentication/tls-protocol/tls-overview/tls-configs/#&#34;&gt;TLS configurations&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For details on key and certificate generation, see &lt;a href=&#34;../../../en/security-and-authentication/tls-protocol/tls-overview/generating-tls-certificates-and-keys/#&#34;&gt;Generating TLS certificates and keys&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;If you want the database to verify the LDAP server&#39;s certificate before establishing the connection, generate or import a CA certificate and add it to the LDAPLink TLS Configuration.&lt;/p&gt;
&lt;p&gt;For example, to import the existing CA certificate &lt;code&gt;LDAP_CA.crt&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; \set ldap_ca &amp;#39;\&amp;#39;&amp;#39;`cat ldap_ca.crt`&amp;#39;\&amp;#39;&amp;#39;
=&amp;gt; CREATE CA CERTIFICATE ldap_ca AS :ldap_ca;
CREATE CERTIFICATE
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, to add the &lt;code&gt;ldap_ca&lt;/code&gt; CA certificate to LDAPLink:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ALTER TLS CONFIGURATION LDAPLink ADD CA CERTIFICATES ldap_ca;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If your LDAP server verifies client certificates, you must generate or import a client certificate and its key and add it to the LDAPLink TLS Configuration. The database presents this certificate to the LDAP server for verification by its CA.&lt;/p&gt;
&lt;p&gt;For example, to import the existing certificate &lt;code&gt;client.crt&lt;/code&gt; (signed by the imported CA) and key &lt;code&gt;client.key&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; \set client_key &amp;#39;\&amp;#39;&amp;#39;`cat client.key`&amp;#39;\&amp;#39;&amp;#39;
=&amp;gt; CREATE KEY client_key TYPE &amp;#39;RSA&amp;#39; AS :client_key;
CREATE KEY

=&amp;gt; \set client_cert &amp;#39;\&amp;#39;&amp;#39;`cat client.crt`&amp;#39;\&amp;#39;&amp;#39;
=&amp;gt; CREATE CERTIFICATE client_cert AS :client_cert SIGNED BY ldap_ca KEY client_key;
CREATE CERTIFICATE
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Then, to add &lt;code&gt;client_cert&lt;/code&gt; to LDAPLink:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER TLS CONFIGURATION LDAPLink CERTIFICATE client_cert;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enable TLS or LDAPS (the exact protocol used depends on the value of &lt;code&gt;host&lt;/code&gt; in the AUTHENTICATION object) by setting the TLSMODE to one of the following. &lt;code&gt;TRY_VERIFY&lt;/code&gt; or higher requires a CA certificate:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;ENABLE&lt;/code&gt;&lt;/strong&gt;: Enables TLS. Vertica does not check the LDAP server&#39;s certificate.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;TRY_VERIFY&lt;/code&gt;&lt;/strong&gt;: Establishes a TLS connection if one of the following is true:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The LDAP server presents a valid certificate.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The LDAP server doesn&#39;t present a certificate.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If the LDAP server presents an invalid certificate, a plaintext connection is used.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;VERIFY_CA&lt;/code&gt;&lt;/strong&gt;: Connection succeeds if Vertica verifies that the LDAP server&#39;s certificate is from a trusted CA. Using this TLSMODE forces all connections without a certificate to use plaintext.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;VERIFY_FULL&lt;/code&gt;&lt;/strong&gt;: Connection succeeds if Vertica verifies that the LDAP server&#39;s certificate is from a trusted CA and the &lt;code&gt;cn&lt;/code&gt; (Common Name) or &lt;code&gt;subjectAltName&lt;/code&gt; attribute matches the hostname or IP address of the LDAP server.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;cn&lt;/code&gt; is used for the username, so &lt;code&gt;subjectAltName&lt;/code&gt; must match the hostname or IP address of the LDAP server.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER TLS CONFIGURATION LDAPLink TLSMODE &amp;#39;verify_ca&amp;#39;;
ALTER TLS CONFIGURATION
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify that the LDAPLinkTLSConfig parameter is using the TLS Configuration:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SHOW CURRENT LDAPLinkTLSConfig;
  level  |       name        | setting
---------+-------------------+----------
 DEFAULT | LDAPLinkTLSConfig | LDAPLink
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the &lt;a href=&#34;../../../en/security-and-authentication/ldap-link-service/ldap-link-parameters/&#34;&gt;LDAP Link Parameters&lt;/a&gt; according to your use case.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: Troubleshooting LDAP link issues</title>
      <link>/en/security-and-authentication/ldap-link-service/troubleshooting-ldap-link-issues/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/ldap-link-service/troubleshooting-ldap-link-issues/</guid>
      <description>
        
        
        &lt;p&gt;Various issues can arise with LDAP Link service, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Disconnected (Orphaned) users and roles&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lost objects&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;User conflicts&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;disconnected-orphaned-users-and-roles&#34;&gt;Disconnected (orphaned) users and roles&lt;/h2&gt;
&lt;p&gt;OpenText™ Analytics Database users and roles synchronized through LDAP Link can become disconnected, or orphaned, if an issue arises with the LDAP Link service. For example, users and roles become orphaned when you change the connection to the LDAP server as the following scenario describes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create an LDAP connection as follows:&lt;br /&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER DATABASE MyDB1 SET PARAMETER LDAPLinkURL=&amp;#39;ldap://ebuser&amp;#39;,
LDAPLinkSearchBase=&amp;#39;dc=example,dc=com&amp;#39;, LDAPLinkBindDN=&amp;#39;mega&amp;#39;,
LDAPLinkBindPswd=&amp;#39;$megapassword$&amp;#39;;
=&amp;gt; ALTER DATABASE MyDB1 SET PARAMETER LDAPLinkOn = &amp;#39;1&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run an LDAP Link session to synchronize LDAP and the database users.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Change one or more connection parameters from Step 1. You can change the connection only if you change one of the LDAPLinkURL or LDAPLinkSearchBase parameters. Users will not be orphaned if the new and old LDAPLinkURL and LDAPLinkSearchBase contain the same set of users.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run another LDAP Link session. The system attempts to re-synchronize LDAP and the database users. Because the connection has changed, the existing database users cannot be synchronized with the LDAP users from the new connection. These database users become orphaned.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As the dbadmin, you can identify orphaned users by checking the is_orphaned_from_ldap column in the &lt;a href=&#34;../../../en/sql-reference/system-tables/v-catalog-schema/users/#&#34;&gt;USERS&lt;/a&gt; system table:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; =&amp;gt; SELECT is_orphaned_from_ldap FROM users;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;A field value of &lt;code&gt;t&lt;/code&gt; indicates that the user is an orphaned user. Orphaned users cannot connect to the LDAP server and cannot login to the database using LDAP authentication (however, other authentication methods assigned to the user still work). In this case, you can delete the orphaned user and run the LDAP Link service to resynchronize users.&lt;/p&gt;
&lt;h2 id=&#34;re-parented-objects&#34;&gt;Re-parented objects&lt;/h2&gt;
&lt;p&gt;When you delete users or groups from the LDAP server, the LDAP Link service removes the same users and roles from the database, but does not delete objects owned by the deleted users and roles. To give these unowned objects a new owner, use the GlobalHeirUsername parameter, which specifies a user as the new parent for all objects originally owned by deleted users.&lt;/p&gt;
&lt;p&gt;For example, to give ownership of unowned objects to user1, creating the user if it does not already exist:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER DATABASE example_db SET PARAMETER GlobalHeirUsername=user1;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;By default, this parameter is set to &lt;code&gt;&amp;lt;auto&amp;gt;&lt;/code&gt; which re-parents objects to the dbadmin user.&lt;/p&gt;
&lt;p&gt;If GlobalHeirUsername is empty, objects are not re-parented to another user.&lt;/p&gt;
&lt;p&gt;For details, see &lt;a href=&#34;../../../en/sql-reference/config-parameters/security-parameters/#GlobalHeirUsername&#34;&gt;Security Parameters&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;User&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;user-conflicts&#34;&gt;User conflicts&lt;/h2&gt;
&lt;p&gt;The database users and roles synchronized using LDAP Link can become conflicted. Such conflicts can occur, for example, when you create a new user or group on the LDAP server and another user or role with the same name exists in the database.&lt;/p&gt;
&lt;p&gt;As the dbadmin, use one of the following parameters to resolve user conflicts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;LDAPLinkConflictPolicy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LDAPLinkStopIfZeroUsers&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;ldaplinkconflictpolicy&#34;&gt;LDAPLinkConflictPolicy&lt;/h3&gt;
&lt;p&gt;LDAPLinkConflictPolicy controls how the database behaves when it encounters a conflict. Changes to this parameter take effect during the next synchronization.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;LDAPLinkConflictPolicy=IGNORE ignores the incoming LDAP users and retains the existing database user&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LDAPLinkConflictPolicy=MERGE (default) merges the incoming LDAP user with the database user and converts the database user to an LDAP user, retaining the database user&#39;s objects.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, to set the parameter:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER DATABASE example_db SET PARAMETER LDAPLinkConflictPolcy=&amp;#39;MERGE&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;ldaplinkstopifzerousers&#34;&gt;LDAPLinkStopIfZeroUsers&lt;/h3&gt;
&lt;p&gt;LDAPLinkStopIfZeroUsers controls how the database behaves when the LDAP server has zero users during synchronization.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;LDAPLinkStopIfZeroUsers=0 does not stop the synchronization if no users are found in the LDAP server and all the database users are dropped.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;LDAPLinkStopIfZeroUsers=1 stops the synchronization if no users are found in the LDAP server and returns an error. Database users are not dropped.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ldap_link_dryrun-and-ldap_link_sync_start-do-not-populate-tables&#34;&gt;LDAP_LINK_DRYRUN and LDAP_LINK_SYNC_START do not populate tables&lt;/h2&gt;
&lt;p&gt;The dryrun and LDAP_LINK_SYNC_START functions must be run from the clerk node. To determine the clerk node, query &lt;a href=&#34;../../../en/sql-reference/system-tables/v-monitor-schema/node-resources/#&#34;&gt;NODE_RESOURCES&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sql&#34; data-lang=&#34;sql&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;SELECT&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;node_name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dbclerk&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;FROM&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;node_resources&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;WHERE&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dbclerk&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;t&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;node_name&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;     &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dbclerk&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;------------------+---------
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;v_vmart_node0001&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;t&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;k&#34;&gt;row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id=&#34;monitoring-ldap-link&#34;&gt;Monitoring LDAP link&lt;/h2&gt;
&lt;p&gt;Use the ldap_link_events table to monitor LDAP Link synchronization:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SELECT transaction_id, event_type, entry_name, entry_oid FROM ldap_link_events;
   transaction_id |    event_type      | entry_name | entry_oid
------------------+--------------------+------------+-----------
45035996273705317 | SYNC_STARTED       |            |         0
45066962732553589 | SYNC_FINISHED      |            |         0
45066988112255317 | PROCESSING_STARTED |            |         0
23411234566789765 | USER_CREATED       | tuser      | 234548899
(4 rows)
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
  </channel>
</rss>
