18.2. Business Central への RH-SSO クライアントアダプターのインストール


RH-SSO をインストールしたら、Red Hat JBoss EAP に RH-SSO クライアントアダプターをインストールして、Business Central に対して設定する必要があります。

前提条件

手順

  1. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • 製品: Red Hat Single Sign-On
    • バージョン: 7.4
  2. Patches タブを選択します。
  3. Red Hat Single Sign-on 7.4 Client Adaptor for EAP 7 (rh-sso-7.4.6-eap7-adapter.zip または最新のバージョン) をダウンロードします。
  4. adapter zip を展開してインストールします。インストール手順は Red Hat Single Sign On アプリケーションおよびサービスのセキュリティー保護ガイド の JBoss EAP アダプターセクションを参照してください。

    注記

    -Dserver.config=standalone-full.xml プロパティーでアダプターをインストールします。

  5. Red Hat JBoss EAP インストールの EAP_HOME/standalone/configuration ディレクトリーに移動し、テキストエディターで standalone-full.xml ファイルを開きます。
  6. 以下の例に表示されているシステムプロパティーを <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>
  7. オプション: クライアントロールを使用する場合は、以下のシステムプロパティーを追加します。

      <property name="org.uberfire.ext.security.management.keycloak.use-resource-role-mappings" value="true"/>

    デフォルトでは、クライアントのリソース名は kie です。クライアントリソース名は、RH-SSO でクライアントの設定に使用したクライアント名と同じである必要があります。カスタムのクライアントリソースを使用する場合は、以下のシステムプロパティーも追加します。

      <property name="org.uberfire.ext.security.management.keycloak.resource" value="customClient"/>

    customClient はクライアントリソース名に置き換えます。

  8. RH-SSO サブシステム設定を追加します。以下に例を示します。

    <subsystem xmlns="urn:jboss:domain:keycloak:1.1">
     <secure-deployment name="business-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 は、作成したクライアントの名前です。クライアントロールを使用するには、RH-SSO でクライアントの設定時に使用したクライアントリソース名を設定します。
    • credential name は、作成したクライアントの秘密鍵です。この鍵は、RH-SSO 管理コンソールの Clients ページの Credentials タブで確認できます。
    • principal-attribute は、ユーザーのログイン名です。この値を指定しないと、アプリケーションに、ユーザー名ではなくユーザー ID が表示されます。

      注記

      RH-SSO サーバーは、ユーザー名を小文字に変換します。したがって、RH-SSO と統合すると、ユーザー名が Red Hat Process Automation Manager では小文字で表示されます。ユーザー名が、ビジネスプロセスに大文字でハードコードされている場合は、アプリケーションが大文字のユーザー名を識別できない場合があります。

      クライアントロールを使用する場合は、<secure-deployment> の下に以下の設定も追加します。

      <use-resource-role-mappings>true</use-resource-role-mappings>
  9. 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 に関する詳細は、Red Hat JBoss EAP の 管理 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>
      注記

      Elytron サブシステムを使用するには、レガシー security サブシステムで JACC を無効にする必要があります。レガシーサブシステムで JACC を無効にするには、Red Hat JBoss EAP 管理 CLI で以下のコマンドを入力します。

      /subsystem=security:write-attribute(name=initialize-jacc, value=false)

      レガシー security サブシステムでの JACC を無効化にする方法は、Red Hat JBoss EAP の 開発ガイド を参照してください。

  10. 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 の設定を更新します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.