WebSphere Application Server Network Deployment, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

役割ベースの許可

呼び出し元がサービスの要求に必要な特権を持っているかどうかを判別するためには、許可情報を使用します。

次の図は、許可中に使用されるプロセスを表しています。

Web クライアントからの Web リソース・アクセスは、Web コラボレーターによって処理されます。 Java クライアント (エンタープライズ Bean またはサーブレット) からの Enterprise JavaBeans (EJB) リソース・アクセスは、 EJB コラボレーターによって処理されます。 EJB コラボレーターと Web コラボレーターは、 オブジェクト・リクエスト・ブローカー (ORB) の現行オブジェクトからクライアント信任状を抽出します。 クライアント・クレデンシャルは、認証プロセスの際に、ORB Current オブジェクトで受け取ったクレデンシャルとして設定されます。 リソースと受信されたクレデンシャルは WSAccessManager アクセス・マネージャーに提示され、 クライアントに対して、そのクライアントが要求しているリソースへのアクセスが許可されているかどうかがチェックされます。

アクセス・マネージャー・モジュールには、次の 2 つのメイン・モジュールがあります。

呼び出し元がサービスの要求に必要な特権を持っているかどうかを判別するためには、許可情報を使用します。 許可情報は、いろいろな方法で保管できます。 例えば、リソースごとに、 アクセス制御リストを保管することができます。 ここには、ユーザーおよびユーザー特権のリストが含まれています。 もう 1 つの保管方法は、リソースのリストとそれに対応する特権を各ユーザーに関連付けることです。 このリストは、可能性リスト と呼ばれます。

WebSphere Application Server では、Java 2 Platform, Enterprise Edition (J2EE) 許可モデルを使用します。 このモデルでは、許可情報は以下のように編成されています。

アプリケーションのアセンブル時に、メソッドを起動する許可が、1 つ以上の役割に認可されます。 役割は、一連の許可です。 例えば、銀行用アプリケーションの場合、役割には、テラー、統括者、クラーク、 およびその他の銀行業関連の地位が含まれます。 テラーの役割は、 口座内のお金の管理に関連するメソッド (例えば、 預金の引き出しや預け入れのメソッド) を実行するための許可に関連付けられています。 テラーの役割には、口座を閉じる許可は付与されていません。 この許可は、スーパーバイザーの役割に与えられています。 アプリケーションのアセンブラーは、各役割に対するメソッド許可のリストを定義します。このリストは、 アプリケーションのデプロイメント記述子に保管されます。

AllAuthenticatedUsers と Everyone の 2 つの特別サブジェクト は、J2EE モデルでは定義されません。 特別サブジェクトは、ユーザー・レジストリーに依存しない製品定義エンティティーです。 このエンティティーは、レジストリー内のユーザーまたはグループのクラスを総称して表すのに使用されます。

アプリケーションのデプロイメント時に、実ユーザーまたはユーザーのグループが役割に割り当てられます。 あるユーザーがある役割に割り当てられると、そのユーザーは、その役割に認可されるすべてのメソッドの許可を取得します。

アプリケーションのデプロイヤーは、 個々のメソッドを理解している必要はありません。 アプリケーションのアセンブラーは、役割をメソッドに割り当てることによって、 アプリケーションのデプロイヤーの作業を単純化します。 デプロイヤーは、一連のメソッドを使って作業するのではなく、 メソッドのセマンティック・グループ化を表す役割を使って作業します。

ユーザーを複数の役割に割り当てられることが可能です。 この場合、ユーザーに付与された許可は、それぞれの役割に与えられた許可の結合体となります。 さらに、認証メカニズムがユーザーのグループ化をサポートしている場合、 グループに役割を割り当てることが可能になります。 あるグループをある役割に割り当てることは、個々のユーザーを役割に割り当てるのと同じ効果を持ちます。

デプロイメント時のベスト・プラクティスは、 役割に対して、個々のユーザーではなく、グループを割り当てることです。

実行時に、WebSphere Application Server は、 ユーザーの識別情報、およびユーザーから役割へのマッピングに基づき、着信要求を許可します。 ユーザーが、メソッドを実行する許可を持っている何らかの役割に属している場合、着信要求は許可されます。 ユーザーが許可を持つどの役割にも属していない場合は、要求は拒否されます。

J2EE アプローチは、 許可に対する宣言的アプローチを意味しますが、 必ずしもすべての状態が宣言的に処理できるわけでないことも認識しています。 宣言的に処理できない状態に対しては、ユーザーと役割の情報をプログラマチックに判別する方法が用意されています。 エンタープライズ Bean の場合、以下の 2 つのメソッドが WebSphere Application Server によってサポートされています。
サーブレットの場合、以下のメソッドが WebSphere Application Server によってサポートされています。

これらのメソッドの目的は、エンタープライズ Bean メソッドと同じです。

J2EE セキュリティー許可モデルについて詳しくは、 Web サイト http://java.sun.com を参照してください。




関連概念
許可テクノロジー
関連資料
getRemoteUser メソッドおよび getAuthType メソッド
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 7:44:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/csec_rolebased.html