Create a single sign-on for HTTP requests using the SPNEGO TAI (deprecated)
Create single sign-ons for HTTP requests using the SPNEGO trust association interceptor (TAI) for WAS requires the performance of several distinct, yet related functions that when completed, allow HTTP users to log in and authenticate only once at their desktop and receive automatic authentication from the WAS.
In WAS V 6.1, a TAI that uses the SPNEGO to securely negotiate and authenticate HTTP requests for secured resources was introduced. In WAS 7.0, this function is now deprecated. SPNEGO Web authentication has taken its place to provide dynamic reload of the SPNEGO filters and to enable fallback to the application login method. depfeat
Before starting this task, complete the following checklist:
- (Windows) A Microsoft Windows 2000 or Windows 2003 Server running the Active Directory Domain Controller and associated Kerberos Key Distribution Center (KDC).
- (Windows) A Microsoft Windows 2000 or Windows 2003 domain member (client) for example, a browser or Microsoft .NET client, that supports the SPNEGO authentication mechanism, as defined in IETF RFC 2478. Microsoft Internet Explorer V5.5 or later and Mozilla Firefox V1.0 qualify as such clients.
A running domain controller and at least one client machine in that domain is required. Trying to use SPNEGO directly from the domain controller is not supported
- The domain member has users who can log on to the domain. Specifically, we need to have a functioning Microsoft Windows 2000 or Windows 2003 active directory domain that includes:
- Domain controller
- Client workstation
- Users who can login to the client workstation
- A server platform with WAS running and application security enabled.
- Users on the active directory must be able to access WAS protected resources using a native WAS authentication mechanism.
- The domain controller and the host of WAS should have the same local time.
- Ensure the clock on clients, Microsoft Active Directory and WAS are synchronized to within five minutes.
- Be aware that client browsers have to be SPNEGO enabled, which you perform on the client application machine (with details explained in step 2 of this task).
The objective of this machine arrangement is to permit users to successfully access WAS resources without having to reauthenticate and thus achieve Microsoft Windows desktop single sign-on capability. Configuring the members of this environment to establish Microsoft Windows single sign-on involves specific activities that are performed on three distinct machines:
- Microsoft Windows 2000 or Windows 2003 Server running the Active Directory Domain Controller and associated Kerberos Key Distribution Center (KDC)
- A Microsoft Windows 2000 or Windows 2003 domain member (client application), such as a browser or Microsoft .NET client.
- A server platform with WAS running.
Perform the following steps on the indicated machines to create single sign-on for HTTP requests using SPNEGO
- Domain Controller Machine - Set the Microsoft Windows 2000 or Windows 2003 Server running the Active Directory Domain Controller and associated Kerberos Key Distribution Center (KDC) This configuration activity has the
- Create a user account for the WAS in a Microsoft Active Directory. This account will be eventually mapped to the Kerberos service principal name (SPN).
- On the Microsoft Active Directory machine where the Kerberos key distribution center (KDC) is active, map the user account to the Kerberos service principal name (SPN). This user account represents the WAS as being a Kerberize'd service with the KDC. Use the setspn command to map the Kerberos service principal name to a Microsoft user account. The topic, Create a Kerberos service principal and keytab file used by the WAS SPNEGO TAI (deprecated) has more details about using the setspn command.
- Create the Kerberos keytab file and make it available to WAS. Use the ktpass tool to create the Kerberos keytab file (krb5.keytab). The topic, Create a Kerberos service principal and keytab file used by the WAS SPNEGO TAI (deprecated) has more details about using the ktpass command. to create the keytab file.
You make the keytab file available to WAS by copying the krb5.keytab file from the Domain Controller (LDAP machine) to the WAS machine. See Use the ktab command to manage the Kerberos keytab file for more details.
Your domain controller operations must lead to the following results:
- A user account is created in the Microsoft Active Directory and mapped to a Kerberos service principal name.
- A Kerberos keytab file (krb5.keytab) is created and made available to the WAS. The Kerberos keytab file contains the Kerberos service principal keys WAS uses to authenticate the user in the Microsoft Active Directory and the Kerberos account.
- Client Application Machine - Set the client application.
Client-side applications are responsible for generating the SPNEGO token for use by the SPNEGO TAI. You begin this configuration process by configuring your Web browser to use SPNEGO authentication. See Set the client browser to use SPNEGO TAI (deprecated) for the detailed steps required for the browser.
- WAS Machine - Set and enable the appserver and the associated SPNEGO TAI by performing the following tasks:
- Ensure that LTPA is enabled. See Set the Lightweight Third Party Authentication mechanism for more details.
- Enable the SPNEGO TAI. See Set WAS and enabling the SPNEGO TAI (deprecated) for more details.
- Create SPNEGO TAI properties using either the wsadmin or the admin console.
- For using the wsadmin, see
- For using the admin console, see Set WAS and enabling the SPNEGO TAI (deprecated) for more details.
- Set JVM properties and enable the SPNEGO TAI in Application Server in which it is defined. See Set JVM custom properties, filtering HTTP requests, and enabling SPNEGO TAI in WAS (deprecated) or Enable the SPNEGO TAI as JVM custom property using scripting (deprecated) for more details.
- Install the Kerberos keytab file (created in step 1) on the WAS machine. Create a Kerberos service principal and keytab file used by the WAS SPNEGO TAI (deprecated) provides the details.
- Create a basic Kerberos configuration file (krb5.ini or krb5.conf). See The Kerberos configuration file for details.
- Map the client Kerberos principal name to the WebSphere user registry ID, but only if the WAS does not use Micorsoft Active Directory. See Mapping Kerberos client principal name to WebSphere user registry ID for SPNEGO TAI (deprecated) for more details.
- Use a remote HTTP server - To use a remote server, complete the following steps, which assume that we have already configured the JVM properties and enabled the SPNEGO TAI in the appserver in which it is defined (as described in the previous three steps).
- Complete the steps in Create a Kerberos service principal and keytab file used by the WAS SPNEGO TAI (deprecated) for the remote proxy server.
- Merge the previous keytab file created in step 1 with the keytab file created in step 4a. See Use the ktab command to manage the Kerberos keytab file for more information.
- Create the SPN for the remote proxy server using addSpnegoTAIProperties wsadmin.
- Restart the WAS.
Single sign-on for HTTP requests using SPNEGO TAI (deprecated)
Create a Kerberos service principal and keytab file used by the WAS SPNEGO TAI (deprecated)
Set WAS and enabling the SPNEGO TAI (deprecated)
Set the client browser to use SPNEGO TAI (deprecated)
Set JVM custom properties, filtering HTTP requests, and enabling SPNEGO TAI in WAS (deprecated)
Mapping Kerberos client principal name to WebSphere user registry ID for SPNEGO TAI (deprecated)
Single sign-on capability with SPNEGO TAI - checklist (deprecated)
Filtering HTTP requests for SPNEGO TAI (deprecated)
Related tasks
Enable the SPNEGO TAI as JVM custom property using scripting (deprecated)
Set the Lightweight Third Party Authentication mechanism
Implementing single sign-on to minimize Web user authentications
Related
SPNEGO TAI JVM configuration custom properties (deprecated)
SPNEGO TAI custom properties configuration (deprecated)
Use the ktab command to manage the Kerberos keytab file