5.2.4 統合ユーザ管理で使用するユーザ情報の管理方法
ここでは,統合ユーザ管理で使用するユーザ情報の管理方法について説明します。
統合ユーザ管理では,ユーザ情報を格納するリポジトリとして,LDAP,またはデータベースを使用します。LDAPディレクトリサーバでは,ユーザや組織の情報は,DITで管理されます。統合ユーザ管理フレームワークで使用するLDAPディレクトリサーバでは,ユーザおよびレルムをDITのエントリとして管理します。エントリは,DITを構成する情報で,DITの各節に該当する情報です。個々のエントリは,DN(識別名)で区別されます。
Application Serverでは,統合ユーザ管理フレームワークで使用するLDAPディレクトリサーバに格納する標準のユーザ管理リポジトリのDIT構造を規定しています。統合ユーザ管理フレームワークで使用するリポジトリは,2種類あります。
-
ユーザ情報リポジトリ
ユーザ情報を格納します。
-
シングルサインオン情報リポジトリ
統合ユーザ管理フレームワークのユーザマッピングを実行して,シングルサインオンでユーザ認証するための各システムの認証情報とマッピング情報を格納します。
これらのリポジトリは,次の図に示すようなディレクトリ構造を持ちます。
各リポジトリについて説明します。
(1) ユーザ情報リポジトリ(LDAPディレクトリサーバの場合)
ユーザ認証で使用するユーザ情報は,ユーザ情報リポジトリに格納します。統合ユーザ管理フレームワークは,LDAPディレクトリサーバのユーザ情報リポジトリに格納されたユーザ情報を基にユーザを認証して,認証したユーザの情報をアプリケーションに渡します。ユーザ情報リポジトリのユーザ情報の参照には,ユーザ認証ライブラリを使用します。ユーザ情報リポジトリのDIT構造を次の図に示します。
管理するレルムごとにユーザ情報リポジトリを設定してください。
(a) レルム
JAAS対応ユーザ管理のレルム名を指定します。レルム名は次の表に示す基準に従って指定してください。
情報の種類 |
意味 |
文法 |
---|---|---|
レルム名 |
ユーザ管理の範囲を示す識別子。 |
英数字列。 大文字と小文字を区別しません。 DN名で使用できる名前を付けてください。 |
(b) アプリケーション固有情報
該当レルムを使用する各アプリケーション固有の情報を格納する場合に使用してください。統合ユーザ管理フレームワークを使用する場合に必須な情報はありません。
(c) ユーザ認証ライブラリのベースDN
レルムに属するユーザエントリの上位エントリです。レルムに属する各ユーザのエントリは,このエントリの下階層にある必要があります。なお,ユーザエントリがこのエントリの直下にない場合は,ua.conf(統合ユーザ管理のコンフィグレーションファイル)のcom.cosminexus.admin.auth.ldap.search.scopeオプションを変更する必要があります。また,このエントリで指定した情報はjaas.conf(JAASのコンフィグレーションファイル)に指定する必要があります。各コンフィグレーションファイルについては,「14.2.1 jaas.conf(JAASのコンフィグレーションファイル)」を参照してください。
(d) ユーザエントリ
ユーザ情報を定義します。ユーザ認証ライブラリでは,ユーザ情報として次の表に示す属性が必要です。
属性名 |
説明 |
必須 |
---|---|---|
ユーザID |
ユーザIDを格納します。属性は,文字列(cisなど)である必要があります。デフォルトでは,「uid」属性名を使用します。 |
必須 |
パスワード |
パスワードを格納します。属性はバイナリです。平文または暗号化した値を格納します。この属性に値が指定されていない場合は,アカウントが無効になります。デフォルトでは,「userPassword」属性名を使用します。 |
オプション |
そのほかの属性 |
各アプリケーションが定義している属性です。 |
各アプリケーションの仕様に従ってください。 |
ユーザIDおよびパスワードの属性名は,jaas.conf(JAASのコンフィグレーションファイル)で変更できます。
(e) 注意事項
ユーザ情報リポジトリのディレクトリ構成は,JAAS対応ユーザ管理で推奨するDIT構成です。別の構成で管理する場合は「ユーザ認証ライブラリのベースDN」以下の次の条件を満たすユーザのエントリが必要です。
-
ユーザIDとパスワードは,同一オブジェクトクラス内にある必要があります。
-
パスワードの属性はバイナリである必要があります。また,暗号化した値が格納されていることを推奨します。平文で格納されている場合は,一度ldif形式のファイルに出力してからconvpwコマンドで暗号化して,再登録してください。convpwコマンドの詳細については,「convpw(パスワードの暗号化)」を参照してください。
-
ユーザIDおよびパスワードは,同じ属性名を使用してマルチバリューで指定できますが,アプリケーションサーバシステムの運用上,一つのオブジェクトクラス内に一つだけ指定してください。もし,複数指定した場合は,最初に見つかったものを使用します。
-
ユーザIDとして使用する属性のユーザIDは,レルム内(ユーザ情報リポジトリのベースDN下)で一意な値にしてください。
なお,ユーザ情報リポジトリのベースDN,使用するユーザIDおよびパスワードの属性名については,ua.conf(統合ユーザ管理のコンフィグレーションファイル)で指定します。ua.confについては,「14.2.2 ua.conf(統合ユーザ管理のコンフィグレーションファイル)」を参照してください。
(2) ユーザ情報リポジトリ(データベースの場合)
統合ユーザ管理フレームワークは,データベースに格納されたユーザ情報を基にユーザを認証できます。データベースでは,ユーザIDからパスワードを取得できるようにしてください。
(3) シングルサインオン情報リポジトリ
シングルサインオンでユーザ認証するための各システムの認証情報とマッピング情報は,シングルサインオン情報リポジトリに格納します。統合ユーザ管理フレームワークは,LDAPディレクトリサーバのシングルサインオン情報リポジトリに格納されたユーザ情報を基にユーザマッピングをして,シングルサインオンを実現します。シングルサインオン情報リポジトリのユーザ情報は,シングルサインオンライブラリを使用して参照します。シングルサインオン情報リポジトリのDIT構造を次の図に示します。
(a) シングルサインオン情報リポジトリのベースDN
シングルサインオンを使用するために必要な情報を管理するDITの,最上位のエントリです。このエントリは,ua.conf(統合ユーザ管理のコンフィグレーションファイル)で指定します。ua.confについては,「14.2.2 ua.conf(統合ユーザ管理のコンフィグレーションファイル)」を参照してください。なお,ここで指定する名称は,大文字と小文字が区別されません。この値は,標準のオブジェクトクラスである「organizationalUnit」のou属性に設定されます。
(b) レルム
ユーザ情報はレルムごとに管理されます。シングルサインオン情報リポジトリのレルム名では,大文字と小文字は区別されません。この値は,標準のオブジェクトクラスである「organizationalUnit」のou属性に設定されます。
(c) ユーザエントリ
シングルサインオンで接続したいアプリケーションで,ユーザ管理に使用しているユーザの認証情報および接続先を格納するためのエントリです。ユーザエントリの構造を次の図に示します。
- 管理用識別子
-
シングルサインオンライブラリで登録した際に自動的に設定される識別子です。
- ユーザID
-
各レルムで一意なユーザIDを文字列で指定します。ユーザIDでは,大文字と小文字は区別されます。
- 暗号化したデータ
-
登録する際に暗号化が必要なデータを格納します。例えば,パスワードは,この属性に格納することで,暗号化されて保存されます。
- 暗号化しないデータ
-
登録する際に暗号化する必要がない,ユーザIDおよび暗号化データ以外に認証に必要な情報を格納します。例えば,ユーザに付くグループIDを保存します。
- ユーザ管理を持つアプリケーションのユーザエントリのDN名
-
ここには,ユーザが接続する,ユーザ管理を持つアプリケーションのユーザ認証情報の格納先(DN名)が格納されます。この値は,複数指定できます。