Configure the appliance to authenticate the users by using a TLS user
certificate.
Before you begin
Before you specify this method of user authentication, you must obtain the required certificates
and specify validation of the user certificates that you intend to use. You import the user
certificates that are going to be allowed to connect. You then create definition objects for the
certificates, which are used when you create a validation credential (valcred) object (see certificate and valcred).
If you are using certificates other than the default one for the Web UI and REST API on your
appliance, and have configured server profiles for this purpose, then you must also set the options
in the server profiles to request and require client authentication, and to validate the client
certificate. See Creating a TLS server profile.
About this task
You can use the command line interface (CLI) to configure role based management to specify that
the appliance uses TLS user certificates.
Procedure
-
Connect to the IBM® MQ Appliance as described in
Command line access. Log in as an administrative user.
-
Type
config
to enter global configuration mode.
-
Type the following command to configure role based management:
-
Enter the following command to specify the TLS certificate authentication method:
-
Specify the validation credentials that you have previously defined for this purpose:
- If required, specify that the common name part of the user's distinguished name is used
as the user id for authentication:
au-ssl-user-attribute cn
By
default, the authenticated principal for a TLS user certificate is the distinguished name (DN) of
the certificate subject in X.509 format, converted to lower case, and with any embedded whitespace
removed. For example, the TLS certificate subject
C=GB, ST=Hursley, L=Hursley, O=IBM, OU=MQ
Appliance, CN=Jo Jo
becomes the authenticated principal
c=gb,st=hursley,l=hursley,o=ibm,ou=mqappliance,cn=jojo
. You can, however, specify
that the common name portion of the full name is used, so, in the example,
jojo
is
the user id. The user id is displayed in the title bar of the Web UI.
- If required, use the
au-user-map
command to specify username mapping so
that user names as specified in the TLS certificates are mapped onto usernames in a format that can
be used by IBM MQ. See Using an alternative user name (TLS certificate).
-
Optionally specify fallback users who can log in to the appliance if the certificate is not
available. Fallback users must already have been added as local users to the appliance. You can
specify that all local users are fallback users by entering the following command:
fallback-login local
Alternatively, you can specify one or more
particular users by entering the following commands:
fallback-login restricted
fallback-user localuser1
fallback-user localuser2
...
fallback-user localuserN
-
Alter the default cache settings, if required. By default, the appliance caches results of
authentication attempts for 600 seconds, but you can change the mode of caching, and the caching
duration by entering the following commands:
au-cache-mode mode
au-cache-ttl seconds
Where mode is one of:
- absolute
-
Caches the results of user authentications for a period of time specified by the
au-cache-ttl command (the explicit time-to-live). This is the default
setting.
- disabled
-
Disables caching. The appliance will not cache any results and instead always authenticates every
time a user requests access.
- maximum
-
Compares the explicit TTL to the TTL contained in the response (if any) and cache authentication
results for the maximum of the two values.
- minimum
-
Compares the explicit TTL to the TTL contained in the response (if any) and cache authentication
results for the minimum of the two values.
-
Click Apply to apply your changes.
Example
mqa# config
Global configuration mode
mqa(config)# rbm
Modify RBM Settings configuration
mqa(config rbm)# au-method client-ssl
mqa(config rbm)# au-valcred mycredname
mqa(config rbm)# au-ssl-user-attribute cn
mqa(config rbm)# fallback-login local
mqa(config rbm)# exit
mqa(config)# write memory
Overwrite previously saved configuration? Yes/No [y/n]: y
Configuration saved successfully.
What to do next
After you specify the user authentication method, you must next configure credential
mapping.