前回のレッスンでは、Java 認証・承認サービス (JAAS) 許可ポリシーを使用して、個々のユーザー・ベースの許可をユーザー・プリンシパルに割り当てました。 しかし、数百または数千のユーザーがある場合、個々のユーザーではなくグループに基づいてアクセス権限を付与する、グループ・ベースの許可を使用します。
残念ながら、WebSphere® Application Server から認証される Subject オブジェクトは、ユーザー・プリンシパルしか含みません。このオブジェクトは、グループ・プリンシパルを含みません。 カスタム・ログイン・モジュールを追加することによって、Subject オブジェクトにグループ・プリンシパルを取り込むことができます。
このチュートリアルでは、カスタム・ログイン・モジュールの名前は com.ibm.websphere.samples.objectgrid.security.lm.WASAddGroupLoginModule です。 このモジュールは groupLM.jar ファイルの中にあります。 この JAR ファイルを、WAS-INSTALL/lib/ext ディレクトリー内に置きます。
grant codebase "http://www.ibm.com/com/ibm/ws/objectgrid/security/PrivilegedAction"
principal com.ibm.websphere.sample.xs.security.WSGroupPrincipal
"defaultWIMFileBasedRealm/cn=operatorGroup,o=defaultWIMFileBasedRealm" {
permission com.ibm.websphere.objectgrid.security.MapPermission "Grid.Map1", "read";
};
grant codebase "http://www.ibm.com/com/ibm/ws/objectgrid/security/PrivilegedAction"
principal com.ibm.websphere.sample.xs.security.WSGroupPrincipal
"defaultWIMFileBasedRealm/cn=adminGroup,o=defaultWIMFileBasedRealm" {
permission com.ibm.websphere.objectgrid.security.MapPermission "Grid.Map1", "all";
};
プリンシパル名は WSGroupPrincipal で、これはグループを表します。次のステップを使用して、提供された com.ibm.websphere.samples.objectgrid.security.lm.WASAddGroupLoginModule ログイン・モジュールを構成します。
管理コンソールで、xsCluster 内の xs1 サーバーと xs2 サーバーに対して次のステップを実行します。別のデプロイメント・トポロジーを使用している場合は、コンテナー・サーバーをホストするアプリケーション・サーバーに対して次のステップを実行します。
サンプル・アプリケーションを使用して、ログイン・モジュールで構成されたグループ許可をテストできます。
アプリケーションのユーザーに対する許可の割り当てを簡単にするために、グループを構成しました。