第7章 Red Hat Decision Manager と Red Hat Single Sign-On の統合
Red Hat Single Sign-On (RH-SSO) はシングルサインオンソリューションで、これを使用してブラウザーアプリケーションと REST Web サービス、および Git へのアクセスのセキュリティーを確保できます。本章では、RH-SSO と Red Hat Decision Manager を統合してこの機能を活用する方法を説明します。
RH-SSO と統合すると、Red Hat Decision Manager 向けに SSO と IDM (アイデンティー管理) の統合環境を利用できます。RH-SSO のセッション管理機能により、1 度認証するだけで、Web 上でさまざまな Red Hat Decision Manager 環境を使用できます。
RH-SSO の詳しい情報は RH-SSO のドキュメント を参照してください。
RH-SSO 統合ポイント
以下の統合ポイントを使用して Decision Server と RH-SSO を統合できます。
RH-SSO サーバーを使用した Red Hat Decision Manager の認証
RH-SSO を使用して Red Hat Decision Manager を認証するには、Red Hat Decision Manager の Web クライアントとリモートサービスの両方を RH-SSO によりセキュア化する必要があります。この統合により、RH-SSO を使用して Web インターフェースまたはリモートサービスコンシューマーのいずれかで Red Hat Decision Manager に接続することができます。
RH-SSO サーバーを使用した Decision Server の認証
サーバー認証に Web インターフェースが提供されないので、RH-SSO を使用して Red Hat Decision Manager の Decision Server を認証するには、Decision Server が提供するリモートサービスをセキュア化する必要があります。これにより、任意の Red Hat Decision Manager リモートサービスコンシューマー (ユーザーまたはサービス) が RH-SSO を使用して認証できます。
RH-SSO サーバーを使用したサードパーティークライアントの認証
RH-SSO サーバーを使用してサードパーティークライアントを認証するには、サードパーティークライアントが RH-SSO を使用して自身を認証し、Red Hat Decision Manager および Decision Server が提供する REST API またはリモートファイルシステムサービスなどのリモートサービスエンドポイントを消費する必要があります。
以下のセクションでは、これらの統合ポイントを使用して RH-SSO 統合を行う方法について説明します。
7.1. RH-SSO を使用した Red Hat Decision Manager の認証
RH-SSO を使用して Red Hat Decision Manager を認証するには、以下の手順を実施します。
- RH-SSO サーバーに Red Hat Decision Manager のレルムクライントを設定して実行する。
- Red Hat JBoss EAP の RH-SSO クライアントアダプターをインストールして設定する。
- RH-SSO を使用して Red Hat Decision Manager リモートサービスのセキュリティーを確保する。
7.1.1. RH-SSO への Red Hat Decision Manager レルムクライントの設定
セキュリティーレルムは、異なるアプリケーションリソースのアクセスを制限するのに使用します。RH-SSO インスタンスが非公開か他の製品と共有されているかにかかわらず、新規レルムを作成する必要があります。マスターレルムを、スーパー管理者がシステムのレルムを作成して管理する場所として維持できます。他の製品システムと共有されている RH-SSO インスタンスと統合して、これらのアプリケーションとのシングルサインオンを行うためには、これらのアプリケーションはすべて同じレルムを使用する必要があります。
手順
- Red Hat カスタマーポータルの「Software Downloads」セクションから RH-SSO をダウンロードします。
基本的な RH-SSO のスタンドアロンサーバーをインストールして設定します。インストールおよび設定は、『Red Hat Single Sign On Getting Started Guide』の「Install and Boot」の章に記載された手順に従ってください。実稼働環境の設定については、Red Hat Single Sign On の『Server Administration Guide』を参照してください。
注記同じシステム上で RH-SSO と Red Hat Decision Manager サーバーの両方を実行する場合には、以下の手段のいずれかによりポートの競合を避けてください。
以下のように、
RHSSO_HOME/standalone/configuration/standalone.xmlファイルを更新して、ポートのオフセットを 100 に設定する。<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:100}">環境変数を使用してサーバーを実行する。
bin/standalone.sh -Djboss.socket.binding.port-offset=100
RH-SSO サーバーを起動し、
RHSSO_HOME/binから RH-SSO を設定します。./standalone.sh
RH-SSO サーバーが起動したら、Web ブラウザーで http://localhost:8180/auth/admin にアクセスし、RH-SSO のインストール時に作成した管理者の認証情報を使用してログインします。初回のログイン時に、新規ユーザー登録フォームで初期ユーザーを設定することができます。
- RH-SSO 管理コンソールで、Realm Settings メニューアイテムをクリックします。
Realm Settings ページで Add Realm をクリックします。
Add realm ページが表示されます。
- Add realm ページで、レルムの名前を指定して Create をクリックします。
Clients メニューアイテムをクリックし、Create をクリックします。
Add Client ページが表示されます。
Add Client ページで、以下のようにレルム用の新規クライアント作成に必要な情報を指定します。
- Client ID: kie
- Client protocol: openid-connect
- Root URL: http://localhost:8080/decision-central
Save をクリックして変更を保存します。
作成した新規クライアントの Access Type は、デフォルトでは
publicに設定されています。この設定をconfidentialに変更します。この時点で、RH-SSO サーバーに Red Hat Decision Manager アプリケーションのレルムおよびクライアントが設定され、
localhost:8180で HTTP 接続をリッスンした状態で実行されます。このレルムは Red Hat Decision Manager アプリケーションに異なるユーザー、ロール、セッションを提供します。
7.1.2. Red Hat JBoss EAP の RH-SSO クライアントアダプターの設定
Red Hat JBoss EAP の RH-SSO クライアントアダプターを設定するには、Red Hat JBoss EAP の RH-SSO アダプターをインストールし、続いて Red Hat Decision Manager アプリケーションおよび RH-SSO クライアントアダプターを設定します。
手順
Red Hat JBoss EAP 6.4.X または 7.0 をインストールします。
バージョン 6 の場合は、『Red Hat JBoss Enterprise Application Platform インストールガイド』の「インストールの説明」の章を参照してください。
バージョン 7 の場合は、『Red Hat JBoss Enterprise Application Platform インストールガイド』の「JBoss EAP のインストール」の章を参照してください。
新規にインストールした Red Hat JBoss EAP ホームに Red Hat Decision Manager をインストールします。
standalone.xmlファイルに変更を加えて RH-SSO アダプターを設定してから Red Hat Decision Manager を展開すると、RH-SSO アダプターの設定が上書きされて失われる可能性があります。- Red Hat カスタマーポータル から Red Hat JBoss EAP アダプターをダウンロードします。
- アダプターを展開してインストールします。インストールの説明は、『Red Hat Single Sign On Securing Applications and Services Guide』の「JBoss EAP Adapter」セクションを参照してください。
バージョン 7 の場合は、
EAP_HOME/standalone/configurationに移動してstandalone.xmlおよびstandalone-full.xmlファイルを開きます。各ファイルから<single-sign-on/>要素を削除します。Red Hat JBoss EAP 6 の場合は、このステップを実行する必要はありません。
手順
Red Hat JBoss EAP システムの
EAP_HOME/standalone/configurationディレクトリーに移動し、standalone.xmlファイルを編集して 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は、クライアントがトークンベースと基本認証アプローチの両方を使用して要求を実行できるように、基本認証メカニズムを有効にする設定です。 -
resourceは、作成したクライアントの名前です。 -
credential nameは、作成したクライアントの秘密鍵です。この鍵は、RH-SSO 管理コンソールの Clients ページの Credentials タブで確認することができます。 principal-attributeは、ユーザーのログイン名です。この値を指定しないと、ユーザー名ではなくユーザー ID がアプリケーションに表示されます。注記RH-SSO サーバーは、ユーザー名を小文字に変換します。そのため、RH-SSO と統合した後には、Red Hat Decision Manager ではユーザー名が小文字で表示されます。ビジネスプロセスでユーザー名が大文字でハードコード化されている場合には、アプリケーションが大文字のユーザー名を識別できない場合があります。
-
EAP_HOME/bin/に移動し、以下のコマンドを入力して Red Hat JBoss EAP サーバーを起動します。./standalone.sh
RH-SSO セキュリティーサブシステムを使用するようにアプリケーションの WAR ファイルを更新して、Red Hat JBoss EAP の RH-SSO アダプターを設定することもできます。ただし Red Hat では、RH-SSO サブシステムからアダプターを設定することを推奨します。つまり、設定を各 WAR ファイルに適用するのではなく、Red Hat JBoss EAP の設定を更新します。
7.1.3. 新規ユーザーの追加
新規ユーザーを追加して Red Hat Decision Manager にアクセスするためのロールを割り当てるには、以下の手順を実施します。
- RH-SSO 管理コンソールにログインして、ユーザーを追加するレルムを開きます。
Manage セクションで Users メニューアイテムをクリックします。
Users という名前の空のユーザー一覧のページが表示されます。
空のユーザー一覧で Add User ボタンをクリックして、新規ユーザーの作成を開始します。
Add user ページが表示されます。
- Add user ページでユーザー情報を指定して、Save をクリックします。
- Credentials タブで新規パスワードを設定します。
adminまたはanalystロールなど、Red Hat Decision Manager へのアクセスが許可されるロールの 1 つを新規ユーザーに割り当てます。Roles セクションの Realm Roles タブで、このロールをレルムロールとして定義します。
- Users ページの Role Mappings タブをクリックしてロールを割り当てます。
これで、Decision Server を起動した後に Decision Central にログインできるようになります。
7.1.4. RH-SSO を使用した Red Hat Decision Manager リモートサービスのセキュリティー確保
Red Hat Decision Manager は、リモート API を使用してサードパーティークライアントが消費可能なリモートサービスエンドポイントを各種提供します。RH-SSO でこれらのサービスを認証するには、BasicAuthSecurityFilter と呼ばれるセキュリティーフィルターを無効化する必要があります。
手順
アプリケーションデプロイメント記述子ファイル (
WEB-INF/web.xml) を開き、以下の変更を加えます。以下の行を削除して、
org.uberfire.ext.security.server.BasicAuthSecurityFilterクラスのサーブレットフィルターとマッピングを削除します。<filter> <filter-name>HTTP Basic Auth Filter</filter-name> <filter-class>org.uberfire.ext.security.server.BasicAuthSecurityFilter</filter-class> <init-param> <param-name>realmName</param-name> <param-value>KIE Workbench Realm</param-value> </init-param> </filter> <filter-mapping> <filter-name>HTTP Basic Auth Filter</filter-name> <url-pattern>/rest/*</url-pattern> <url-pattern>/maven2/*</url-pattern> <url-pattern>/ws/*</url-pattern> </filter-mapping>以下の行を追加して、フィルターマッピングから削除した url-patterns の
security-constraintを追加します。<security-constraint> <web-resource-collection> <web-resource-name>remote-services</web-resource-name> <url-pattern>/rest/*</url-pattern> <url-pattern>/maven2/*</url-pattern> <url-pattern>/ws/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>rest-all</role-name> </auth-constraint> </security-constraint>
- 変更を保存します。
7.1.5. RH-SSO を使用した Red Hat Decision Manager ファイルシステムサービスのセキュリティー確保
ファイルシステムなど、他のリモートサービス (例: リモート GIT サービス) を消費するには、正しい RH-SSO ログインモジュールを指定する必要があります。最初に、JSON 設定ファイルを生成します。
手順
- http://localhost:8080/auth/admin から RH-SSO 管理コンソール に移動します。
- Clients をクリックします。
以下の設定で新規クライアントを作成します。
-
Client ID は
kie-gitに設定します。 -
Access Type は
confidentialに設定します。 - Standard Flow Enabled オプションを無効化します。
- Direct Access Grants Enabled オプションを有効化します。

-
Client ID は
- Save をクリックします。
- クライアント設定画面上部にある Installation タブをクリックして、Format Option に Keycloak OIDC JSON を選択します。
- Download をクリックします。
ダウンロードした JSON ファイルを、サーバーのファイルシステム内でアクセス可能なディレクトリーに移動するか、アプリケーションクラスパスに追加します。
詳しい情報は、Keycloak の『Securing Applications and Services Guide』の「JAAS plugin」の章を参照してください。
JSON 設定ファイルを正常に生成してダウンロードしたら、正しい RH-SSO ログインモジュールを EAP_HOME/standalone/configuration/standalone.xml ファイルで指定します。デフォルトでは、Red Hat Decision Manager のセキュリティードメインは other に設定されています。このセキュリティードメインの login-module のデフォルト値を、以下の例で示す値に置き換えます。
<security-domain name="other" cache-type="default">
<authentication>
<login-module code="org.keycloak.adapters.jaas.DirectAccessGrantsLoginModule" flag="required">
<module-option name="keycloak-config-file" value="$EAP_HOME/kie-git.json"/>
</login-module>
</authentication>
</security-domain>
module-option 要素で指定した JSON ファイルには、リモートサービスのセキュリティーを確保するために使用するクライアントが含まれます。module-option 要素の $EAP_HOME/kie-git.json の値を、この JSON 設定ファイルの絶対パスまたはクラスパス (classpath:/EXAMPLE_PATH/kie-git.json) に置き換えます。
この時点で RH-SSO サーバーで認証されたすべてのユーザーは、内部 GIT リポジトリーのクローンを作成することができます。以下のコマンドの USER_NAME を、admin などの RH-SSO ユーザーに変更します。
git clone ssh://USER_NAME@localhost:8001/system
7.1.6. RH-SSO のユーザーおよびグループ管理の有効化
本セクションでは、Decision Central を使用して RH-SSO に保存されたユーザーおよびグループを管理する方法について説明します。
手順
以下のライブラリーが
WEB-INF/libディレクトリーにあることを確認します。uberfire-security-management-api-<latest_artifact_version>.jar uberfire-security-management-backend-<latest_artifact_version>.jar uberfire-security-management-keycloak-<latest_artifact_version>.jar keycloak-core-<latest_artifact_version>.jar keycloak-common-<latest_artifact_version>.jar
サードパーティーセキュリティー JAR ファイルを削除します。以下に例を示します。
uberfire-security-management-wildfly-<latest_artifact_version>.jar uberfire-security-management-tomcat-<latest_artifact_version>.jar
WEB-INF/classes/security-management.propertiesファイルの内容全体を、以下の内容に置き換えます。org.uberfire.ext.security.management.api.userManagementServices=KCCredentialsUserManagementService org.uberfire.ext.security.management.keycloak.authServer=http://localhost:8081/auth org.uberfire.ext.security.management.keycloak.realm=demo org.uberfire.ext.security.management.keycloak.user=admin org.uberfire.ext.security.management.keycloak.password=admin org.uberfire.ext.security.management.keycloak.clientId=kie org.uberfire.ext.security.management.keycloak.clientSecret=759514d0-dbb1-46ba-b7e7-ff76e63c6891
注記WEB-INF/classes/security-management.propertiesファイルが存在しない場合は、そのファイルを作成します。/META-INF/jboss-deployment-structure.xmlファイルにおいて、以下の依存関係および除外を編集します。<dependencies> <module name="org.jboss.resteasy.resteasy-jackson-provider" services="import"/> </dependencies> <exclusions> <module name="org.jboss.resteasy.resteasy-jackson2-provider"/> </exclusions>
7.2. RH-SSO を使用した Decision Server の認証
Red Hat Decision Manager の Decision Server は、サードパーティークライアントの REST API を提供します。Decision Server と RH-SSO を統合して、サードパーティークライアントのアイデンティー管理を RH-SSO サーバーに委譲することができます。
Red Hat Decision Manager のレルムクライアントを作成して、Red Hat JBoss EAP の RH-SSO クライアントアダプターを設定したら、同じステップを繰り返して、Decision Server と RH-SSO を統合できます。
7.2.1. RH-SSO における Decision Server クライアントの作成
RH-SSO 管理コンソールを使用して、既存のレルムに新規クライアントを作成することができます。
手順
- RH-SSO 管理コンソールで作成したセキュリティーレルムを開きます。
Clients メニューアイテムをクリックし、Create をクリックします。
Add Client ページが表示されます。
Add Client ページで、以下のようにレルム用の新規クライアント作成に必要な情報を指定します。
- Client ID: kie-execution-server
- Root URL: http://localhost:8080/kie-server
- Client protocol: openid-connect
Save をクリックして変更を保存します。
新規クライアントの Access Type は、デフォルトでは
publicに設定されています。この設定をconfidentialに変更して、もう一度 Save をクリックします。- Credentials タブに移動して秘密鍵をコピーします。秘密鍵は、次のセクションで kie-execution-server クライアントを設定するのに必要です。
7.2.2. クライアントアダプターおよび Decision Server のインストールおよび設定
Decision Server のリモートサービスエンドポイントを使用するには、最初に RH-SSO 管理コンソールで kie-server ロールを作成して割り当てる必要があります。
Decision Server を Red Hat Decision Manager とは別のアプリケーションサーバーにデプロイした場合には、第 2 サーバー にも RH-SSO をインストールして設定します。
手順
Red Hat JBoss EAP システムの
EAP_HOME/standalone/configurationに移動し、standalone.xmlファイルを編集して RH-SSO サブシステム設定を追加します。以下に例を示します。<subsystem xmlns="urn:jboss:domain:keycloak:1.1"> <secure-deployment name="kie-execution-server.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> <resource>kie-execution-server</resource> <enable-basic-auth>true</enable-basic-auth> <credential name="secret">03c2b267-7f64-4647-8566-572be673f5fa</credential> <principal-attribute>preferred_username</principal-attribute> </secure-deployment> </subsystem> <system-properties> <property name="org.kie.server.sync.deploy" value="false"/> </system-properties>この例で、
-
secure-deployment nameは、アプリケーションの WAR ファイルの名前です。 -
realmは、使用するアプリケーション用に作成したレルムの名前です。 -
realm-public-keyは、作成したレルムの公開鍵です。この鍵は、RH-SSO 管理コンソールで作成したレルムの Realm settings ページの Keys タブで確認することができます。この公開鍵の値を指定しない場合は、サーバーが自動的に取得します。 -
auth-server-urlは、RH-SSO 認証サーバーの URL です。 -
resourceは、作成したサーバークライアントの名前です。 -
enable-basic-authは、クライアントがトークンベースと基本認証アプローチの両方を使用して要求を実行できるように、基本認証メカニズムを有効にする設定です。 -
credential nameは、作成したサーバークライアントの秘密鍵です。この鍵は、RH-SSO 管理コンソールの Clients ページの Credentials タブで確認することができます。 -
principal-attributeは、ユーザーのログイン名です。この値を指定しないと、ユーザー名ではなくユーザー ID がアプリケーションに表示されます。
-
-
standalone.xmlファイルに加えた設定変更を保存します。 以下のコマンドを使用し、Red Hat JBoss EAP サーバーを再起動して Decision Server を実行します。
EXEC_SERVER_HOME/bin/standalone.sh -Dorg.kie.server.id=<ID> -Dorg.kie.server.user=<USER> -Dorg.kie.server.pwd=<PWD> -Dorg.kie.server.location=<LOCATION_URL> -Dorg.kie.server.controller=<CONTROLLER_URL> -Dorg.kie.server.controller.user=<CONTROLLER_USER> -Dorg.kie.server.controller.pwd=<CONTOLLER_PASSWORD>
以下に例を示します。
EXEC_SERVER_HOME/bin/standalone.sh -Dorg.kie.server.id=kieserver1 -Dorg.kie.server.user=kieserver -Dorg.kie.server.pwd=password -Dorg.kie.server.location=http://localhost:8080/kie-execution-server/services/rest/server -Dorg.kie.server.controller=http://localhost:8080/decision-central/rest/controller -Dorg.kie.server.controller.user=kiecontroller -Dorg.kie.server.controller.pwd=password
Decision Server を実行したら、サーバーの状態を確認することができます。以下のコマンドの
kieserverはkie-serverロールのユーザー名で、パスワードはpasswordです。curl http://kieserver:password@localhost:8080/kie-execution-server/services/rest/server/
Red Hat Decision Manager と Decision Server 間の通信に、トークンベースの認証を使用することもできます。アプリケーションにおいて、(ユーザー名とパスワードではなく) 完全なトークンをアプリケーションサーバーのシステムプロパティーとして使用できます。ただし、トークンは自動的に更新されないので、アプリケーションの通信が行われている間トークンが失効しないようにする必要があります。トークンを取得する方法は「トークンベースの認証」を参照してください。
手順
-
トークンを使用して Decision Server を管理するように Red Hat Decision Manager を設定するには、
org.kie.server.tokenプロパティーを設定します。 -
org.kie.server.userおよびorg.kie.server.pwdプロパティーは設定しないでください。これで、Red Hat Decision Manager はAuthorization: Bearer $TOKEN認証方法を使用します。
手順
-
トークンベースの認証を用いて REST API を使用する場合は、
org.kie.server.controller.tokenプロパティーを設定します。 -
org.kie.server.controller.userおよびorg.kie.server.controller.pwdプロパティーは設定しないでください。
Decision Server はトークンを更新できないので、寿命が長いトークンを使用してください。トークンの有効期限は、2038 年 1 月 19 日以降にならないようにしてください。セキュリティーのベストプラクティスをチェックし、お使いの環境に適したソリューションかどうかを確認してください。
7.3. RH-SSO を使用したサードパーティークライアントの認証
Red Hat Decision Manager または Decision Server が提供するさまざまなリモートサービスを使用するには、curl、wget、Web ブラウザー、またはカスタム REST クライアントなどのクライアントは、RH-SSO サーバー経由で認証して、要求を実行するための有効なトークンを取得する必要があります。リモートサービスを使用するには、認証済みのユーザーには以下のロールが割り当てられている必要があります。
-
rest-all: Red Hat Decision Manager のリモートサービスを使用する場合 -
kie-server: Decision Server のリモートサービスを使用する場合
RH-SSO 管理コンソールを使用してこれらのロールを作成し、リモートサービスを消費するユーザーに割り当てます。
クライアントは、以下のオプションのいずれかを使用して RH-SSO 経由で認証することができます。
- 基本認証 (クライアントがサポートしている場合)
- トークンベースの認証
7.3.1. 基本認証
RH-SSO クライアントアダプターの設定で Red Hat Decision Manager および Decision Server の両方に対する基本認証を有効にしている場合には、トークン付与/更新の呼び出しをせずにサービスを呼び出すことができます。以下に例を示します。
Web ベースのリモートリポジトリーエンドポイントの場合:
curl http://admin:password@localhost:8080/decision-central/rest/repositories
Decision Server の場合:
curl http://admin:password@localhost:8080/kie-execution-server/services/rest/server/
7.3.2. トークンベースの認証
よりセキュアな認証オプションを希望される場合には、RH-SSO により付与されたトークンを使用して、Red Hat Decision Manager と Decision Server 両方のリモートサービスを使用できます。
手順
RH-SSO 管理コンソールで Clients メニューアイテムをクリックし、Create をクリックして新規クライアントを作成します。
Add Client ページが表示されます。
Add Client ページで、以下のようにレルム用の新規クライアント作成に必要な情報を指定します。
- Client ID: kie-remote
- Client protocol: openid-connect
- Save をクリックして変更を保存します。
Realm Settings でトークンの設定を変更します。
- RH-SSO 管理コンソールで、Realm Settings メニューアイテムをクリックします。
- Tokens タブをクリックします。
Access Token Lifespan の値を
15分に変更します。このように設定することで、トークンを取得してから失効するまでに十分な余裕をもってサービスを呼び出すことができます。
- Save をクリックして変更を保存します。
リモートクライアントの公開クライアントを作成したら、以下のコマンドを使用して、RH-SSO サーバーのトークンエンドポイントに対して HTTP 要求を行いトークンを取得することができます。
RESULT=`curl --data "grant_type=password&client_id=kie-remote&username=admin&password=password" http://localhost:8180/auth/realms/demo/protocol/openid-connect/token`
上記のコマンドは、RH-SSO ユーザーで実行してください。詳しい情報は「新規ユーザーの追加」を参照してください。
RH-SSO サーバーから取得したトークンを表示するには、以下のコマンドを使用します。
TOKEN=`echo $RESULT | sed 's/.*access_token":"//g' | sed 's/".*//g'`
このトークンを使用してリモートの呼び出しを認証できるようになります。たとえば、Red Hat Decision Manager の内部リポジトリーを確認するには、以下のようにトークンを使用します。
curl -H "Authorization: bearer $TOKEN" http://localhost:8080/decision-central/rest/repositories
7.4. LDAP および SSL の Red Hat Decision Manager との統合
RH-SSO を用いて、LDAP および SSL を Red Hat Decision Manager と統合できます。LDAP および SSL を RH-SSO に対応させる設定については、『Red Hat Single Sign-On Server Administration Guide』を参照してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.