4.5. OpenID-Connect クライアントを使用した Red Hat Single Sign-On への EAP アプリケーションの自動登録


以下の例では、OpenID-Connect クライアントアダプターを使用して、EAP プロジェクトの Red Hat Single Sign-On レルム、ロール、およびユーザー認証情報を準備します。これらの認証情報は、Red Hat Single Sign-On クライアントの自動登録のために EAP for OpenShift テンプレートに提供されます。デプロイ後、Red Hat Single Sign-On ユーザーを使用して JBoss EAP の認証およびアクセスが可能になります。

注記

以下の例では OpenID-Connect クライアントを使用していますが、SAML クライアントも使用できます。OpenID-Connect と SAML クライアントの違いに関する詳細は、Red Hat Single Sign-On Clients および Red Hat Single Sign-On Client の自動および手動での登録方法 を参照してください。

前提条件

4.5.1. OpenShift デプロイメント用の Red Hat Single Sign On 認証の準備

cluster:admin ロールを持つユーザーとして OpenShift CLI にログインします。

  1. 新しいプロジェクトを作成します。

    $ oc new-project eap-app-demo
  2. view ロールを デフォルト のサービスアカウントに追加します。これにより、サービスアカウントが eap-app-demo 名前空間のすべてのリソースを表示できるようになります。これは、クラスターの管理に必要です。

    $ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default
  3. EAP テンプレートには、SSL キーストアと JGroups キーストア が必要です。
    この例では、Java Development Kit に含まれるパッケージの keytool を使用して、これらのキーストアの自己署名証明書を生成します。以下のコマンドはパスワードを要求します。

    1. SSL キーストアのセキュアキーを生成します。

      $ keytool -genkeypair -alias https -storetype JKS -keystore eapkeystore.jks
    2. JGroups キーストアのセキュアキーを生成します。

      $ keytool -genseckey -alias jgroups -storetype JCEKS -keystore eapjgroups.jceks
  4. SSL および JGroup キーストアファイルで EAP for OpenShift シークレットを生成します。

    $ oc create secret generic eap-ssl-secret --from-file=eapkeystore.jks
    $ oc create secret generic eap-jgroup-secret --from-file=eapjgroups.jceks
  5. EAP シークレットを default のサービスアカウントに追加します。

    $ oc secrets link default eap-ssl-secret eap-jgroup-secret

4.5.2. Red Hat Single Sign-On 認証情報の準備

Red Hat Single Sign-On デプロイメント時に作成された 管理者アカウント を使用して、https://secure-sso-<project-name>.<hostname>/auth/admin で暗号化された Red Hat Single Sign-On Web サーバーにログインします。

手順

レルムの作成

  1. サイドバーの上部にあるレルム名前空間にカーソルを合わせ、Add Realm をクリックします。
  2. レルム名を入力して (この例では eap-demoを使用)、Create をクリックします。

公開鍵のコピー

新規作成された eap-demo レルムで Keys タブをクリックして、生成された公開鍵をコピーします。この例では、簡潔に変数 <realm-public-key> を使用しています。後で Red Hat Single Sign-On 対応の JBoss EAP イメージをデプロイするのに使用されます。

ロールの作成

サンプル EAP アプリケーションの web.xml で定義された JEE ロールに対応する名前で、Red Hat Single Sign-On でロールを作成します。このロールは Red Hat Single Sign-On アプリケーションユーザー に割り当てられ、ユーザーアプリケーションへのアクセスを認証します。

  1. Configure サイドバーの Roles をクリックし、このレルムのロールをリスト表示します。これは新しいレルムであるため、デフォルトの offline_access ロールのみが必要です。
  2. Add Role をクリックします。
  3. ロール名を入力して (この例ではロール eap-user-role を使用)、Save をクリックします。

ユーザーの作成およびロールの割り当て

レルム管理ユーザーを割り当てrealm-management ロールを割り当て、Red Hat Single Sign-On サーバーで自動 Red Hat Single Sign-On クライアント登録を処理します。アプリケーションユーザー には、前のステップで作成した JEE ロールを割り当て、ユーザーアプリケーションへのアクセスを認証します。

レルム管理ユーザー を作成します。

  1. Manage サイドバーで Users をクリックし、レルムのユーザー情報を表示します。
  2. Add User をクリックします。
  3. 有効なユーザー名 を入力して (この例ではユーザー eap-mgmt-user を使用)、Save をクリックします。
  4. ユーザー設定を編集します。ユーザー空間の Credentials タブをクリックし、ユーザーのパスワードを入力します。パスワードを確認した後、Reset Password をクリックしてユーザーパスワードを設定できます。ポップアップウィンドウに追加の確認を求めるプロンプトが表示されます。
  5. Role Mappings をクリックし、レルムおよびクライアントロール設定をリスト表示します。Client Roles ドロップダウンメニューで realm-management を選択し、利用可能なロールをすべてユーザーに追加します。これにより、JBoss EAP イメージによるクライアント作成に使用できる Red Hat Single Sign-On サーバーの権限が提供されます。

アプリケーションユーザー を作成します。

  1. Manage サイドバーで Users をクリックし、レルムのユーザー情報を表示します。
  2. Add User をクリックします。
  3. アプリケーションユーザー の有効な ユーザー名 と任意の追加情報を入力し、Save をクリックします。
  4. ユーザー設定を編集します。ユーザー空間の Credentials タブをクリックし、ユーザーのパスワードを入力します。パスワードを確認した後、Reset Password をクリックしてユーザーパスワードを設定できます。ポップアップウィンドウに追加の確認を求めるプロンプトが表示されます。
  5. Role Mappings をクリックし、レルムおよびクライアントロール設定をリスト表示します。Available Roles で、先に作成したロールを追加します。

4.5.3. Red Hat Single Sign-On が有効な JBoss EAP イメージのデプロイ

手順

  1. OpenShift Web コンソールに戻り、Add to project をクリックしてデフォルトのイメージストリームおよびテンプレートをリスト表示します。
  2. Filter by keyword 検索バーを使用して、リストを sso に一致するものに制限します。See all をクリックして、必要なアプリケーションテンプレートを表示する必要がある場合があります。
  3. eap71-sso-s2i イメージを選択して、すべてのデプロイメントパラメーターをリスト表示します。EAP ビルド時に Red Hat Single Sign-On 認証情報を設定するには、以下の Red Hat Single Sign-On パラメーターを追加します。

    変数値の例

    APPLICATION_NAME

    sso

    HOSTNAME_HTTPS

    secure-sample-jsp.eap-app-demo.openshift32.example.com

    HOSTNAME_HTTP

    sample-jsp.eap-app-demo.openshift32.example.com

    SOURCE_REPOSITORY_URL

    https://repository-example.com/developer/application

    SSO_URL

    https://secure-sso-sso-app-demo.openshift32.example.com/auth

    SSO_REALM

    eap-demo

    SSO_USERNAME

    eap-mgmt-user

    SSO_PASSWORD

    password

    SSO_PUBLIC_KEY

    <realm-public-key>

    HTTPS_KEYSTORE

    eapkeystore.jks

    HTTPS_PASSWORD

    password

    HTTPS_SECRET

    eap-ssl-secret

    JGROUPS_ENCRYPT_KEYSTORE

    eapjgroups.jceks

    JGROUPS_ENCRYPT_PASSWORD

    password

    JGROUPS_ENCRYPT_SECRET

    eap-jgroup-secret

  4. Create をクリックして JBoss EAP イメージをデプロイします。

JBoss EAP イメージがデプロイされるまでに数分間がかかる場合があります。

4.5.4. Red Hat Single Sign-On を使用した JBoss EAP サーバーへのログイン

手順

  1. JBoss EAP アプリケーションサーバーにアクセスし、Login をクリックします。Red Hat Single Sign-On ログインにリダイレクトされます。
  2. この例で作成した Red Hat Single Sign-On ユーザーを使用してログインします。Red Hat Single Sign-On サーバーに対して認証され、JBoss EAP アプリケーションサーバーに返されます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.