スタンドアロン・カスタム・レジストリー
スタンドアロン・カスタム・レジストリー は、カスタマー実装レジストリーで、製品が提供する UserRegistry Java™ インターフェースを実装します。カスタマー実装レジストリーは、リレーショナル・データベース、 フラット・ファイルなどからの、事実上あらゆるタイプのアカウント・リポジトリーをサポートすることができます。 カスタム・ユーザー・レジストリーでは、統合リポジトリー、スタンドアロン Lightweight Directory Access Protocol (LDAP) レジストリー、またはローカル・オペレーティング・システム・レジストリー以外の何らかのレジストリーやリポジトリーが既に動作環境に存在する各種の環境に対して、製品セキュリティーを非常に柔軟に適応させることができます。
WebSphere® Application Server セキュリティーにより、さまざまなローカル・オペレーティング・システム・ベースのレジストリーや、さまざまなスタンドアロン Lightweight Directory Access Protocol (LDAP) ベースのレジストリーを使用する実装が提供されます。ただし、ユーザーおよびグループのデータが他のリポジトリーまたはカスタム・ユーザー・レジストリー (データベースなど) にあり、 この情報をローカル・オペレーティング・システム・レジストリーまたはスタンドアロン LDAP レジストリー実装のいずれかに移動することができない場合があります。 この場合は、WebSphere Application Server セキュリティーにより、実装すると現行のレジストリーと対話できるサービス・プロバイダー・インターフェース (SPI) が提供されます。 カスタム・レジストリー・フィーチャーでは、WebSphere Application Server で実装されていないユーザー・レジストリーもサポートしています。
SPI は、UserRegistry インターフェースです。 UserRegistry インターフェース は、許可を行うために必要なメソッドの集合体です。これらのメソッドは、パスワードまたは証明書のどちらかを使用して個々のユーザーを認証し、特権属性と呼ばれるユーザー情報を収集します。 このインターフェースには、ユーザーおよびグループにリソースへのアクセス権を与えることができるように、 そのユーザーやグループに関する情報を取得するメソッドも含まれています。 インターフェース内のメソッドを実装する際には 、UserRegistry インターフェースが取り扱う情報をレジストリー内の情報にマップする方法を決める必要があります。
このインターフェースには、製品のセキュリティーを確保するために実装する一連のメソッドが用意されており、これらのメソッドを介してセキュリティー関連のすべてのタスクに関わるレジストリーとの対話を行います。提供されるローカル・オペレーティング・システムおよび LDAP レジストリー実装でも、このインターフェースが実装されます。カスタム・ユーザー・レジストリーは、プラグ可能ユーザー・レジストリー と呼ばれたり、 略してカスタム・レジストリー と呼ばれたりします。 カスタム・ユーザー・レジストリー実装は、スレッド・セーフであると予想されます。
カスタム・レジストリーのビルドは、ソフトウェア実装の作業です。 この実装は、運用に際して他の WebSphere Application Server リソース (例えばデータソース) には依存しません。
カスタム・レジストリーの実装が、データ・ソース、エンタープライズ Bean などの任意の WebSphere Application Server コンポーネントに依存していないか確認してください。 セキュリティーは、始動中に、他のほとんどの WebSphere Application Server コンポーネントより前に初期化されて使用可能になるため、このような依存関係がないようにしてください。 直前の実装がこれらのコンポーネントを使用した場合は、依存関係を除去するように変更します。
- ユーザーのセキュリティー名
ユーザー名は、ローカル・オペレーティング・システム・レジストリーのユーザー名と同様のものです。
ユーザー名は、オペレーティング・システム・レジストリーのユーザー・プロファイルと同様のものです。
- この名前は、セキュア・アプリケーションでプロンプトが出された場合に、ログインで使用されます。 デフォルトでは、Enterprise JavaBeans (EJB) getCallerPrincipal メソッドと、getRemoteUser および getUserPrincipal サーブレット・メソッドがこの名前を戻します。 ユーザー・セキュリティー名は、userSecurityName、userName、 または user name とも表示されます。
- WAS_UseDisplayName
- これは、ユーザー・レジストリーのカスタム・プロパティーです。このプロパティーは、getCallerPrincipal()、getUserPrincipal()、および RemoteUser() メソッドの戻り値を定義します。以下に WAS_UseDisplayName の許容値を示します。
- false これはデフォルトです。セキュリティー名が返されます。
- true 表示名が返されます。この設定では、カスタム・プロパティー com.ibm.websphere.security.useLoggedSecurityName が true に設定されている必要があります。
- 固有のユーザー ID
- この ID は、ユーザーの固有 ID を表します。これは、 UserRegistry インターフェースで必要です。固有 ID は、Windows システムのシステム ID (SID)、Linux と UNIX システムの Unique ID (UID)、Lightweight Directory Authentication Protocol (LDAP) の識別名 (DN) のようなものです。 この ID は、uniqueUserId とも表示されます。固有 ID は、保護リソースの許可を決定する際に使用されます。
- 表示ユーザー名
この名前は、ユーザーを記述する オプションのストリングです。実装では、通知目的でのみ表示名が使用できます。表示名は必須ではなく、また固有のものである必要もありません。 ユーザー・インターフェースで表示名を使用すると、 ユーザーに関する情報をより多く表示することができます。
表示名は、ユーザー・プロファイルのテキスト記述です。
- グループのセキュリティー名
- この名前はセキュリティー・グループを表し、groupSecurityName、groupName、 およびグループ名 とも表示されます。
- 固有のグループ ID
- 固有 ID はグループの ID です。この名前は、uniqueGroupId ID とも表示されます。
- 表示グループ名
- 表示名は、グループを記述するオプションのストリングです。
トピック UserRegistry インターフェースに、 実装が必要なインターフェースの各メソッドの詳細が説明されています。 各メソッドの説明とサンプルにおけるその使用法、 およびバージョン 4 インターフェースからの変更点が示されています。 関連リファレンスのセクションでは、ファイル・ベースのレジストリー・サンプルを含む、 他のすべてのカスタム・ユーザー・レジストリーの文書へのリンクが提供されています。提供されるサンプルは、 簡単なもので、このフィーチャーの習熟を目的としています。このサンプルは、 実稼働環境では使用しないでください。