第4章 セキュリティ
4.1. 認証 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
4.1.1. 認証 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
JBoss Enterprise BRMS Platform は JAAS (Java Authentication and Authorization Service) を使用して、ユーザー認証情報を確認します。このサービスはアプリケーションサーバーから提供され、別の認証システムにアクセスする際にこのサービスを使用します。この別システムですが、Lightweight Directory Access Protocol (LDAP)、 Active Directory サーバー、または JDBC データベースがお使いいただけます。
4.1.2. 認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
どの認証方式を使うかについては
jboss-brms.war/WEB-INF/components.xml
ファイルから設定します。デフォルト設定では、多くがコメントアウトされていますが、実際の設定は以下のようになります。
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><component name="org.jboss.seam.security.roleBasedPermissionResolver"><property name="enableRoleBasedAuthorization">false</property></component>
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><component name="org.jboss.seam.security.roleBasedPermissionResolver"><property name="enableRoleBasedAuthorization">false</property></component>
注記
JBoss BRMS 5.1 以前のバージョンでは、components.xml ファイルは以下のようになっています。
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><security:role-based-permission-resolver enable-role-based-authorization="false"/>
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="jmx-console"/><security:role-based-permission-resolver enable-role-based-authorization="false"/>
重要
このデフォルト設定は、
jmx-console
認証ポリシーにて定義されているアカウント名、パスワード、ロールを使用します。Red Hat は、このファイルを編集してお使いの環境に合わせてカスタマイズするよう推奨しています。
認証の設定は、以下の手順に従ってください。
- アプリケーションサーバーの適切な JBoss ログインモジュールを編集します。
- このモジュールを使用するように、JBoss Enterprise BRMS Platform を設定します。
注記
JBoss ログインモジュールの多くは、各ユーザーに対して 1 つ以上のロールを指定する手段があります。JBoss Enterprise BRMS Platform には、ユーザーロールの管理に関する独自のメカニズムがあります。
警告
role-based authorization が無効になっている場合は、事実上すべてのユーザーが管理者ロールを持ちます。このロールがあると、JBoss Enterprise BRMS Platform への完全なアクセス権を持つようになります。
4.1.3. JAAS のパスワード設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの JAAS 認証システムを使用している場合、ユーザー名、パスワードは JBoss Enterprise BRMS、Process Designer、Business Central コンソールの間で同期する必要があります。同じユーザー名とパスワードを使用しないと、各コンポーネントが連携して機能しなくなります。
別のユーザーを
brms-users.properties
ファイルに追加した場合は、Process Designer と Business Central コンソールとも同期する必要があります。
手順4.1 ユーザー名とパスワードの同期
- Process Designer: Process Designer とは JBoss Enterprise BRMS に統合された別のアプリケーションですが、このアプリケーションのユーザー名とパスワードを編集するには、
designer.war/profiles/jbpm.xml
ファイルを開き、usr
とpwd
プロパティを編集します。usr="admin" pwd="admin"
usr="admin" pwd="admin"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Business Central コンソール: Business Central コンソールのユーザー名とパスワードを編集するには、
business-central-server.war/WEB-INF/classes/jbpm.console.properties
ファイルを開き、guvnor.usr
とguvnor.pwd
プロパティを編集します。guvnor.usr=admin guvnor.pwd=admin
guvnor.usr=admin guvnor.pwd=admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4. 認証の例: UserRolesLoginModule リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この例では、
props/brms-users.properties
と props/brms-roles.properties
ファイルに保存されているユーザーアカウントへアクセスするための org.jboss.security.auth.spi.UsersRolesLoginModule
ログインモジュールの使用方法を説明しています。
手順4.2 認証の例: UserRolesLoginModule
認証システムが正しく設定されていることを確認します。
このログインモジュールは、2 つのファイルを使用して、ログイン名、パスワード、各ユーザーに割り当てたロールを保存します。jboss-as-web/server/PROFILE/conf/props/
ディレクトリにbrms-users.properties
とbrms-roles.properties
ファイルを作成して、username=password
の形式でbrms-users.properties
に少なくとも 1 つ以上のユーザーを指定します (brms-roles.properties
ファイルは空のままでも構いません)。シャットダウン
アプリケーションサーバーをシャットダウンしてから変更を行います。JBoss ログインモジュールの設定
JBoss ログインモジュールを設定するには、テキストエディターでjboss-as-web/server/PROFILE/conf/login-config.xml
を開きます。これは、XML ファイルで<policy>
要素と複数の<application-policy>
子要素が含まれています。各<application-policy>
要素は、様々な認証スキームを定義します。以下の<application-policy>
XML スニペットを<policy>
要素の新しい子として追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ログインモジュールを使用するための BRMS Platform の設定
jboss-as-web/server/PROFILE/deploy/JBoss-BRMS.war/WEB-INF/components.xml
ファイルを開きます。ここには、<components>
要素が 1 つと、<security:identity>
などの複数の子要素が含まれています。矛盾が起こらないように、既存の<security:identity>
要素をコメントアウトします。以下の<security:identity>
要素を追加します。<security:identity authenticate- method="#{authenticator.authenticate}" jaas-config-name="brms"/>
<security:identity authenticate- method="#{authenticator.authenticate}" jaas-config-name="brms"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow jaas-config-name プロパティは、application-policy と同じでなければなりません。以前の手順で application-policy プロパティを変更した場合は、ここで同じになるように jaas-config-name プロパティを変更します。再起動
アプリケーションサーバーを再起動します。
4.1.5. 認証の例: LDAP リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
LDAP は、大企業でよく使用されています。基本的な設定手順は、以前の例と同じですが、詳細の設定が異なります。
手順4.3 認証の例 2: LDAP
LDAP サーバーが正しく設定されていることを確認
ファイアウォールとネットワーク構成設定がアプリケーションサーバーと LDAP サーバーの通信を妨害していないことを確認します。シャットダウン
アプリケーションサーバーをシャットダウンしてから変更を行います。JBoss ログインモジュールの設定
JBoss ログインモジュールを設定するには、テキストエディターでjboss-as-web/server/PROFILE/conf/login-config.xml
を開きます。これは、XML ファイルで<policy>
要素と複数の<application-policy>
子要素が含まれています。各<application-policy>
要素は、様々な認証スキームを定義します。以下の<application-policy>
XML スニペットを<policy>
要素の新しい子として追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow この設定ファイルの値をお使いの LDAP サーバーに適した値に変更します。ログインモジュールを使用するための BRMS Platform の設定
jboss-as-web/server/PROFILE/deploy/jboss-brms.war/WEB-INF/components.xml
ファイルを開きます。ここには、<components>
要素が 1 つと、<security:identity>
などの複数の子要素が含まれています。矛盾が起こらないように、既存の<security:identity>
要素をコメントアウトします。以下の<security:identity>
要素を追加します。<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="brms"/>
<security:identity authenticate-method="#{authenticator.authenticate}" jaas-config-name="brms"/>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow jaas-config-name プロパティは、application-policy と同じでなければなりません。以前の手順で application-policy プロパティを変更した場合は、ここで同じになるように jaas-config-name プロパティを変更します。再起動
アプリケーションサーバーを再起動します。