Secure Global Desktop 4.40 Administration Guide > Users and Authentication > LDAP Authentication
LDAP authentication allows users to log in to SGD if they have an entry in an LDAP directory.
This authentication mechanism is disabled by default.
This page includes the following topics:
At the SGD login screen, the user types either a common name (for example Indigo
Jones
), a user name (for example indigo
), or an email address (for example
indigo@indigo-insurance.com
) and a password.
SGD searches the LDAP directory for a person object with a cn
(common name)
attribute that matches the user name typed by the user. If there is no match, the
search is repeated on the uid
(username) attribute, and finally on the mail
(email
address) attribute. If a person object is not found, the next authentication mechanism is tried.
If a person object is found, the password typed by the user is checked against the LDAP person object. If the authentication fails, the next authentication mechanism is tried.
If the authentication succeeds, SGD searches the local repository for the user profile (see the following section). If the Login attribute of the user profile is not enabled, the user cannot log in and no further authentication mechanisms are tried. If the Login attribute of the user profile is enabled, the user is logged in.
The user identity is the LDAP identity.
In the SGD Administration Console, the user identity is displayed as LDAP-ID (LDAP)
.
On the command line, the user identity is displayed as .../_service/sco/tta/ldapcache/LDAP-ID
.
SGD establishes the user profile by searching the local repository, allowing for differences between the LDAP and SGD naming systems. SGD searches for the following until a match is found:
For example, if the LDAP person object is cn=Emma Rald,cn=Sales,dc=Indigo Insurance,dc=com
,
SGD searches the local repository for dc=com/dc=Indigo Insurance/cn=Sales/cn=Emma Rald
.
cn=LDAP Profile
.
For example, dc=com/dc=Indigo Insurance/cn=Sales/cn=LDAP Profile
.
cn=LDAP Profile
.
For example, dc=com/dc=Indigo Insurance/cn=LDAP Profile
.
If there is no match, the profile object System Objects/LDAP Profile
is used for the user profile.
You can use Active Directory authentication with Directory Services Integration. The applications assigned to Active Directory users come from a combination of the user profile and from LDAP searches.
Application sessions and password cache entries belong to the LDAP person object.
Before you enable LDAP authentication, make sure all the SGD servers in the array can contact each LDAP directory server used for authentication.
On the Global Settings » Secure Global Desktop Authentication tab, click the Change Secure Global Desktop Authentication button.
Use the Next and Previous buttons to move between the steps of the Wizard.
ldap://melbourne.indigo-insurance.com
.
ldaps://
URL and
install the root certificates for the LDAP directory servers.ldap://melbourne.indigo-insurance.com:5678
.ldap://melbourne.indigo-insurance.com/dc=indigo-insurance,dc=com
restricts the part of the LDAP directory used to search for the user identity.cn=sgd-user,cn=Users,dc=indigo-insurance,dc=com
.If you are using the LDAP authentication, SGD can prompt a user for a new password if their password has expired on the LDAP directory server. Additional configuration might be needed, as follows.
For Sun Java System Directory Servers (formerly known as Sun ONE, Netscape software, or iPlanet Directory Server) Sun One Directory Servers:
For Microsoft Active Directory, password expiry (including forcing the user to change their password at next logon) can only be handled if there is a secure connection between the SGD server and the Active Directory server. See Securing connections to LDAP directory servers for details.
Once LDAP authentication is enabled, any user with an entry in the LDAP directory can log in to SGD. However, you might not want all LDAP users to have access to SGD.
To restrict the LDAP users that can log in to SGD, you can configure a search filter so that only the users that have a required attribute value on their LDAP person object can log in to SGD. This requires extra configuration in the LDAP directory and in SGD.
To be able to apply a filter, SGD must be able to test for an attribute value on the
person object in the LDAP directory. You can use an attribute that already exists in your LDAP directory or create
a new attribute, for example an attribute called allowsgdlogin
.
This attribute must be set for all users in the LDAP directory.
Once you have configured the LDAP user object attribute, you configure the search filter to test for the LDAP attribute and allow users to log in if they meet the condition(s).
To set the search filter:
# tarantella config edit \ --searchldapla.properties-searchFilter (&({0}={1})(attribute_test))
For example:
# tarantella config edit \ --searchldapla.properties-searchFilter (&({0}={1})(allowsgdlogin=true))
Once the filter is enabled, only users who match the search filter can log in to SGD.
SGD caches the LDAP data it collects from an LDAP directory. If you find that SGD is not detecting changes, you can flush the cached data manually with the following command:
$ tarantella cache --flush ldapgroups | ldapconn | ldapconn-lookups | all
Note This command only flushes the cache on the SGD server on which the command is run.
Option | Description |
---|---|
ldapgroups |
Flushes the cache of all LDAP group data, used for Directory Services Integration. |
ldapconn |
Flushes the cache of all the IP address, domain and attribute data. |
ldapconn-lookups |
Flushes the cache of all LDAP search data, used for Directory Services Integration. |
all |
Flushes all LDAP data. |
You can configure an LDAP timeout in the event that the LDAP searches of an LDAP directory server fail. The LDAP timeout controls how long SGD waits for an LDAP directory server to respond to LDAP operations, such as requests for data. The default is 30 seconds. To change this timeout, run the following command:
$ tarantella config edit --tarantella-config-ldap-timeout secs
SGD makes two attempts to contact the LDAP directory server. If there is no response, SGD tries another LDAP directory server. The list of LDAP directory servers comes from the URLs configured for LDAP authentication. If all LDAP directory servers time out, SGD might not be able to authenticate users or use directory services integration (DSI.
Copyright © 1997-2007 Sun Microsystems, Inc. All rights reserved.