Table of Contents

WebSphere Console LDAP Authentication

Summary: An howto on how to get the WebSphere Integrated Solutions Console to authenticate administrators through LDAP (from AD 2008).
Date: Around 2013
Refactor: 1 May 2025: Checked links and formatting.

This is an howto on how to get the WebSphere Integrated Solutions Console to authenticate administrators through LDAP, in our case Microsoft's Active Directory 2008. This is installed with Windows Server 2008 and Active Directory.

Overview

By default, when WebSphere gets installed everybody can access the WebSphere portal because there is no security. This is how the portal looks like:

websphereldap01.jpg


As you can see, the console can be reached with this url:

http://fqdn-of-server:9060/ibm/console

And as you can see as well, there's no password field.

Now we want secured access to the console, and we want to centrally administrate the users who will access the console. To do so, we have to follow these steps:

After securing the console will be reachable on this url:

https://fqdn-of-server:9043/ibm/console

Prerequisites

Before the above setup can be configured we first have to create the groups on which WebSphere Roles can be associated:

GroupName WebSphere Role Short Description
WebSphereAdministrators Administrator, iscadmins Full Permissions and the possibility to grant permissions to users and groups
WebSphereOperators Operator Change the status of Application Servers (start,stop,etc)
WebSphereReadOnly Monitor View Application Server status

For more information about the WebSphere Roles see the resources below.

Backup

Create a backup of the existing configuration. See the WebSphere Management Script for more information on how to do that.

Enable Administrative Security

Follow these steps to enable administrative security:

Configure Federated Repositories

In the same page as for the previous section, follow these steps to configure Federated Repositories:


Now configure the repositories, starting with the InternalFileRepository and than AD-LDAP.

Configure the InternalFileRepository

Configure a LDAP Repository

In the same page as before click “Manage repositories” to start configuring the LDAP repository:

The configuration now looks like this:

websphereldap02.jpg


Configure Federated Repositories II

Now go back to the “Federated repositories” page to add the LDAP repository to the realm:

Now the federated repositories look like this:

websphereldap03.jpg


Set up Administrative Group Roles

Before we can setup Administrative Group Roles we first have to enable WebSphere to access the just created LDAP repository. To do so, we have to restart the WebSphere console. Since the console is part of the deployment manager you can restart the deployment manager. See the WebSphere Management Script for more information on how to do that.

After restart, you can login, but you'll need to login with the configured local account:

websphereldap04.jpg


After logging in expand the “Users and Groups” section and click “Administrative Group Roles” to start granting roles:

Now the “Administrative Group Roles” look like this:

websphereldap05.jpg


root@aix:/opt/sft/${COMP}-${ENV}/WAS_Profiles/${COMP}-${ENV}.AppSrv/bin>syncNode.sh localhost
NOTE: If you come across one of these errors you haven't synchronized your application servers properly:
SECJ0305I: The role-based authorization check failed for admin-authz operation Server:stop. The user UNAUTHENTICATED (unique ID: unauthenticated) was not granted any of the following required roles: operator, administrator.
[11/5/10 11:44:58:890 GMT+01:00] 00000034 MBeanHelper ...<cut>... ADMN0022E: Access is denied for the stop operation on Server MBean because of insufficient or empty credentials.

Test

I added myself to the WebSphereReadOnly group and when I logged in to the WebSphere Console the control buttons for stopping and starting the application server were gone.

Then I added myself to the WebSphereAdministrators group and it worked:

ADMN1020I: An attempt is made to stop the Monitoring_server server. (User ID = defaultWIMFileBasedRealm/ldapsjoerd)

Then I tried to stop the application servers from the commandline, and also here was authentication required. I gave incorrect credentials when stopping the last application server. As you can see, the stopping of all application servers was successful, except for the last one:

Stopping server Front
ADMU0116I: Tool information is being logged in file
           ../logs/Front_Server/stopServer.log
ADMU0128I: Starting tool with the AppSrv profile
ADMU3100I: Reading configuration for server: Front_Server
Realm/Cell Name: <default>
Username: ldapsjoerd
Password:
ADMU3201I: Server stop request issued. Waiting for stop status.
ADMU4000I: Server Front_Server stop completed.

Stopping server JMS
ADMU0116I: Tool information is being logged in file
           ../logs/JMS_Server/stopServer.log
ADMU0128I: Starting tool with the AppSrv profile
ADMU3100I: Reading configuration for server: JMS_Server
Realm/Cell Name: <default>
Username: test
Password:
ADMU0111E: Program exiting with error: javax.management.JMRuntimeException:
           ADMN0022E: Access is denied for the stop operation on Server MBean
           because of insufficient or empty credentials.
ADMU4113E: Verify that username and password information is correct.  If
           running tool from the command line, pass in the correct -username
           and -password.  Alternatively, update the <conntype>.client.props
           file.
ADMU1211I: To obtain a full trace of the failure, use the -trace option.
ADMU0211I: Error details may be seen in the file:
           ../logs/JMS_Server/stopServer.log
NOTE: The dmgr can only be stopped with the local account (sjoerd).

Monitoring

After setting up security, and when running monitoring add authentication information to the monitor. See below for required information (which can all be found inside the node and application server configuration):

You can check the service by going to this url:

http://ndhost.company.local:9030/wasPerfTool/servlet/perfservlet?connector=SOAP&port=8879&host=ndhost.company.local&username=test&password=xxxxxxxx

Troubleshooting

Logging as defined user works, but not through group membership

If you can login using a user defined in the user roles, but not as a user who is defined a member of a group defined in group roles, select the “ignore case for authorization” in the federated repositories configuration.

This is why:

Optional: Verify that the Ignore case for authorization option is enabled. When you enable this option, the authorization check is case insensitive. Normally, an authorization check involves checking the complete DN of a user, which is unique in the LDAP server and is case sensitive. However, when you use either the IBM Directory Server or the Sun ONE (formerly iPlanet) Directory Server LDAP servers, you must enable this option because the group information that is obtained from the LDAP servers is not consistent in case. This inconsistency affects the authorization check only. Otherwise, this field is optional and can be enabled when a case sensitive authorization check is required. For example, you might select this option when you use certificates and the certificate contents do not match the case of the entry in the LDAP server.

And here is the source