16.2. Business Central への RH-SSO クライアントアダプターのインストール
RH-SSO をインストールしたら、Red Hat JBoss EAP に RH-SSO クライアントアダプターをインストールして、Business Central に対して設定する必要があります。
前提条件
- Red Hat JBoss EAP 7.3 への Red Hat Decision Manager のインストールおよび設定 の記載通りに、Business Central が Red Hat JBoss EAP 7.3 インスタンスにインストールされている。
- 14章RH-SSO のインストールおよび設定の記載通りに、RH-SSO がインストールされている。
-
「Red Hat Decision Manager ユーザーの追加」 の記載通りに、
adminロールが割り当てられたユーザーが RH-SSO に追加されている。
手順
Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから選択およびバージョンを選択します。
- 製品: Red Hat Single Sign-On
- バージョン: 7.4
-
Red Hat Single Sign-on 7.4.0 Client Adaptor for JBoss EAP 7 (
rh-sso-7.4.3-eap7-adapter.zipまたは最新のバージョン) をダウンロードします。 adapter zip を展開してインストールします。インストール手順は Red Hat Single Sign On アプリケーションおよびサービスのセキュリティー保護ガイド の JBoss EAP アダプターセクションを参照してください。
注記-Dserver.config=standalone-full.xmlプロパティーでアダプターをインストールします。-
Red Hat JBoss EAP インストールの
EAP_HOME/standalone/configurationディレクトリーに移動し、テキストエディターでstandalone-full.xmlファイルを開きます。 以下の例に表示されているシステムプロパティーを
<system-properties>に追加します。<system-properties> <property name="org.jbpm.workbench.kie_server.keycloak" value="true"/> <property name="org.uberfire.ext.security.management.api.userManagementServices" value="KCAdapterUserManagementService"/> <property name="org.uberfire.ext.security.management.keycloak.authServer" value="http://localhost:8180/auth"/> </system-properties>
クライアントロールを使用する場合は、以下のシステムプロパティーも追加します。
<property name="org.uberfire.ext.security.management.keycloak.use-resource-role-mappings" value="true"/>
RH-SSO サブシステム設定を追加します。以下に例を示します。
<subsystem xmlns="urn:jboss:domain:keycloak:1.1"> <secure-deployment name="decision-central.war"> <realm>demo</realm> <realm-public-key>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB</realm-public-key> <auth-server-url>http://localhost:8180/auth</auth-server-url> <ssl-required>external</ssl-required> <enable-basic-auth>true</enable-basic-auth> <resource>kie</resource> <credential name="secret">759514d0-dbb1-46ba-b7e7-ff76e63c6891</credential> <principal-attribute>preferred_username</principal-attribute> </secure-deployment> </subsystem>
この例で、
-
secure-deployment nameは、アプリケーションの WAR ファイルの名前です。 -
realmは、使用するアプリケーション用に作成したレルムの名前です。 -
realm-public-keyは、作成したレルムの公開鍵です。この鍵は、RH-SSO 管理コンソールで作成したレルムの Realm settings ページの Keys タブで確認できます。realm-public-keyの値を指定しない場合は、サーバーが自動的に取得します。 -
auth-server-urlは、RH-SSO 認証サーバーの URL です。 -
enable-basic-authは、クライアントがトークンベースと Basic 認証の両方のアプローチを使用して要求を実行できるように、Basic 認証メカニズムを有効にする設定です。 -
resourceは、作成したクライアントの名前です。 -
credential nameは、作成したクライアントの秘密鍵です。この鍵は、RH-SSO 管理コンソールの Clients ページの Credentials タブで確認できます。 principal-attributeは、ユーザーのログイン名です。この値を指定しないと、アプリケーションに、ユーザー名ではなくユーザー ID が表示されます。注記RH-SSO サーバーは、ユーザー名を小文字に変換します。したがって、RH-SSO と統合すると、Red Hat Decision Manager ではユーザー名が小文字で表示されます。ユーザー名が、ビジネスプロセスに大文字でハードコードされている場合は、アプリケーションが大文字のユーザー名を識別できない場合があります。
クライアントロールを使用する場合は、
<secure-deployment>の下に以下の設定も追加します。<use-resource-role-mappings>true</use-resource-role-mappings>
-
Elytron サブシステムには、JACC 仕様に基づいた組み込み型ポリシープロバイダーがあります。
standalone.xml、または Elytron がインストールされているファイルで手動で JACC を有効にするには、以下のタスクのいずれかを実行します。ポリシープロバイダーを作成するには、 Red Hat JBoss EAP の管理コマンドラインインターフェイス (CLI) で以下のコマンドを入力します。
/subsystem=elytron/policy=jacc:add(jacc-policy={}) /subsystem=undertow/application-security-domain=other:remove /subsystem=undertow/application-security-domain=other:add(http-authentication-factory=keycloak-http-authentication,enable-jacc=true)Red Hat JBoss EAP の管理 CLI に関する詳細は、管理 CLI ガイド を参照してください。
Red Hat JBoss EAP インストールの
EAP_HOME/standalone/configurationディレクトリーに移動します。standalone.xmlファイルおよびstandalone-full.xmlファイルで Elytron と undertow サブシステム設定の場所を特定して JACC を有効にします。以下に例を示します。<subsystem xmlns="urn:wildfly:elytron:4.0" ...> ...... <policy name="jacc"><jacc-policy/></policy> </subsystem>
<subsystem xmlns="urn:jboss:domain:undertow:7.0" ...> ...... <application-security-domains> <application-security-domain name="other" http-authentication-factory="keycloak-http-authentication" enable-jacc="true"/> </application-security-domains> </subsystem>
EAP_HOME/bin/に移動し、以下のコマンドを実行して Red Hat JBoss EAP サーバーを起動します。./standalone.sh -c standalone-full.xml
RH-SSO セキュリティーサブシステムを使用するようにアプリケーションの WAR ファイルを更新して、Business Central の RH-SSO アダプターを設定することもできます。ただし Red Hat では、RH-SSO サブシステムからアダプターを設定することを推奨します。つまり、設定を各 WAR ファイルに適用するのではなく、Red Hat JBoss EAP の設定を更新します。