<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenText Analytics Database 26.2.x – LDAP authentication</title>
    <link>/en/security-and-authentication/client-authentication/ldap-authentication/</link>
    <description>Recent content in LDAP authentication on OpenText Analytics Database 26.2.x</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/en/security-and-authentication/client-authentication/ldap-authentication/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Security-and-Authentication: LDAP prerequisites and definitions</title>
      <link>/en/security-and-authentication/client-authentication/ldap-authentication/ldap-prerequisites-and-definitions/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/ldap-authentication/ldap-prerequisites-and-definitions/</guid>
      <description>
        
        
        &lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;Before you configure LDAP authentication for your OpenText™ Analytics Database you must have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;IP address and host name for the LDAP server. The database supports IPv4 and IPv6 addresses.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Your organization&#39;s Active Directory information.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A service account for search and bind.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Administrative access to your database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;open-ldap-tools&lt;/code&gt; package installed on at least one node. This package includes &lt;code&gt;ldapsearch&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;definitions&#34;&gt;Definitions&lt;/h2&gt;
&lt;p&gt;The following definitions are important to remember for LDAP authentication:

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



&lt;tr&gt; 

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

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

&lt;tr&gt; 

&lt;td &gt;
Host&lt;/td&gt; 

&lt;td &gt;


IP address or host name of the LDAP server. The database supports IPv4 and IPv6 addresses. For more information, see &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/configuring-client-authentication/#IPv4&#34;&gt;IPv4 and IPv6 for Client Authentication&lt;/a&gt;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Common name (CN)&lt;/td&gt; 

&lt;td &gt;
Depending on your LDAP environment, this value can be either the username or the first and last name of the user.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Domain component (DC)&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;Comma-separated list that contains your organization&#39;s domain component broken up into separate values, for example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;dc=vertica, dc=com&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Distinguished name (DN)&lt;/td&gt; 

&lt;td &gt;
&lt;em&gt;domain&lt;/em&gt;.com. A DN consists of two DC components, as in &amp;quot;DC=example, DC= com&amp;quot;.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Organizational unit (OU)&lt;/td&gt; 

&lt;td &gt;
Unit in the organization with which the user is associated, for example, OpenText Users.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
sAMAccountName&lt;/td&gt; 

&lt;td &gt;
An Active Directory user account field. This value is usually the attribute to be searched when you use bind and search against the Microsoft Active Directory server.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
UID&lt;/td&gt; 

&lt;td &gt;
A commonly used LDAP account attribute used to store a username.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Bind&lt;/td&gt; 

&lt;td &gt;
LDAP authentication method that allows basic binding using the DN.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Search and bind&lt;/td&gt; 

&lt;td &gt;
LDAP authentication method that must log in to the LDAP server to search on the specified attribute.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Service account&lt;/td&gt; 

&lt;td &gt;


An LDAP user account that can be used to log in to the LDAP server during bind and search. This account&#39;s password is usually shared.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
Anonymous binding&lt;/td&gt; 

&lt;td &gt;
Allows a client to connect and search the directory (search and bind) without needing to log in.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;ldapsearch&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
A command-line utility to search the LDAP directory. It returns information that you use to configure LDAP search and bind.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
basedn&lt;/td&gt; 

&lt;td &gt;
Distinguished name where the directory search should begin.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
binddn&lt;/td&gt; 

&lt;td &gt;
Domain name to find in the directory search.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
search_attribute&lt;/td&gt; 

&lt;td &gt;
Text to search for to locate the user record. The default is UID.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: LDAP authentication parameters</title>
      <link>/en/security-and-authentication/client-authentication/ldap-authentication/ldap-authentication-parameters/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/ldap-authentication/ldap-authentication-parameters/</guid>
      <description>
        
        
        &lt;p&gt;There are several parameters that you need to configure for LDAP authentication.&lt;/p&gt;
&lt;h2 id=&#34;general-ldap-parameters&#34;&gt;General LDAP parameters&lt;/h2&gt;
&lt;p&gt;Use the following parameters to configure for either LDAP bind or LDAP bind and search:

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



&lt;tr&gt; 

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

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

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;host&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;










&lt;p&gt;LDAP server URL in the following format:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;code&gt;schema&lt;/code&gt;&lt;/em&gt;&lt;code&gt;://host:&lt;/code&gt;&lt;em&gt;&lt;code&gt;optional_port&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Where &lt;em&gt;&lt;code&gt;schema&lt;/code&gt;&lt;/em&gt; is one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;ldap&lt;/code&gt;: The connection between OpenText™ Analytics Database and the LDAP server uses plaintext if &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/tls-ldap-authentication/&#34;&gt;TLSMODE of LDAPAuth&lt;/a&gt; is &lt;code&gt;DISABLE&lt;/code&gt;. Set TLSMODE to &lt;code&gt;ENABLE&lt;/code&gt; or higher for StartTLS (LDAP over TLS).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;ldaps&lt;/code&gt;: If the TLSMODE of LDAPAuth is &lt;code&gt;ENABLE&lt;/code&gt; or higher, the connection between the database and the LDAP server uses LDAPS.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
ldap_continue&lt;/td&gt; 

&lt;td &gt;




&lt;p&gt;When set to yes, this parameter allows a connection retry when a user not found error occurs during the previous connection attempt.&lt;/p&gt;
&lt;p&gt;For any other failure error, the system automatically retries the connection.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;starttls&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;














&lt;p&gt;Whether to request the connection between the database and the LDAP server during user authentication to be upgraded to TLS. You must &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/tls-ldap-authentication/&#34;&gt;configure the LDAPAuth TLS Configuration&lt;/a&gt; before using this parameter.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;starttls&lt;/code&gt; can be set to one of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;soft&lt;/code&gt;: If the server does not support TLS, use a plaintext connection. This value is equivalent to the &lt;code&gt;-Z&lt;/code&gt; option in &lt;code&gt;ldapsearch&lt;/code&gt;. If you use &lt;code&gt;soft&lt;/code&gt;, the database ignores the certificate verification policies of the TLSMODE in the &lt;code&gt;LDAPAuth&lt;/code&gt; &lt;a href=&#34;../../../../en/security-and-authentication/tls-protocol/tls-overview/tls-configs/&#34;&gt;TLS configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;hard&lt;/code&gt;: If the LDAP server does not support TLS, reject the connection. This value is equivalent to the &lt;code&gt;-ZZ&lt;/code&gt; in &lt;code&gt;ldapsearch&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Using &lt;code&gt;ldaps&lt;/code&gt; is equivalent to &lt;code&gt;starttls=&#39;hard&#39;&lt;/code&gt;. However, if you use them together in the same connection string, authentication fails and the following error appears:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;FATAL 2248: Authentication failed for username &amp;quot;&amp;lt;user_name&amp;gt;&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If &lt;code&gt;starttls&lt;/code&gt; is not set, whether TLS is requested and required depends on the value of the &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/tls-ldap-authentication/&#34;&gt;TLSMODE of the LDAPAuth TLS Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a name=&#34;LDAP-Bin&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;ldap-bind-parameters&#34;&gt;LDAP bind parameters&lt;/h2&gt;
&lt;p&gt;The following parameters create a bind name string, which specifies and uniquely identifies a user to the LDAP server. For details, see &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/workflow-configuring-ldap-bind/#&#34;&gt;Workflow for configuring LDAP bind&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To create a bind name string, you must set one (and only one) of the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Both &lt;code&gt;binddn_prefix&lt;/code&gt; and &lt;code&gt;binddn_suffix&lt;/code&gt; (must be set together)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;domain_prefix&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;email_suffix&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, if you set &lt;code&gt;binddn_prefix&lt;/code&gt; and &lt;code&gt;binddn_suffix&lt;/code&gt;, you cannot also set &lt;code&gt;email_suffix&lt;/code&gt;. Conversely, if you set &lt;code&gt;email_suffix&lt;/code&gt;, you cannot set &lt;code&gt;binddn_prefix&lt;/code&gt; and &lt;code&gt;binddn_suffix&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you do not set a bind parameter, the database performs bind and search operations instead of a bind operation.&lt;/p&gt;
&lt;p&gt;The following examples use the authentication record &lt;code&gt;v_ldap&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE AUTHENTICATION v_ldap METHOD &amp;#39;ldap&amp;#39; HOST &amp;#39;10.0.0.0/23&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;
&lt;table class=&#34;table table-bordered&#34; &gt;



&lt;tr&gt; 

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

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

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;binddn_prefix&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;









&lt;p&gt;First half of the bind string. If you set this parameter, you must also set &lt;code&gt;binddn_suffix&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, to construct the bind name &lt;strong&gt;&lt;code&gt;cn=&lt;/code&gt;&lt;/strong&gt;&lt;code&gt;exampleusername,cn=Users,dc=ExampleDomain,dc=com&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION v_ldap SET
    binddn_prefix=&amp;#39;cn=&amp;#39;, binddn_suffix=&amp;#39;,cn=Users,dc=ExampleDomain,dc=com&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;binddn_suffix&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;











&lt;p&gt;Second half of bind string.&lt;/p&gt;
&lt;p&gt;If you set this parameter, you must also set &lt;code&gt;binddn_prefix&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;For example, to construct the bind name &lt;code&gt;cn=exampleusername,&lt;/code&gt;&lt;strong&gt;&lt;code&gt;ou=ExampleUsers,dc=example,dc=com&lt;/code&gt;&lt;/strong&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION v_ldap SET
    binddn_prefix=&amp;#39;cn=&amp;#39;, binddn_suffix=&amp;#39;,ou=OrgUsers,dc=example,dc=com&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;domain_prefix&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;






&lt;p&gt;The domain that contains the user.&lt;/p&gt;
&lt;p&gt;For example, to construct the bind name &lt;strong&gt;&lt;code&gt;Example&lt;/code&gt;&lt;/strong&gt;&lt;code&gt;\exampleusername&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION v_ldap SET domain_prefix=&#39;Example&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;email_suffix&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;






&lt;p&gt;The email domain.&lt;/p&gt;
&lt;p&gt;For example, to construct the bind name &lt;code&gt;exampleusername@&lt;/code&gt;&lt;strong&gt;&lt;code&gt;example.com&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION v_ldap SET email_suffix=&#39;example.com&#39;;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;&lt;a name=&#34;LDAP-Bin2&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;ldap-search-and-bind-parameters&#34;&gt;LDAP search and bind parameters&lt;/h2&gt;
&lt;p&gt;Use the following parameters when authenticating with LDAP search and bind. For more information see &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/workflow-configuring-ldap-search-and-bind/#&#34;&gt;Workflow for configuring LDAP search and bind&lt;/a&gt;.

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



&lt;tr&gt; 

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

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

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;basedn&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Base DN for search.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;binddn&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Bind DN. Domain name to find in the directory search.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;bind_password&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Bind password. Required if you specify a binddn.&lt;/td&gt;&lt;/tr&gt;

&lt;tr&gt; 

&lt;td &gt;
&lt;code&gt;search_attribute&lt;/code&gt;&lt;/td&gt; 

&lt;td &gt;
Optional attribute to search for on the LDAP server.&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;The following example shows how to set these three attributes. In this example, it sets&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;binddn&lt;/code&gt; to &lt;code&gt;cn=Manager,dc=example,dc=com&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;bind_password&lt;/code&gt; to &lt;code&gt;secret&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;search_attribute&lt;/code&gt; to &lt;code&gt;cn&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION auth_method_name SET host=&amp;#39;ldap://example13&amp;#39;,
basedn=&amp;#39;dc=example,dc=com&amp;#39;,binddn=&amp;#39;cn=Manager,dc=example,dc=com&amp;#39;,
bind_password=&amp;#39;secret&amp;#39;,search_attribute=&amp;#39;cn&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &lt;code&gt;binddn&lt;/code&gt; and &lt;code&gt;bind_password&lt;/code&gt; parameters are optional. If you omit them, the database performs an anonymous search.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: TLS for LDAP authentication</title>
      <link>/en/security-and-authentication/client-authentication/ldap-authentication/tls-ldap-authentication/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/ldap-authentication/tls-ldap-authentication/</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 LDAPAuth context. For details on the LDAPLink context, 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;Keep in mind that configuring TLS for LDAP authentication does not encrypt the connection between OpenText™ Analytics Database and the client with TLS. To configure client-server TLS, see &lt;a href=&#34;../../../../en/security-and-authentication/tls-protocol/tls-overview/configuring-client-server-tls/#&#34;&gt;Configuring client-server TLS&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;configuring-ldap-authentication&#34;&gt;Configuring LDAP authentication&lt;/h2&gt;
&lt;p&gt;After a client successfully establishes a connection with the database, they must authenticate as a user before they can interact with the database. If the user has the &lt;code&gt;ldap&lt;/code&gt; authentication method, the database connects to the LDAP server to authenticate the user. To configure TLS for this context, use the following procedure.&lt;/p&gt;
&lt;h3 id=&#34;setting-the-ldapauth-tls-configuration&#34;&gt;Setting the LDAPAuth TLS configuration&lt;/h3&gt;
&lt;p&gt;The LDAPAuth TLS Configuration takes a client certificate and CA certificate created or imported with &lt;a href=&#34;../../../../en/sql-reference/statements/create-statements/create-certificate/#&#34;&gt;CREATE CERTIFICATE&lt;/a&gt;. The database presents the client certificate to the LDAP server for verification by its CA. The database uses the CA certificate to verify the LDAP server&#39;s certificate.&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 LDAPAuth 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 LDAPAuth:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ALTER TLS CONFIGURATION LDAPAuth 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 LDAPAuth 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 LDAPAuth:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER TLS CONFIGURATION LDAPAuth CERTIFICATE client_cert;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&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;div class=&#34;alert admonition note&#34; role=&#34;alert&#34;&gt;
&lt;h4 class=&#34;admonition-head&#34;&gt;Note&lt;/h4&gt;

The value of TLSMODE only applies to &lt;a href=&#34;../../../../en/sql-reference/statements/create-statements/create-authentication/&#34;&gt;authentication records&lt;/a&gt; where the &lt;code&gt;starttls&lt;/code&gt; &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-authentication-parameters/&#34;&gt;LDAP authentication parameter&lt;/a&gt; is set to &lt;code&gt;hard&lt;/code&gt; or not set at all. If &lt;code&gt;starttls&lt;/code&gt; is set to &lt;code&gt;soft&lt;/code&gt;, the database establishes a TLS connection without verifying the LDAP server&#39;s certificate and falls back to a plaintext connection if the LDAP server does not support TLS. For details, see the next section.

&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER TLS CONFIGURATION LDAPAuth 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 LDAPAuthConfigParameter parameter is using the TLS Configuration:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; SHOW CURRENT LDAPAuthTLSConfig;
  level  |       name        | setting
---------+-------------------+----------
 DEFAULT | LDAPAuthTLSConfig | LDAPAuth
(1 row)
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;creating-an-ldap-authentication-record&#34;&gt;Creating an LDAP authentication record&lt;/h3&gt;
&lt;p&gt;After a client successfully establishes a connection with the database, they must authenticate as a user before they can interact with the database. If the user has the &lt;code&gt;ldap&lt;/code&gt; authentication method, the database connects to the LDAP server and attempts a bind to authenticate the user.&lt;/p&gt;
&lt;p&gt;To view existing authentication records, query &lt;a href=&#34;../../../../en/sql-reference/system-tables/v-catalog-schema/client-auth/#&#34;&gt;CLIENT_AUTH&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For details on the parameters referenced in this procedure, see &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-authentication-parameters/#&#34;&gt;LDAP authentication parameters&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../en/sql-reference/statements/create-statements/create-authentication/&#34;&gt;CREATE&lt;/a&gt; an authentication record with an LDAP method.&lt;/p&gt;
&lt;p&gt;Syntax for creating an LDAP authentication record:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE AUTHENTICATION &lt;span class=&#34;code-variable&#34;&gt;auth_record_name&lt;/span&gt; method &amp;#39;ldap&amp;#39; HOST &amp;#39;&lt;span class=&#34;code-variable&#34;&gt;user_connection_source&lt;/span&gt;&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;For example, to create an LDAP authentication record that applies to users that connect from any host:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE AUTHENTICATION ldap_auth METHOD &amp;#39;ldap&amp;#39; HOST &amp;#39;0.0.0.0/0&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../en/sql-reference/statements/alter-statements/alter-authentication/&#34;&gt;ALTER&lt;/a&gt; the authentication record to to set the host and port (optional) of the LDAP server and the domain name (&lt;em&gt;&lt;code&gt;basedn&lt;/code&gt;&lt;/em&gt;) and bind distinguished name (&lt;code&gt;binddn&lt;/code&gt;).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;To use a plaintext connection between the database and the LDAP server (disable TLS):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Begin the &lt;code&gt;host&lt;/code&gt; URL with &lt;code&gt;ldap://&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the TLSMODE of &lt;code&gt;LDAPAuth&lt;/code&gt; to &lt;code&gt;DISABLE&lt;/code&gt; and verify that &lt;code&gt;starttls&lt;/code&gt; is not set.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To use StartTLS and reject plaintext connections:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Begin the &lt;code&gt;host&lt;/code&gt; URL with &lt;code&gt;ldap://&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the TLSMODE of &lt;code&gt;LDAPAuth&lt;/code&gt; to &lt;code&gt;ENABLE&lt;/code&gt; or higher. The database only verifies the LDAP server&#39;s certificate if TLSMODE is set to &lt;code&gt;TRY_VERIFY&lt;/code&gt; or higher.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Verify that &lt;code&gt;starttls&lt;/code&gt; is set to &lt;code&gt;hard&lt;/code&gt; or not set.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To use StartTLS, but still accept a plaintext connection if the LDAP server cannot be upgrade the connection to TLS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Begin the &lt;code&gt;host&lt;/code&gt; URL with &lt;code&gt;ldap://&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set &lt;code&gt;starttls&lt;/code&gt; to &lt;code&gt;soft&lt;/code&gt; and the TLSMODE of &lt;code&gt;LDAPAuth&lt;/code&gt; to &lt;code&gt;ENABLE&lt;/code&gt; or higher. The database does not verify the server&#39;s certificate before establishing the connection and ignores the certificate verification policy of the LDAPAuth TLSMODE.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To use LDAPS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Begin the &lt;code&gt;host&lt;/code&gt; URL with &lt;code&gt;ldaps://&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TLSMODE of &lt;code&gt;LDAPAuth&lt;/code&gt; to &lt;code&gt;ENABLE&lt;/code&gt; or higher.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This example authentication record searches for users in the active directory &lt;code&gt;orgunit.example.com&lt;/code&gt; on an LDAP server with an IP address of 192.0.2.0 on port 5389 and requires a TLS connection to the LDAP server:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION ldap_auth SET
    host=&amp;#39;ldap://192.0.2.0:5389&amp;#39;,
    basedn=&amp;#39;ou=orgunit,dc=example,dc=com&amp;#39;,
    binddn_prefix=&amp;#39;cn=&amp;#39;,
    binddn_suffix=&amp;#39;,ou=orgunit,dc=example,dc=com&amp;#39;,
    starttls=&amp;#39;hard&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The &lt;code&gt;binddn_prefix&lt;/code&gt; and &lt;code&gt;binddn_suffix&lt;/code&gt; combine to create the full DN. That is, for some database user asmith, &#39;&lt;code&gt;cn=&lt;/code&gt;&lt;strong&gt;&lt;code&gt;asmith&lt;/code&gt;&lt;/strong&gt;&lt;code&gt;,ou=orgunit,dc=example,dc=com&lt;/code&gt;&#39; is the full DN when the database attempts the bind.&lt;/p&gt;
&lt;p&gt;To modify the &lt;code&gt;ldap_auth&lt;/code&gt; authentication record to request StartTLS, but still accept plaintext connections, set the &lt;code&gt;starttls&lt;/code&gt; parameter to &lt;code&gt;soft&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION ldap_auth SET starttls=&amp;#39;soft&amp;#39;;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enable the authentication record:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; ALTER AUTHENTICATION ldap_auth ENABLE;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;../../../../en/sql-reference/statements/grant-statements/grant-authentication/&#34;&gt;GRANT&lt;/a&gt; the authentication record to a user or role.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; GRANT AUTHENTICATION ldap_auth TO asmith;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In this case, when the user asmith attempts to log in, the database constructs the distinguished name &#39;cn=asmith,ou=orgunit,dc=example,dc=com&#39; from the search base specified in the ldap_auth, connects to the LDAP server, and attempts to bind it to the database user. If the bind succeeds, the database allows asmith to log in.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;heading&#34;&gt;&lt;/h2&gt;

      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: Authentication fallthrough for LDAP</title>
      <link>/en/security-and-authentication/client-authentication/ldap-authentication/authentication-fallthrough-ldap/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/ldap-authentication/authentication-fallthrough-ldap/</guid>
      <description>
        
        
        &lt;p&gt;To use multiple search attributes for a single LDAP server or to configure multiple LDAP servers, create a separate authentication record for each search attribute or server and enable &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/fallthrough-authentication/&#34;&gt;authentication fallthrough&lt;/a&gt; on each &lt;code&gt;ldap&lt;/code&gt; record except the last (&lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/authentication-record-priority/&#34;&gt;in order of priority&lt;/a&gt;).&lt;/p&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples&lt;/h2&gt;
&lt;p&gt;The following example creates two authentication records, &lt;code&gt;vldap1&lt;/code&gt; and &lt;code&gt;vldap2&lt;/code&gt;. Together, they specify that the LDAP server should first search the entire directory (&lt;code&gt;basedn=dc=example,dc=com&lt;/code&gt;) for a DN with an OU attribute &lt;code&gt;Sales&lt;/code&gt;. If the first search returns no results or otherwise fails, the LDAP server should then search for a DN with the OU attribute &lt;code&gt;Marketing&lt;/code&gt;:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE AUTHENTICATION vldap1 method &amp;#39;ldap&amp;#39; HOST &amp;#39;10.0.0.0/8&amp;#39; FALLTHROUGH;
=&amp;gt; ALTER AUTHENTICATION vldap1 PRIORITY 1;
=&amp;gt; ALTER AUTHENTICATION vldap1
      SET host=&amp;#39;ldap://ldap.example.com/search&amp;#39;,
      basedn=&amp;#39;dc=example,dc=com&amp;#39;,
      search_attribute=&amp;#39;Sales&amp;#39;;
=&amp;gt; GRANT AUTHENTICATION vldap1 to public;
&lt;/code&gt;&lt;/pre&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;=&amp;gt; CREATE AUTHENTICATION vldap2 method &amp;#39;ldap&amp;#39; HOST &amp;#39;10.0.0.0/8&amp;#39;;
=&amp;gt; ALTER AUTHENTICATION vldap2 PRIORITY 0;
=&amp;gt; ALTER AUTHENTICATION vldap2 SET
      host=&amp;#39;ldap://ldap.example.com/search&amp;#39;,
      basedn=&amp;#39;dc=example,dc=com&amp;#39;,
      search_attribute=&amp;#39;Marketing&amp;#39;;
=&amp;gt; GRANT AUTHENTICATION vldap2 to public;
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Security-and-Authentication: LDAP bind methods</title>
      <link>/en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/</guid>
      <description>
        
        
        &lt;p&gt;There are two LDAP methods that you use to authenticate your OpenText™ Analytics Database against an LDAP server.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Bind—Use LDAP bind when the database connects to the LDAP server and binds using the CN and password. (These values are the username and password of the user logging into the database). Use the bind method when your LDAP account&#39;s CN field matches that of the username defined in your database. For more information see &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/workflow-configuring-ldap-bind/#&#34;&gt;Workflow for configuring LDAP bind&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Search and Bind —Use LDAP search and bind when your LDAP account&#39;s CN field is a user&#39;s full name or does not match the username defined in your database. For search and bind, the username is usually in another field such as UID or sAMAccountName in a standard Active Directory environment. Search and bind requires your organization&#39;s Active Directory information. This information allows the database to log into the LDAP server and search for the specified field. For more information see &lt;a href=&#34;../../../../en/security-and-authentication/client-authentication/ldap-authentication/ldap-bind-methods/workflow-configuring-ldap-search-and-bind/#&#34;&gt;Workflow for configuring LDAP search and bind&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are using search and bind, having a service account simplifies your server side configuration. In addition, you do not need to store your Active Directory password.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;ldap-anonymous-binding&#34;&gt;LDAP anonymous binding&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Anonymous binding&lt;/em&gt; is an LDAP server function. Anonymous binding allows a client to connect and search the directory (bind and search) without logging in because binddn and bindpasswd are not needed.&lt;/p&gt;
&lt;p&gt;You also do not need to log in when you configure LDAP authentication using Management Console.&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
