ソリューションの初期インストールの後に、デフォルトで基本ユーザー・レジストリーがインストールされます。ただし、基本ユーザー・レジストリーは、パスワード・ポリシー、パスワードの長さ、パスワードの有効期限、およびユーザー・ロックアウトをサポートしていません。ソリューションが Lightweight
Directory Access Protocol (LDAP) ユーザー・レジストリーと連携するように構成してください。LDAP ユーザー・レジストリーは、他のユーザー・レジストリー構成よりもパフォーマンスに優れ、拡張が容易です。
始める前に
注: LDAP ユーザー・レジストリーを使用するよう IBM® Intelligent Operations Center を構成する前に、LDAP サーバーにセキュアなパスワード・ポリシーがあることを確認する必要があります。セキュアな LDAP パスワード・ポリシーがないと、IBM Intelligent Operations Center に対する HTTP 基本認証要求を使用したブルート・フォース・アタックによって、ユーザーのパスワードが解読されてしまう恐れがあります。
LDAP ユーザー・レジストリー構成を使用するには、ソリューションの初期インストールが完了した後で、追加の構成手順を実行する必要があります。このソリューションでは、特定のユーザーおよびユーザー・グループが LDAP ユーザー・レジストリー内に存在している必要があります。管理者は、外部ユーザー・レジストリー管理ツールを使用してユーザーを追加できます。
このタスクについて
- 以下の手順はプラットフォーム・インストールに特化したものであり、アプリケーション・サーバーおよびデータ・サーバーでファイルの更新および DB2® コマンドの実行を行うための必須権限が必要になります。
- 以下の手順に示されているコマンドの db2.instance.user 変数、ioc.user 変数、liberty_install_dir 変数、および liberty.instance.name 変数を、ioc.install.properties インストール・プロパティー・ファイルに構成されている値で置き換えます。
- DB2 インスタンスのユーザー変数である db2.instance.user のデフォルト値は db2i1own で、ioc.user 変数のデフォルト値は iocadmin です。
- liberty_install_dir 値は WebSphere® Application Server Liberty Profile インストール・ディレクトリーであり、liberty.instance.name 値は Liberty インスタンスの名前です。
手順
- 以下の手順のいずれかを使用して、LDAP ユーザー・ディレクトリー設定を構成します。
- 以下のサンプル値を参考に、システム・プロパティーを作成または更新します。
- LdapDNPrefix (サンプル値: uid)。このプロパティー値は、識別名を形成するためにユーザー名に接頭部として追加するストリングを指定します。
- LdapServerCredentials (サンプル値: {"uid":"cn=root","pw":"my_password"})。このプロパティー値は、LDAP ユーザー・レジストリーに対する読み取り/書き込み権限を持つユーザーの資格情報を指定します。
- LdapServerQueryOnlyCredentials (サンプル値 {"uid":"cn=binduser","pw":"my_bindpassword"})。このプロパティー値は、LDAP ユーザー・レジストリーに対する読み取り専用権限を持つユーザーの資格情報を指定します。
- LdapProviderUrl (サンプル値: ldap://<ldap_server_name>:
389)
- LdapUserFilter (サンプル値: ou=users,ou=swg,o=ibm,c=us)
- LdapGroupFilter (サンプル値: ou=groups,ou=swg,o=ibm,c=us)
- ソリューションに役割を追加するには、LdapRoleFilter (サンプル値: ou=roles,ou=swg,o=ibm,c=us) が設定されている必要があります。LdapRoleFilter システム・プロパティーの値は、LDAP ユーザー・レジストリーの役割の組織単位の DN です。詳しくは、役割に対する LDAP サポートの構成を参照してください。
- LdapBaseDN (サンプル値: ou=swg,o=ibm,c=us)
- LdapUserObjectClass (サンプル値: inetOrgPerson)。
- DB2 インスタンスのユーザー、db2.instance.user でデータ・サーバーにログオンします。例えば、db2i1own としてログオンします。以下のサンプル・コマンドと同じように DB2 コマンドを入力します。root_password はユーザー・レジストリーがインストールされているサーバーのルート・パスワード、LDAP_host_name はユーザー・レジストリー・サーバーのホスト名です。各コマンドは 1 行で入力してください。
db2 connect to iocdb
db2 "update IOC.SysProp
set value = '{¥"uid¥":¥"cn=root¥",¥"pw¥":¥"root_password¥"}'
where name = 'LdapServerCredentials'"
db2 "update IOC.SysProp
set value = '{¥"uid¥":¥"cn=root¥",¥"pw¥":¥"query_user¥"}'
where name = 'LdapServerQueryOnlyCredentials"
db2 "update IOC.SysProp
set value = 'ldap://LDAP_host_name:389'
where name = 'LdapProviderUrl'"
db2 "update IOC.SysProp
set value = 'DN' where name = 'LdapDNPrefix'"
db2 "update IOC.SysProp
set value = 'ou=myg,o=abc,c=us' where name = 'LdapBaseDN'"
db2 "update IOC.SysProp
set value = 'ou=groups,ou=myg,o=abc,c=us' where name = 'LdapGroupFilter'"
db2 "update ioc.sysprop
set value = 'ou=users,ou=myg,o=abc,c=us'
where name = 'LdapUserFilter'"
db2 "update IOC.SysProp
set value = 'inetOrgPerson' where name = 'LdapUserObjectClass'"
db2 "update IOC.SysProp
set value = 'ou=roles,ou=myg,o=abc,c=us' where name = 'LdapRoleFilter'"
注: DB2 コマンドを使用して
IOC.SysProp 表を更新する際に、システム・プロパティーのキャッシュが原因で、変更内容が有効になるまでに最大で 15 分の遅延が発生することがあります。この遅延を回避するには、以下の URI にあるシステム・プロパティー REST サービスを使用して、システム・プロパティーを更新します。
/ibm/ioc/api/sysprop-service/sysprops
- LdapRegistry.xml ファイルを更新します。
- アプリケーション・サーバーに ioc.user ユーザーとしてログオンします。例えば、iocadmin としてログオンします。
- liberty_install_dir/usr/servers/liberty.instance.name ディレクトリーの LdapRegistry.xml ファイルを編集します。ここで、liberty_install_dir は WebSphere Application Server Liberty Profile インストール・ディレクトリーであり、liberty.instance.name は Liberty インスタンスの名前です。 例えば、/opt/IBM/WebSphere/wlp/usr/servers/iocsvr1/LdapRegistry.xml ファイルを編集します。
- baseDN、host、bindDN、bindPassword、sslEnabled、および port 属性の正しい値を使用して、ファイルを変更します。 以下に例を示します。
<server description="LDAP registry configuration">
<ldapRegistry realm="BasicRegistry"
baseDN="ou=swg,o=abc,c=us" host="ldapserver.abc.com" port="389" ignoreCase="<true>"
ldapType="IBM Tivoli Directory Server"
bindDN="cn=root" bindPassword="{xor}Lz4sLCgwlST="
sslEnabled="false" searchTimeout="8m">
<idsFilters groupMemberIdMap="groupOfUniqueNames:uniqueMember"
userFilter="(&(uid=%v)(objectclass=inetOrgPerson))" userIdMap="*:uid" groupFilter="(&(cn=%v)(objectclass=groupOfUniqueNames))">
</idsFilters>
<contextPool enabled="true" initialSize="1" maxSize="0" preferredSize="3" timeout="0ms" waitTime="3000ms"/>
<ldapCache>
<attributesCache enabled="true" size="4000" sizeLimit="2000" timeout="1200ms"/>
<searchResultsCache enabled="true" resultsSizeLimit="1000" size="2000" timeout="600ms"/>
</ldapCache>
</ldapRegistry>
</server>
注: 以下のコマンドを使用して、アプリケーション・サーバーか分析サーバーに
bindPassword の暗号化した値を作成できます。
liberty_install_dir/bin/securityUtility encode passwrd
以下に例を示します。
/opt/IBM/WebSphere/wlp/bin/securityUtility encode mybindpassword
- 変更内容を保存します。
- server.xml ファイル内のユーザー・レジストリー接続詳細を更新します。
- liberty_install_dir/usr/servers/defaultServer ディレクトリーの server.xml ファイルを編集します。 例えば、/opt/IBM/wlp/usr/servers/defaultServer/server.xml ファイルを編集します。
- <basicRegistry>...</basicRegistry> タグおよびこれらのタグの間の内容を、<include location="LdapRegistry.xml"/> に置き換えます。
- 変更内容を保存します。
- ioc.user ユーザーとして、以下のコマンドを実行して、サーバーを再始動します。
liberty_install_dir/bin/server stop liberty.instance.name
liberty_install_dir/bin/server start liberty.instance.name --clean
例えば、iocadmin ユーザーとして以下のコマンドを実行します。
/opt/IBM/WebSphere/wlp/bin/server stop iocsvr1
/opt/IBM/WebSphere/wlp/bin/server start iocsvr1 --clean
- ユーザー属性を LDAP 内のフィールドにマップするには、トピック『LDAP 内のフィールドへのユーザー属性のマッピング』を参照してください。
- 分析サーバーでステップ 2 から 5 を繰り返します。
- オプション: Secure Sockets Layer (SSL) 経由の接続を許可するよう LDAP サーバーが構成されている場合、以下のステップを実施して IBM Intelligent Operations Center と LDAP サーバーの間の SSL 通信を構成できます。
- アプリケーション・サーバーに ioc.user ユーザーとしてログオンします。例えば、iocadmin としてログオンします。
- 以下のコマンドを実行して、LDAP サーバー証明書を取り出します。LDAP_host_name:port は LDAP サーバーの完全修飾ホスト名と SSL ポート番号です。
su - ioc.user
cd liberty_install_dir/usr/servers/liberty.instance.name/resources/security
openssl s_client -showcerts -connect LDAP_host_name:port </dev/null 2>/dev/null | openssl x509 -outform PEM > LDAP_Server_cert.pem
以下に例を示します。
su - iocadmin
cd /opt/IBM/WebSphere/wlp/usr/servers/iocsvr1/resources/security
openssl s_client -showcerts -connect ldapserver.abc.com:636 </dev/null 2>/dev/null | openssl x509 -outform PEM > LDAP_Server_cert.pem
- 以下のコマンドを実行して、WebSphere Application Server Liberty Profile に LDAP サーバー証明書をインポートします。keystore_password は鍵ストアのパスワードです。
/opt/ibm/java-x86_64-80/jre/bin/keytool -import -keystore key.jks -alias LDAP_Server_cert¥
-file LDAP_Server1_cert.pem -storepass keystore_password -noprompt -trustcacerts
- liberty_install_dir/usr/servers/liberty.instance.name ディレクトリーの LdapRegistry.xml ファイルを編集します。
- sslEnabled 属性を "true" に設定します。
- port 属性に SSL ポート番号を設定します。例えば、636 などです。
- ioc.user ユーザーとして、以下のコマンドを実行して、サーバーを再始動します。
liberty_install_dir/bin/server stop liberty.instance.name
liberty_install_dir/bin/server start liberty.instance.name --clean
例えば、iocadmin ユーザーとして以下のコマンドを実行します。
/opt/IBM/WebSphere/wlp/bin/server stop iocsvr1
/opt/IBM/WebSphere/wlp/bin/server start iocsvr1 --clean
- 分析サーバーでステップ a から e を繰り返します。
次のタスク
ユーザー・レジストリーへ接続するためにソリューションで使用されるパスワードが期限切れになるか変更された場合は、LdapServerCredentials システム・プロパティーの更新方法についてトピック『LdapServerCredentials パスワードの保守』を参照してください。