LDAP/AD Authentication: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(47 intermediate revisions by 3 users not shown)
Line 1: Line 1:
QPR ProcessAnalyzer uses two methods for authenticating users:
== Overview ==
*the built-in authentication method in which the user is authenticated against the passwords in QPR ProcessAnalyzer database
*the LDAP (Lightweight Directory Access Protocol) authentication method in which the user is authenticated by validating the username against a corporate LDAP server


== Configuring the Authentication Settings ==
Lightweight Directory Access Protocol/Active Directory (LDAP) is a method where users are authenticated by validating the username against an external LDAP/AD server. Note that user accounts with corresponding names need to be created to the QPR ProcessAnalyzer database before user can login (using the [[Manage_Users_and_Groups|Manage Users]] dialog). Also the combination of the built-in and the LDAP authentication can be used. It works in a way that if the LDAP method fails, the built-in method is used.


The authentication method options can be configured in the PA_CONFIGURATION table in the QPR ProcessAnalyzer database. The relevant options are listed in the following table:
== Configuring Authentication Settings ==
<!-- Begin nested table -->
Authentication related settings are configured in the [[PA_Configuration_database_table|PA_CONFIGURATION]] table in the QPR ProcessAnalyzer database. The settings are as follows:
{|
|
{| class="wikitable" style="text-align: left"
{| class="wikitable" style="text-align: left"
!Name !!Description!!Value
!Name
!Description
|-
|-
|AuthenticationMethod ||Indicates which authentication method is used.
|AuthenticationMethod ||Indicates which authentication method is used. Options:
||*1 = The user is authenticated against the passwords in QPR ProcessAnalyzer database.<br>
*'''1''': Users are authenticated using the passwords in QPR ProcessAnalyzer database (Built-in authentication). Default value.
*2 = The user is authenticated using the LDAP method by validating the username against a corporate LDAP server.<br>
*'''2''': Users are authenticated using the LDAP method by validating the username against the LDAP server.
*3 = The user is authenticated using both methods: if LDAP authentication fails, then logging in will be done using the built-in authentication method.
*'''3''': Users are authenticated using both methods: if LDAP authentication fails, then logging in will be done using the built-in authentication method.
|-
|-
|LDAPConnectionString
|LDAPConnectionString
||The IP address of the LDAP server. ||
||The IP address for establishing the connection to the LDAP server. Append ''':3268''' to the end of the address if you want to use Global Catalog by default. Format: '''xx.x.xx.xxx'''
 
|-
|-
|LDAPUserFilter
|LDAPUserFilter
||This string is used by the LDAP library to locate and search the user from corporate LDAP server.
||Additional LDAP filter expression for the query to find the user. For example '''(&(objectclass=person))'''. Note that some special characters in literals of the filter expression need to be escaped (more information: https://ldapwiki.com/wiki/DN%20Escape%20Values).
||
 
|-
|-
|LDAPUserSearchBase
|LDAPUserSearchBase
||The distinguished name of the object at which to start the search. ||
||Distinguished name of the object at which to start the search. For example '''dc=local'''. Note that some special characters in the distinguished names need to be escaped (more information: https://ldapwiki.com/wiki/DN%20Escape%20Values).
 
|-
|-
|LDAPUserIdAttributeName
|LDAPUserIdAttributeName
||The user id attribute name. ||
||User id attribute name. For example '''sAMAccountName''' or '''uid'''.
 
|-
|-
|LDAPServerUserName
|LDAPServerUserName
||The distinguished name of the user.
||Distinguished name of the user to login to the AD/LDAP server.
||
 
|-
|-
|LDAPServerPassword
|LDAPServerPassword
||The password of the user.
||Password of the user to login to the AD/LDAP server.
||
|}
 
|-
|SandboxDatabaseConnectionString || ||If set, defines the connection string to ETL sandbox database. If not defined, running ETL scripts is not possible.
 
|-
|AllowNonTemporaryETLTargetTable
||false ||Are ETL scripts allowed to create global temporary database tables (tables starting with ##).


|-
== Creating Users for LDAP Authentication==
|DatabaseBulkCopyTimeout
The LDAP authentication can be used in QPR ProcessAnalyzer Server (Pro).
||600 ||BulkCopyTimeout given for non-sandbox SqlBulkCopy operations.


|-
1. Edit the LDAP authentication options of the '''PA_CONFIGURATION''' table in the QPR ProcessAnalyzer database, or run the following query to the QPR ProcessAnalyzer database:
|DatabaseBulkCopyBatchSize
<pre>
||5000 ||BulkCopyBatchSize given for non-sandbox SqlBulkCopy operations.
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='AuthenticationMethod';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPConnectionString';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPUserFilter';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPUserSearchBase';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPUserIdAttributeName';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPServerUserName';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPServerPassword';
</pre>
:Replace '''<value>''' in the script with your own specific LDAP settings. Note that you need to allow built-in authentication at this point, so define the value of '''AuthenticationMethod''' to be '''1'''. For more information on the values, see the table above.


|-
2. Log in to QPR ProcessAnalyzer as a user that has '''All''' and '''Administrator''' rights.<br>
|SandboxDatabaseBulkCopyTimeout
3. Create a new user account in the [[Manage_Users_and_Groups|Manage Users]] dialog. The username in QPR ProcessAnalyzer must match the LDAP username.<br>
||600 ||BulkCopyTimeout given for sandbox SqlBulkCopy operations.
4. To allow users to authenticate using the LDAP method, change the value of '''AuthenticationMethod''' in '''PA_CONFIGURATION''' table to either '''2''' (to allow only LDAP authentication) or '''3''' (to allow also built-in authentication in case the LDAP authentication fails).


|-
Note that if the user (other than an Administrator) has successfully been authenticated using the LDAP method, this user is not able to change his or her own password in QPR ProcessAnalyzer.
|SandboxDatabaseBulkCopyBatchSize
||5000 ||BulkCopyBatchSize given for sandbox SqlBulkCopy operations.
 
|-
|DeleteModelsInRecycleBinOnStartup ||0 ||If set to non-zero and a client connects to the database, core will automatically launch a background thread that will start deleting models and projects that have been moved to recycle bin (non-permanently deleted).
 
|}
|} <!-- End nested table -->

Latest revision as of 15:08, 10 February 2024

Overview

Lightweight Directory Access Protocol/Active Directory (LDAP) is a method where users are authenticated by validating the username against an external LDAP/AD server. Note that user accounts with corresponding names need to be created to the QPR ProcessAnalyzer database before user can login (using the Manage Users dialog). Also the combination of the built-in and the LDAP authentication can be used. It works in a way that if the LDAP method fails, the built-in method is used.

Configuring Authentication Settings

Authentication related settings are configured in the PA_CONFIGURATION table in the QPR ProcessAnalyzer database. The settings are as follows:

Name Description
AuthenticationMethod Indicates which authentication method is used. Options:
  • 1: Users are authenticated using the passwords in QPR ProcessAnalyzer database (Built-in authentication). Default value.
  • 2: Users are authenticated using the LDAP method by validating the username against the LDAP server.
  • 3: Users are authenticated using both methods: if LDAP authentication fails, then logging in will be done using the built-in authentication method.
LDAPConnectionString The IP address for establishing the connection to the LDAP server. Append :3268 to the end of the address if you want to use Global Catalog by default. Format: xx.x.xx.xxx
LDAPUserFilter Additional LDAP filter expression for the query to find the user. For example (&(objectclass=person)). Note that some special characters in literals of the filter expression need to be escaped (more information: https://ldapwiki.com/wiki/DN%20Escape%20Values).
LDAPUserSearchBase Distinguished name of the object at which to start the search. For example dc=local. Note that some special characters in the distinguished names need to be escaped (more information: https://ldapwiki.com/wiki/DN%20Escape%20Values).
LDAPUserIdAttributeName User id attribute name. For example sAMAccountName or uid.
LDAPServerUserName Distinguished name of the user to login to the AD/LDAP server.
LDAPServerPassword Password of the user to login to the AD/LDAP server.

Creating Users for LDAP Authentication

The LDAP authentication can be used in QPR ProcessAnalyzer Server (Pro).

1. Edit the LDAP authentication options of the PA_CONFIGURATION table in the QPR ProcessAnalyzer database, or run the following query to the QPR ProcessAnalyzer database:

UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='AuthenticationMethod';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPConnectionString';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPUserFilter';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPUserSearchBase';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPUserIdAttributeName';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPServerUserName';
UPDATE PA_CONFIGURATION SET CFG_VALUE='<value>' WHERE CFG_KEY='LDAPServerPassword';
Replace <value> in the script with your own specific LDAP settings. Note that you need to allow built-in authentication at this point, so define the value of AuthenticationMethod to be 1. For more information on the values, see the table above.

2. Log in to QPR ProcessAnalyzer as a user that has All and Administrator rights.
3. Create a new user account in the Manage Users dialog. The username in QPR ProcessAnalyzer must match the LDAP username.
4. To allow users to authenticate using the LDAP method, change the value of AuthenticationMethod in PA_CONFIGURATION table to either 2 (to allow only LDAP authentication) or 3 (to allow also built-in authentication in case the LDAP authentication fails).

Note that if the user (other than an Administrator) has successfully been authenticated using the LDAP method, this user is not able to change his or her own password in QPR ProcessAnalyzer.