第3章 高度な手順の実行


この章では、Red Hat Single Sign-On サーバーのキーストアとトラストストアの設定、管理者アカウントの作成、使用可能な Red Hat Single Sign-On クライアント登録方法の概要、およびクラスタリングの設定に関するガイダンスなどの高度な手順について説明します。

3.1. パススルー TLS ターミネーションテンプレートのデプロイメント

これらのテンプレートを使用してデプロイできます。HTTPS、JGroups キーストア、および Red Hat Single Sign-On サーバートラストストアがすでに存在している必要があるため、カスタム HTTPS、JGroups キーストア、および Red Hat Single Sign-On サーバートラストストアを使用して Red Hat Single Sign-On サーバー Pod をインスタンス化するために使用できます。

3.1.1. デプロイメントの準備

手順

  1. cluster:admin ロールを持つユーザーとして OpenShift CLI にログインします。
  2. 新しいプロジェクトを作成します。

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

    Copy to Clipboard Toggle word wrap
    $ oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default

3.1.2. Red Hat Single Sign-On サーバーの HTTPS および JGroups キーストアの作成

この手順では、openssl ツールキットを使用して、HTTPS キーストアに署名するための CA 証明書を生成し、Red Hat Single Sign-On サーバー用のトラストストアを作成します。Java Development Kit に含まれる パッケージの keytool を使用して、これらのキーストアの自己署名証明書を生成します。

再暗号化 TLS ターミネーション を使用する Red Hat Single Sign-On アプリケーションテンプレートでは、HTTPS および JGroups キーストアと Red Hat Single Sign-On サーバートラストストアを事前に準備することは、必要 なく、期待 もされません。

再暗号化テンプレートは、OpenShift の内部サービス提供証明書のシークレットを使用して、HTTPS および JGroups キーストアを自動的に作成します。Red Hat Single Sign-On サーバートラストストアも自動的に作成されます。Java システムパスにある、既知の信頼できる CA 証明書ファイルがすべて事前に設定されています。

注記

既存の HTTPS/JGroups キーストアを使用して Red Hat Single Sign-On サーバーをプロビジョニングする場合は、代わりにいくつかのパススルーテンプレートを使用してください。

前提条件

パススルー TLS ターミネーションを使用する Red Hat Single Sign-On アプリケーションテンプレートでは、以下をデプロイする必要があります。

注記

実稼働環境の場合、Red Hat は、SSL 暗号化接続 (HTTPS) 用に検証された認証局 (CA) から購入した独自の SSL 証明書を使用することを推奨します。

自己署名証明書または購入した SSL 証明書でキーストアを作成する方法に関する詳細は、SSL 暗号化キーおよび証明書の生成 を参照してください。

HTTPS キーストアを作成します。

手順

  1. CA 証明書を生成します。パスワードを選択し、忘れないようにしてください。以下の CA 証明書で証明書署名要求に署名する際に、同じパスワードを指定します。

    Copy to Clipboard Toggle word wrap
    $ openssl req -new -newkey rsa:4096 -x509 -keyout xpaas.key -out xpaas.crt -days 365 -subj "/CN=xpaas-sso-demo.ca"
  2. HTTPS キーストアの秘密鍵を生成するmykeystorepass をキーストアパスワードとして提供します。

    Copy to Clipboard Toggle word wrap
    $ keytool -genkeypair -keyalg RSA -keysize 2048 -dname "CN=secure-sso-sso-app-demo.openshift.example.com" -alias jboss -keystore keystore.jks
  3. HTTPS キーストアの証明書署名要求を生成します。mykeystorepass をキーストアパスワードとして提供します。

    Copy to Clipboard Toggle word wrap
    $ keytool -certreq -keyalg rsa -alias jboss -keystore keystore.jks -file sso.csr
  1. CA 証明書を使用して証明書署名要求に署名します。CA 証明書の生成 に使用されたパスワードを指定します。

    Copy to Clipboard Toggle word wrap
    $ openssl x509 -req -extfile  <(printf "subjectAltName=DNS:secure-sso-sso-app-demo.openshift.example.com") -CA xpaas.crt -CAkey xpaas.key -in sso.csr -out sso.crt -days 365 -CAcreateserial
    注記

    上記のコマンドを 1 行で機能させるために、コマンドにはプロセス置換 ( <() 構文) が含まれています。現在のシェル環境がそのような構文をサポートしていることを確認してください。そうしないと、syntax error near unexpected token `(' が発生する可能性があります。

  2. CA 証明書を HTTPS キーストアにインポートします。mykeystorepass をキーストアパスワードとして提供します。Trust this certificate? [no]: の質問に yes を返信します。

    Copy to Clipboard Toggle word wrap
    $ keytool -import -file xpaas.crt -alias xpaas.ca -keystore keystore.jks
  3. 署名済み証明書署名要求を HTTPS キーストアにインポートします。mykeystorepass をキーストアパスワードとして提供します。

    Copy to Clipboard Toggle word wrap
    $ keytool -import -file sso.crt -alias jboss -keystore keystore.jks

JGroups キーストアのセキュアキーを生成します。

キーストアパスワードとして パスワード を指定します。

Copy to Clipboard Toggle word wrap
$ keytool -genseckey -alias secret-key -storetype JCEKS -keystore jgroups.jceks

CA 証明書を新しい Red Hat Single Sign-On サーバートラストストアにインポートします。

mykeystorepass をトラストストアのパスワードとして指定します。Trust this certificate? [no]: の質問に yes を返信します。

Copy to Clipboard Toggle word wrap
$ keytool -import -file xpaas.crt -alias xpaas.ca -keystore truststore.jks

3.1.3. シークレットの作成

手順

OpenShift がパスワードやキーストアなどの機密情報を保持するために使用するシークレットと呼ばれるオブジェクトを作成します。

  1. 前のセクション で生成された HTTPS および JGroups キーストアのシークレットと Red Hat Single Sign-On サーバートラストストアを作成します。

    Copy to Clipboard Toggle word wrap
    $ oc create secret generic sso-app-secret --from-file=keystore.jks --from-file=jgroups.jceks --from-file=truststore.jks
  2. これらのシークレットを、Red Hat Single Sign-On Pod の実行に使用されるデフォルトのサービスアカウントにリンクします。

    Copy to Clipboard Toggle word wrap
    $ oc secrets link default sso-app-secret

3.1.4. OpenShift CLI を使用したパススルー TLS テンプレートのデプロイ

keystoressecrets を作成したら、oc コマンドを使用してパススルー TLS ターミネーションテンプレートをデプロイします。

3.1.4.1. oc コマンドガイドライン

次の oc コマンドでは、SSO_ADMIN_USERNAMESSO_ADMIN_PASSWORDHTTPS_PASSWORDJGROUPS_ENCRYPT_PASSWORD、および SSO_TRUSTSTORE_PASSWORD 変数の値は 、sso76-ocp4-https Red Hat Single Sign-On アプリケーションテンプレートのデフォルト値と一致します。

実稼働環境では、Red Hat Single Sign-On サーバーの管理者ユーザーアカウントの強力なユーザー名とパスワード、および HTTPS と JGroups キーストア、および Red Hat Single Sign-On サーバーのトラストストアのパスワードを生成するためのガイダンスについて、組織のオンサイトポリシーを参照することを Red Hat は推奨します。

また、テンプレートを作成するときは、パスワードをキーストアの作成時に提供されたパスワードと一致させてください。別のユーザー名またはパスワードを使用した場合は、環境に合わせてテンプレートのパラメーターの値を変更してください。

注記

次の keytool コマンドを使用して、証明書に関連付けられているエイリアス名を確認できます。keytool は、Java Development Kit に含まれているパッケージです。

Copy to Clipboard Toggle word wrap
$ keytool -v -list -keystore keystore.jks | grep Alias
Enter keystore password:  mykeystorepass
Alias name: xpaas.ca
Alias name: jboss
Copy to Clipboard Toggle word wrap
$ keytool -v -list -keystore jgroups.jceks -storetype jceks | grep Alias
Enter keystore password:  password
Alias name: secret-key

最後に、次のコマンドの SSO_ADMIN_USERNAMESSO_ADMIN_PASSWORDSSO_REALM テンプレートパラメーターは任意です。

3.1.4.2. サンプル oc コマンド

Copy to Clipboard Toggle word wrap
$ oc new-app --template=sso76-ocp4-https \
 -p HTTPS_SECRET="sso-app-secret" \
 -p HTTPS_KEYSTORE="keystore.jks" \
 -p HTTPS_NAME="jboss" \
 -p HTTPS_PASSWORD="mykeystorepass" \
 -p JGROUPS_ENCRYPT_SECRET="sso-app-secret" \
 -p JGROUPS_ENCRYPT_KEYSTORE="jgroups.jceks" \
 -p JGROUPS_ENCRYPT_NAME="secret-key" \
 -p JGROUPS_ENCRYPT_PASSWORD="password" \
 -p SSO_ADMIN_USERNAME="admin" \
 -p SSO_ADMIN_PASSWORD="redhat" \
 -p SSO_REALM="demorealm" \
 -p SSO_TRUSTSTORE="truststore.jks" \
 -p SSO_TRUSTSTORE_PASSWORD="mykeystorepass" \
 -p SSO_TRUSTSTORE_SECRET="sso-app-secret"
--> Deploying template "openshift/sso76-ocp4-https" to project sso-app-demo

     Red Hat Single Sign-On 7.6.11 (Ephemeral with passthrough TLS)
     ---------
     An example Red Hat Single Sign-On 7 application. For more information about using this template, see https://github.com/jboss-openshift/application-templates.

     A new Red Hat Single Sign-On service has been created in your project. The admin username/password for accessing the master realm via the Red Hat Single Sign-On console is admin/redhat. Please be sure to create the following secrets: "sso-app-secret" containing the keystore.jks file used for serving secure content; "sso-app-secret" containing the jgroups.jceks file used for securing JGroups communications; "sso-app-secret" containing the truststore.jks file used for securing Red Hat Single Sign-On requests.

     * With parameters:
        * Application Name=sso
        * Custom http Route Hostname=
        * Custom https Route Hostname=
        * Server Keystore Secret Name=sso-app-secret
        * Server Keystore Filename=keystore.jks
        * Server Keystore Type=
        * Server Certificate Name=jboss
        * Server Keystore Password=mykeystorepass
        * Datasource Minimum Pool Size=
        * Datasource Maximum Pool Size=
        * Datasource Transaction Isolation=
        * JGroups Secret Name=sso-app-secret
        * JGroups Keystore Filename=jgroups.jceks
        * JGroups Certificate Name=secret-key
        * JGroups Keystore Password=password
        * JGroups Cluster Password=yeSppLfp # generated
        * ImageStream Namespace=openshift
        * Red Hat Single Sign-On Administrator Username=admin
        * Red Hat Single Sign-On Administrator Password=redhat
        * Red Hat Single Sign-On Realm=demorealm
        * Red Hat Single Sign-On Service Username=
        * Red Hat Single Sign-On Service Password=
        * Red Hat Single Sign-On Trust Store=truststore.jks
        * Red Hat Single Sign-On Trust Store Password=mykeystorepass
        * Red Hat Single Sign-On Trust Store Secret=sso-app-secret
        * Container Memory Limit=1Gi

--> Creating resources ...
    service "sso" created
    service "secure-sso" created
    service "sso-ping" created
    route "sso" created
    route "secure-sso" created
    deploymentconfig "sso" created
--> Success
    Run 'oc status' to view your app.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.