Configure user authentication through the SSPI-Kerberos security
plug-in on Windows hosts in your cluster.
About this task
To enable Kerberos authentication in the IBM® Spectrum Symphony cluster, you must configure all your Windows hosts (management, compute, and client) to use the sec_ego_sspikrb plug-in.
This task uses the following examples to illustrate a basic Kerberos scenario; ensure that you
modify this task as it applies to your production cluster:
-
Log on to the primary
host as cluster administrator and shut down the cluster:
egosh user logon –u Admin –x Admin
soamcontrol app disable all
egosh service stop all
egosh ego shutdown all
-
Modify the security configuration on all management hosts in your cluster.
-
On each management host, modify the following parameters in the
%EGO_CONFDIR%\ego.conf file:
- EGO_SEC_PLUGIN: Specify authentication through the
sec_ego_sspikrb plug-in when connecting to the IBM Spectrum Symphony cluster.
- EGO_SEC_CONF: Specify the plug-in's configuration in the format
path_to_plugin_conf_dir,created-ttl,plugin_log_level,path_to_plugin_log_dir
, where:
- path_to_plugin_conf_dir (required): Specifies the absolute path to the
sec_ego_sspikrb.conf file (created in the next step), which must be set to the
value of %EGO_CONFDIR% in your cluster.
- created_ttl (optional): Specifies a time-to-live duration (in minutes) for
the authentication token sent from the client to the server. Valid value is higher than 0 but lower
than 1440 minutes (24 hours). The default is 600 minutes (10 hours).
- plugin_log_level (optional): Specifies the log level for the plug-in. Valid
values are DEBUG, INFO, WARN, and
ERROR. As a best practice, set the log level as ERROR or
WARN. A lower level causes too many messages to be logged, making it harder to
troubleshoot if required. If this parameter is not configured, SSPI logs are not generated.
- path_to_plugin_log_dir (optional): Specifies the absolute path to the
directory where the plug-in's logs are located. If this parameter is not configured, SSPI logs are
not generated.
For
example:
EGO_SEC_PLUGIN=sec_ego_sspikrb
EGO_SEC_CONF=C:\Program Files\shareConf\kernel\conf,0,ERROR,C:\Program Files\IBM\SpectrumComputing\kernel\log
-
Create the sec_ego_sspikrb.conf file under
%EGO_CONFDIR% and define the following parameters in the file:
- KERBEROS_ADMIN (required): Specify the AD user that will map to the
built-in cluster administrator (Admin). When you use the
Admin user account to log on to your cluster, the
Admin account is mapped to the AD user that you specify as the
KERBEROS_ADMIN. You would then use the password of the AD user to log on.
Client logons with this AD user are treated as the Admin user (with its role
and permissions).
While you can configure this parameter as the cluster administrator OS user, it
is not required. Whichever user you specify, ensure that you include the user's domain in the format
domain\user. It is recommended that you
use the NETBIOS domain name. Also, ensure that all management hosts in your cluster use the same
value.
- KRB_SERVICENAME (required): Specify the service’s user account (the cluster
administrator OS user) or the service principal name (SPN).
- USERLOAD_DOMAIN (optional): Specify the domains from which users or user
groups (including universal user groups) are loaded, in the format
windows-domain1,windows-domain2,….
You can specify a maximum of 10 domains. Ensure that you use the NETBIOS domain name.
If you do
not configure this parameter, users and user groups are loaded from the primary host-located domain.
- CACHEEXPIRYTIME (optional): Specify the interval at which the user and user
group cache is refreshed. Default is 1 hour. You can specify the interval as a positive integer, or
a positive integer followed by a suffix representing days (d or
D), hours (h or H), or minutes
(m or M). If you do not specify a suffix, the integer
is considered in minutes.
- To specify an interval in days, enter a positive integer followed by d or
D. For example, 2D or 2d means
that the user cache is set to refresh every 2 days.
- To specify a duration in minutes or hours, enter a positive integer followed by
m or M for minutes or h or
H for hours. For example, 2m or
2 means that the user cache is set to refresh every 2 minutes;
2h means that the user cache is set to refresh every 2 hours.
- INCLUDED_USERGROUP (optional): Specify
the user groups (including universal user groups) to load to IBM Spectrum Symphony. Only users belonging to
the specified user groups are loaded; if the group contains subgroups, the subgroups and users in
the subgroups are not loaded. Use the format
domain-name1\groupname1,domain-name1\groupname2,....
Ensure that you use the NETBIOS domain name.
As a best practice, use this parameter to limit the
users you want to load to IBM Spectrum Symphony.
If you configure
this INCLUDED_USERGROUP parameter, you cannot configure the
EXCLUDED_USERGROUP parameter. If both parameters are configured, neither
parameter takes effect.
- EXCLUDED_USERGROUP (optional): Specify the user groups (including universal
user groups) from which users must not be loaded, in the format
domain-name1\groupname1,domain-name1\groupname2,....
Ensure that you use the NETBIOS domain name. For example, enter
EXCLUDED_USERGROUP=ad1\symUserGroup3,ad2\symUserGroup4.As a best practice, use
this parameter to limit the users you want to load to IBM Spectrum Symphony.
If you configure
this EXCLUDED_USERGROUP parameter, you cannot configure the
INCLUDED_USERGROUP parameter. If both parameters are configured, neither
parameter takes effect.
For
example:
KERBEROS_ADMIN=ad1\egoadmin
KRB_SERVICENAME=symService/${host}
USERLOAD_DOMAIN=ad1,ad2
CACHEEXPIRYTIME=12h
INCLUDED_USERGROUP=ad1\symphonyAdmins,ad1\symUserGroup1,ad2\symUniversalUserGroup2
-
Modify the configuration on all compute hosts in the cluster.
-
On each compute host, define the EGO_SEC_PLUGIN and
EGO_SEC_CONF parameters in %EGO_CONFDIR%\ego.conf, similar
to the configuration on management hosts in step 2.a. For example:
EGO_SEC_PLUGIN=sec_ego_sspikrb
EGO_SEC_CONF=C:\Program Files\IBM\SpectrumComputing\kernel\conf,0,ERROR,C:\Program Files\IBM\SpectrumComputing\kernel\log
-
Create the sec_ego_sspikrb.conf file under
%EGO_CONFDIR% and define the KERBEROS_ADMIN and
KRB_SERVICENAME parameters as configured on management hosts in step 2.b. For
example:
KRB_SERVICENAME=symService/${host}
KERBEROS_ADMIN=ad1\egoadmin
The
KERBEROS_ADMIN parameter is optional. If you define this parameter, use the
same value as on management hosts. When this parameter is defined on compute hosts, you can log on
to the cluster as the
Admin user with the password of the AD user that you
define as the
KERBEROS_ADMIN. When this parameter is not defined on compute
hosts and its value on management hosts is not
Admin (the default cluster
administrator user), you cannot use the
Admin user to log on from compute
hosts. Define this parameter if you want to use the
Admin user to run
IBM Spectrum Symphony commands or to run
application clients.
-
Modify the configuration on all client hosts in the cluster.
-
On each client host, define the EGO_SEC_PLUGIN and
EGO_SEC_CONF parameters in %SOAM_HOME%\conf\ego.conf,
similar to the configuration on compute hosts in step 3.a. For example:
EGO_SEC_PLUGIN=sec_ego_sspikrb
EGO_SEC_CONF=C:\Program Files\IBM\SpectrumComputing\SymphonyClient\Client731\conf,0,ERROR,C:\Program Files\IBM\SpectrumComputing\SymphonyClient\Client731\log
-
Create the sec_ego_sspikrb.conf file under
%SOAM_HOME%\conf\ and define the KERBEROS_ADMIN and
KRB_SERVICENAME parameters as configured on compute hosts in step 3.b. For
example:
KRB_SERVICENAME=symService/${host}
KERBEROS_ADMIN=ad1\egoadmin
-
From the primary host,
start the cluster and enable applications:
egosh ego start all
soamcontrol app enable application_name
The Kerberos security configuration takes effect in your cluster.
What to do next
Verify Kerberos authentication in your cluster. See Using Kerberos authentication in a Windows cluster.