2.4. JBoss EAP インスタンスの設定
JBoss EAP にデプロイされたアプリケーションが elytron または レガシー security サブシステムのいずれかを使用するように設定することができますが、両方を使用するように設定することはできません。
2.4.1. Elytron サブシステムの設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順は、KDC、Kerberos ドメイン、およびブラウザーが設定され、動作していることを仮定しています。
kerberos-security-factoryを設定します。/subsystem=elytron/kerberos-security-factory=krbSF:add(principal="HTTP/host@REALM", path="/path/to/http.keytab", mechanism-oids=[1.2.840.113554.1.2.2, 1.3.6.1.5.5.2])Kerberos のシステムプロパティーを設定します。
環境の設定に応じて、以下のシステムプロパティーを設定する必要があります。
Expand システムプロパティー 説明 java.security.krb5.kdc
KDC のホスト名。
java.security.krb5.realm
レルムの名前。
java.security.krb5.conf
設定
krb5.confファイルへのパス。sun.security.krb5.debug
trueの場合、デバッグモードが有効になります。管理 CLI を使用する場合、以下のように JBoss EAP のシステムプロパティーを設定します。
/system-property=java.security.krb5.conf:add(value="/path/to/krb5.conf")ロールを割り当てるために Elytron セキュリティーレルムを設定します。
クライアントの Kerberos トークンはプリンシパルを提供しますが、そのプリンシパルをロールにマップする方法が必要になります。これには複数の方法がありますが、この例では
filesystem-realmを作成し、Kerberos トークンからのプリンシパルと一致するレルムにユーザーを追加し、ロールをそのユーザーに割り当てます。
/subsystem=elytron/filesystem-realm=exampleFsRealm:add(path=fs-realm-users, relative-to=jboss.server.config.dir)
/subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity(identity=user1@REALM)
/subsystem=elytron/filesystem-realm=exampleFsRealm:add-identity-attribute(identity=user1@REALM, name=Roles, value=["Admin","Guest"])
simple-role-decoderを追加します。/subsystem=elytron/simple-role-decoder=from-roles-attribute:add(attribute=Roles)この
simple-role-decoderは、Roles属性からのプリンシパルのロールをデコードします。ロールが別の属性にある場合はこの値を変更できます。security-domainを設定します。/subsystem=elytron/security-domain=exampleFsSD:add(realms=[{realm=exampleFsRealm, role-decoder=from-roles-attribute}], default-realm=exampleFsRealm, permission-mapper=default-permission-mapper)kerberos-security-factoryを使用するhttp-authentication-factoryを設定します。/subsystem=elytron/http-authentication-factory=example-krb-http-auth:add(http-server-mechanism-factory=global, security-domain=exampleFsSD, mechanism-configurations=[{mechanism-name=SPNEGO, mechanism-realm-configurations=[{realm-name=exampleFsSD}], credential-security-factory=krbSF}])undertowサブシステムでapplication-security-domainを設定します。/subsystem=undertow/application-security-domain=app-spnego:add(http-authentication-factory=example-krb-http-auth)