Cosminexus V9 アプリケーションサーバ 機能解説 セキュリティ管理機能編
LDAPディレクトリサーバとしてActive Directoryを使用する場合の設定方法について説明します。
統合ユーザ管理フレームワークのライブラリを使用して,ユーザ情報リポジトリへのユーザの登録,ユーザ情報の更新(ユーザのパスワード変更を含む)を行う場合,Active Directory固有の環境設定,およびSSLを使用して接続するための証明書の登録が必要です。
LDAPディレクトリサーバとしてActive Directoryを使用する場合の設定項目を,次の表に示します。なお,使用するユーザ認証方式によって設定する項目が異なります。
表5-16 Active Directoryを使用する場合の設定項目一覧
設定項目 | パスワード認証 | パスワード変更およびユーザの追加・変更 | クライアント認証(X509証明書) | |
---|---|---|---|---|
jaas.confの設定 | 必要なログインモジュールの指定 | ○ | ○ | ○ |
ログインモジュールのオプションの指定 | △ | ○ | − | |
ua.confの設定 | ユーザ識別属性の指定 | ○ | ○ | ○ |
DNでユーザIDとして使用する属性名の指定 | − | − | ○ | |
パスワード属性の指定 | ○ | ○ | − | |
LDAPディレクトリサーバの種類の指定 | ○ | ○ | − | |
日本語など2バイト文字を含むDNの変換 | △ | △ | △ | |
URLプロトコルの変更 | △ | ○ | △ | |
SSL接続の設定 | △ | ○ | △ |
注※ パスワードの設定やユーザの追加・変更を実施する場合を示します。
Active Directory固有の環境設定の方法,およびSSLを使用して接続するための証明書の登録を次に示します。
jaas.confに設定する内容について説明します。
認証方式にパスワード認証を使用する場合はWebPasswordLDAPLoginModule,クライアント証明を使用する場合はWebCertificateLoginModuleを設定します。
WebPasswordLDAPLoginModuleのオプションに「ldap.w」を設定します。なお,SSOを使用する場合は「sso.ldap.w」を設定します。
ua.confに設定する内容について説明します。
ユーザ識別属性に,「cn」(フルネームに該当)または「sAMAccountName」を設定します。
設定例を次に示します。
com.cosminexus.admin.auth.ldap.attr.userid.0=cn
com.cosminexus.admin.auth.ldap.attr.userid.0=sAMAccountName
ユーザ識別属性を「sAMAccountName」に設定した場合リポジトリのユーザエントリ(RDN)の検索が必要となります。検索に必要なプロパティとその設定例を次に示します。
java.naming.security.principal.0=cn=Administrator,cn=Users,dc=cosminexus,dc=com java.naming.security.credentials.0=adminpassword com.cosminexus.admin.auth.ldap.search.userrdn.0=true com.cosminexus.admin.auth.ldap.search.scope.0=onelevel
なお,「sAMAccountName」をユーザ識別属性に使用する場合は,LdapUserDataManagerクラスのaddUserData(String uid, UserData userData)メソッドは使用できません。ユーザを追加する場合は addUserData(String uid, UserData userData, String name, String value)メソッドを使用してください。また,属性名の引数(String name)には,「cn」を設定してください。
クライアント証明書を使用する場合は,クライアント証明書に格納されているDN(クライアント証明書の被認証者識別名)を分解したあと,ユーザIDとして使用する属性名を設定します。設定例を次に示します。
com.cosminexus.admin.auth.ldap.certificate.attr.userid.0=cn
ここで指定する属性名は,「(a) ユーザ識別属性の指定」で指定するユーザ識別属性とは異なります。
パスワード属性に「unicodePwd」を設定します。設定例を次に示します。
com.cosminexus.admin.auth.ldap.attr.password.0=unicodePwd
接続先のLDAPディレクトリサーバの種類に「AD」を指定した行を追加します。LDAP設定番号が「0」の場合の設定例を次に示します。
com.cosminexus.admin.auth.ldap.directory.kind.0=AD
ua.confの次のパラメタに,日本語など2バイト文字を含むDNを設定する場合は,native2asciiコマンドを使用してUnicodeコードに変換してください。
native2asciiコマンドの実行形式を次に示します。
実行形式
<Application Serverのインストールディレクトリ>\jdk\bin\native2ascii <変換前のua.confファイル> <変換後のua.confファイル> |
変換後のua.confファイルを統合ユーザ管理のコンフィグレーションファイルとして使用します。
コード変換の例を次に示します。
java.naming.security.principal.0=cn=Administrator,cn=管理者,dc=aps,dc=co com.cosminexus.admin.auth.ldap.basedn.0=cn=ユーザ,dc=aps,dc=com |
native2ascii ua0.conf ua.conf
接続先のLDAPディレクトリサーバのURLのプロトコルに「ldaps」を設定します。設定例を次に示します。なお,ポート番号は省略できます。
J2EEサーバとActive Directory間の通信でSSLを使用するための証明書を登録します。証明書の登録方法を次に示します。
keytool -import -alias cakey -file C:\temp\cacer.cer -trustcacerts -keystore "<Application Serverのインストールディレクトリ>\jdk\jre\lib\security\cacerts"
/opt/Cosminexus/jdk/bin/keytool -import -alias cakey -file /tmp/cacer.cer -trustcacerts -keystore /opt/Cosminexus/jdk/jre/lib/security/cacerts
なお,keytoolで証明書を登録する際にJ2EEサーバを起動していた場合は,J2EEサーバを再起動してください。
注意事項を次に示します。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.