2.4.2. レガシー security サブシステムの設定
JBoss EAP には、デプロイされたアプリケーションと SSO に SPNEGO および JBoss Negotiation を使用して Kerberos を使用するのに必要なすべてのコンポーネントが含まれていますが、以下の設定を変更する必要があります。
ここで使用する管理 CLI コマンドは、JBoss EAP スタンドアロンサーバーを実行していることを仮定しています。JBoss EAP 管理対象ドメインの管理 CLI を使用する場合の詳細は 管理 CLI ガイド を参照してください。
サーバーアイデンティティーまたはホスト、セキュリティードメインの設定
このセキュリティードメインは、コンテナー自体を KDC へ認証します。ユーザーではなくコンテナー自体の認証であるため、静的ログインメカニズムを受容するログインモジュールを使用する必要があります。この例では静的プリンシパルを使用し、クレデンシャルが含まれるキータブファイルを参照します。
例: サーバーアイデンティティーセキュリティードメインの作成
/subsystem=security/security-domain=host:add(cache-type=default) /subsystem=security/security-domain=host/authentication=classic:add() /subsystem=security/security-domain=host/authentication=classic/login-module=Kerberos:add(code=Kerberos, flag=required, module-options=[storeKey=true, refreshKrb5Config=true, useKeyTab=true, principal=host/testserver@MY_REALM, keyTab=/home/username/service.keytab, doNotPrompt=true, debug=false]) reloadIBM JDK を使用している場合、Kerberos モジュールのオプションは異なります。
jboss.security.disable.secdomain.optionシステムプロパティーはtrueに設定する必要があります。詳細は、関連するシステムプロパティーの設定 を参照してください。ログインモジュールは次のように設定する必要があります。例: IBM JDK
/subsystem=security/security-domain=host:add(cache-type=default) /subsystem=security/security-domain=host/authentication=classic:add() /subsystem=security/security-domain=host/authentication=classic/login-module=Kerberos:add(code=Kerberos, flag=required, module-options=[principal=host/testserver@MY_REALM, keyTab="file:///root/keytab", credsType=acceptor]) reloadKerberosログインモジュールの設定オプションの完全リストは、JBoss EAPLogin Module Reference を参照してください。web アプリケーションセキュリティードメインを設定します。
web アプリケーションセキュリティードメインは、個別のユーザーを KDC に対して認証するために使用されます。ユーザーの認証には最低でも 1 つのログインモジュールが必要になります。また、ユーザーに適用するロールを検索する方法も必要になります。これは、手動でユーザーをロールにマップする
<mapping>を追加したり、ユーザーをロールにマップする 2 つ目のログインモジュールを追加するなど、複数の方法で実現できます。以下は、web アプリケーションセキュリティードメインの例になります。
例: サーバーアイデンティティーセキュリティードメインの作成
/subsystem=security/security-domain=app-spnego:add(cache-type=default) /subsystem=security/security-domain=app-spnego/authentication=classic:add() /subsystem=security/security-domain=app-spnego/authentication=classic/login-module=SPNEGO:add(code=SPNEGO, flag=required, module-options=[serverSecurityDomain=host]) reloadSPNEGOログインモジュールの設定オプションの完全リストは、JBoss EAPLogin Module Reference を参照してください。関連するシステムプロパティーの設定
JBoss EAP は、Kerberos サーバーへの接続に関連するシステムプロパティーを設定する機能を提供します。KDC、Kerberos ドメイン、および ネットワーク設定に応じて、以下のシステムプロパティーが必要 (または不必要) になります。
<system-properties> <property name="java.security.krb5.kdc" value="mykdc.mydomain"/> <property name="java.security.krb5.realm" value="MY_REALM"/> <property name="java.security.krb5.conf" value="/path/to/krb5.conf"/> <property name="jboss.security.disable.secdomain.option" value="true"/> <property name="sun.security.krb5.debug" value="false"/> </system-properties>Expand プロパティー 説明 java.security.krb5.kdc
KDC のホスト名。
java.security.krb5.realm
レルムの名前。
java.security.krb5.conf
設定
krb5.confファイルへのパス。jboss.security.disable.secdomain.option
trueに設定すると、jboss.security.security_domainログインモジュールオプションのセキュリティードメインで宣言されたログイモジュールへの自動追加が無効になります。IBM JDK を使用する場合はtrueに設定する必要があります。sun.security.krb5.debug
trueの場合、デバッグモードが有効になります。注記デフォルトでは、セキュリティードメインに定義された各ログインモジュールに自動的に
jboss.security.security_domainモジュールオプションが追加されている必要があります。このオプションは、既知のオプションのみが定義されるようにチェックを行うログインモジュールでは問題が発生します。IBM Kerberos ログインモジュールであるcom.ibm.security.auth.module.Krb5LoginModuleはこのようなログインモジュールの 1 つです。このモジュールオプションを追加する動作を無効にするには、JBoss EAP の起動時にjboss.security.disable.secdomain.optionシステムプロパティーをtrueに設定します。これを行うには、管理 CLI または管理コンソールを使用して<system-properties>を設定するか、-Djboss.security.disable.secdomain.option=trueを起動パラメーターに追加します。システムプロパティーの設定に関する詳細は、JBoss EAP管理 CLI ガイド を参照してください。