Setting up Kerberos as the authentication mechanism for WebSphere Application Server

You must perform the steps to set up Kerberos as the authentication mechanism for WebSphere® Application Server.

About this task

Note: Kerberos authentication mechanism on the server side must be done by the system administrator and on the Java™ client side by end users. The Kerberos keytab file must to be protected.

You must first ensure that the KDC is configured. For more information, see your Kerberos Administrator and User's guide.

Avoid trouble: When configuring the envar file for a z/OS® KDC, order the encryption types from most secure to least secure for the SKDC_TKT_ENCTYPES environment variable. The z/OS KDC prefers to use the encryption types that are first in the list, from left to right.

You must perform the following steps to set up Kerberos as the authentication mechanism for WebSphere Application Server.

Procedure

  1. Create a Kerberos service principal name and keytab file.
    1. You can create a Kerberos service principal name and keytab file when using Microsoft Windows, iSeries, Linux, Solaris, Massachusetts Institute of Technology (MIT) and z/OS operating systems key distribution centers (KDCs).
      Kerberos prefers servers and services to have a host-based service ID. The format of this ID is <service name>/<fully qualified hostname>. The default service name is WAS. For Kerberos authentication, the service name can be any strings that are allowed by the KDC. However, for SPNEGO web authentication, the service name must be HTTP. An example of a WebSphere Application Server ID is WAS/myhost.austin.ibm.com.

      Each host must have a server ID unique to the host name. All processes on the same node share the same host-based service ID.

      A Kerberos administrator creates a Kerberos service principal name (SPN) for each node in the WebSphere cell. For example, for a cell with three nodes (such as server1.austin.ibm.com, server2.austin.ibm.com and server3.austin.ibm.com), the Kerberos administrator must create the following Kerberos service principals: WAS/server1.austin.ibm.com, WAS/server2.austin.ibm.com, and WAS/server3.austin.ibm.com.

      The Kerberos keytab filekrb5.keytab contains all of the SPNs for the node and must be protected. This file can be placed in the config/cells/<cell_name> directory.

      Read the Creating a Kerberos principal and keytab article for more information.

  2. Create a Kerberos configuration file.
    1. The IBM® implementation of the Java Generic Security Service (JGSS) and KRB5 require a Kerberos configuration file krb5.conf or krb5.ini on each node or Java virtual machine (JVM). In this release of WebSphere Application Server, this configuration file should be placed in the config/cells/<cell_name> directory so that all application servers can access this file. If you do not have a Kerberos configuration file, use a wsadmin command to create one.
      Read the Creating a Kerberos configuration article for more information.
  3. Configure Kerberos as the authentication mechanism for WebSphere Application Server by using the administrative console.
    1. Use the administrative console to configure Kerberos as the authentication mechanism for the application server. When you have entered and applied the needed information to the configuration, the Kerberos service principal name is formed as <service name>/<fully qualified hostname>@KerberosRealm, and is used to verify incoming Kerberos token requests.
      Read the Configuring Kerberos as the authentication mechanism using the administrative console article for more information.
  4. Map a client Kerberos principal name to the WebSphere user registry ID.
    1. You can map the Kerberos client principal name to the WebSphere user registry ID for both Simple and Protected GSS-API Negotiation (SPNEGO) web authentication and Kerberos authentication.
      Read the Mapping of a client Kerberos principal name to the WebSphere user registry ID article for more information.
  5. Optionally, set up Kerberos as the authentication mechanism for the pure Java client.
    1. A Java client can authenticate with the WebSphere Application Server by using a Kerberos principal name and password or with the Kerberos credential cache (krb5Ccache).
      Read the Configuring a Java client for Kerberos authentication article for more information.