Set up Kerberos as the authentication mechanism for WAS
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 krb5.keytab file must to be protected.
- Configure a key distribution center (KDC).
- Create a Kerberos service principal name and krb5.keytab
- Create a Kerberos service principal name and krb5.keytab file. 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 allowed by the KDC. However, for SPNEGO web authentication, the service name must be HTTP. An example of a WAS ID is...
WAS/myhost.mpls.myco.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.mpls.myco.com, server2.mpls.myco.com and server3.mpls.myco.com), the Kerberos administrator must create the following Kerberos service principals:
- WAS/server1.mpls.myco.com
- WAS/server2.mpls.myco.com
- WAS/server3.mpls.myco.com
The Kerberos krb5.keytab file contains all of the SPNs for the node and must be protected. This file can be placed in the config/cells/cell directory.
- Create a Kerberos configuration file
- 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 WAS, this configuration file should be placed in the directory...
config/cells/cell
...so that all application servers can access this file. If we do not have a Kerberos configuration file, use a wsadmin command to create one.
- Configure Kerberos as the authentication mechanism for WAS using the administrative console
- Use the administrative console to configure Kerberos as the authentication mechanism for the application server. When we 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.
- Map a client Kerberos principal name to the WebSphere user registry ID
- We 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.
- Set up Kerberos as the authentication mechanism for the pure Java client (optional)
- A Java client can authenticate with the WAS using a Kerberos principal name and password or with the Kerberos credential cache (krb5Ccache).
See also
- Create a Kerberos service principal name and krb5.keytab
- Create a Kerberos configuration file
- Configure Kerberos as the authentication mechanism
- Map a client Kerberos principal name to the WebSphere user registry ID
- Configure a Java client for Kerberos authentication
- Authenticating users
- Configure CSIv2 inbound and outbound communication settings
- Configure SPNEGO web authentication
- Kerberos authentication commands
- SPNEGO web authentication configuration commands
- Use the ktab command to manage the Kerberos krb5.keytab
- Kerberos: The Network Authentication Protocol