8.3. HTTPS/SSL の設定


警告

Red Hat Single Sign-On は、SSL/HTTPS を処理するようにデフォルトで設定されていません。Red Hat Single Sign-On サーバー自体で SSL を有効にするか、Red Hat Single Sign-On サーバーの前のリバースプロキシーで SSL を有効にすることを強くお勧めします。

このデフォルトの動作は、各 Red Hat Single Sign-On レルムの SSL/HTTPS モードによって定義されます。詳細は、サーバー管理ガイド で詳しく説明していますが、コンテキストとこれらのモードの概要を説明します。

external requests
localhost127.0.0.110.x.x.x,192.168.x.x172.16.x.x などのプライベート IP アドレスに限り、Red Hat Single Sign-On は SSL なしで追加できます。サーバーに SSL/HTTPS が設定されていない場合や、非プライベート IP アドレスから HTTP 経由で Red Hat Single Sign-On にアクセスしようとすると、エラーが発生します。
none
Red Hat Single Sign-On には SSL は必要ありません。これは、処理を実行し、この開発でのみ使用する必要があります。
all requests
Red Hat Single Sign-On では、すべての IP アドレスに SSL が必要です。

各レルムの SSL モードは、Red Hat Single Sign-On の管理コンソールで設定できます。

8.3.1. Red Hat Single Sign-On サーバーの SSL/HTTPS の有効化

リバースプロキシーまたはロードバランサーを使用して HTTPS トラフィックを処理する場合、Red Hat Single Sign-On サーバーの HTTPS を有効にする必要があります。以下が関与します。

  1. SSL/HTTP トラフィック用の秘密鍵と証明書が含まれるキーストアの取得または生成
  2. このキーペアと証明書を使用するように Red Hat Single Sign-On サーバーを設定します。

8.3.1.1. 証明書および Java キーストアの作成

HTTPS 接続を許可するには、Red Hat Single Sign-On サーバーをデプロイする Web コンテナーで HTTPS を有効にする前に、自己署名またはサードパーティーの署名済み証明書を取得し、Java キーストアにインポートする必要があります。

8.3.1.1.1. 自己署名証明書

開発時には、Red Hat Single Sign-On デプロイメントをテストするためのサードパーティーの署名済み証明書を持っていない場合がありますが、その場合、Java JDK に同梱される keytool ユーティリティーを使用して自己署名証明書を生成する必要があるでしょう。

$ keytool -genkey -alias localhost -keyalg RSA -keystore keycloak.jks -validity 10950
    Enter keystore password: secret
    Re-enter new password: secret
    What is your first and last name?
    [Unknown]:  localhost
    What is the name of your organizational unit?
    [Unknown]:  Keycloak
    What is the name of your organization?
    [Unknown]:  Red Hat
    What is the name of your City or Locality?
    [Unknown]:  Westford
    What is the name of your State or Province?
    [Unknown]:  MA
    What is the two-letter country code for this unit?
    [Unknown]:  US
    Is CN=localhost, OU=Keycloak, O=Test, L=Westford, ST=MA, C=US correct?
    [no]:  yes
Copy to Clipboard Toggle word wrap

What is your first and last name ? の質問が表示されたら、サーバーをインストールするマシンの DNS 名を提供します。テストの目的では、localhost を使用する必要があります。このコマンドを実行すると、keycloak.jks ファイルが keytool コマンドの実行と同じディレクトリーに生成されます。

サードパーティーの署名済み証明書が必要で、証明書がない場合は、cacert.org で無料の証明書を取得できます。ただし、最初に次の手順を使用する必要があります。

手順

  1. 証明書要求を生成します。

    $ keytool -certreq -alias yourdomain -keystore keycloak.jks > keycloak.careq
    Copy to Clipboard Toggle word wrap

    yourdomain は、この証明書が生成される DNS 名に置き換えます。keytool は要求を生成します。

    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIIC2jCCAcICAQAwZTELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAk1BMREwDwYDVQQHEwhXZXN0Zm9y
    ZDEQMA4GA1UEChMHUmVkIEhhdDEQMA4GA1UECxMHUmVkIEhhdDESMBAGA1UEAxMJbG9jYWxob3N0
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr7kck2TaavlEOGbcpi9c0rncY4HhdzmY
    Ax2nZfq1eZEaIPqI5aTxwQZzzLDK9qbeAd8Ji79HzSqnRDxNYaZu7mAYhFKHgixsolE3o5Yfzbw1
    29RvyeUVe+WZxv5oo9wolVVpdSINIMEL2LaFhtX/c1dqiqYVpfnvFshZQaIg2nL8juzZcBjj4as
    H98gIS7khql/dkZKsw9NLvyxgJvp7PaXurX29fNf3ihG+oFrL22oFyV54BWWxXCKU/GPn61EGZGw
    Ft2qSIGLdctpMD1aJR2bcnlhEjZKDksjQZoQ5YMXaAGkcYkG6QkgrocDE2YXDbi7GIdf9MegVJ35
    2DQMpwIDAQABoDAwLgYJKoZIhvcNAQkOMSEwHzAdBgNVHQ4EFgQUQwlZJBA+fjiDdiVzaO9vrE/i
    n2swDQYJKoZIhvcNAQELBQADggEBAC5FRvMkhal3q86tHPBYWBuTtmcSjs4qUm6V6f63frhveWHf
    PzRrI1xH272XUIeBk0gtzWo0nNZnf0mMCtUBbHhhDcG82xolikfqibZijoQZCiGiedVjHJFtniDQ
    9bMDUOXEMQ7gHZg5q6mJfNG9MbMpQaUVEEFvfGEQQxbiFK7hRWU8S23/d80e8nExgQxdJWJ6vd0X
    MzzFK6j4Dj55bJVuM7GFmfdNC52pNOD5vYe47Aqh8oajHX9XTycVtPXl45rrWAH33ftbrS8SrZ2S
    vqIFQeuLL3BaHwpl3t7j2lMWcK1p80laAxEASib/fAwrRHpLHBXRcq6uALUOZl4Alt8=
    -----END NEW CERTIFICATE REQUEST-----
    Copy to Clipboard Toggle word wrap
  2. この CA 要求を認証局 (CA) に送信します。

    CA は署名済み証明書を発行して送信します。

  3. CA のルート証明書を取得してインポートします。

    CA (root.crt) から証明書をダウンロードし、以下のようにインポートすることができます。

    $ keytool -import -keystore keycloak.jks -file root.crt -alias root
    Copy to Clipboard Toggle word wrap
  4. 新しい CA が生成した証明書をキーストアにインポートします。

    $ keytool -import -alias yourdomain -keystore keycloak.jks -file your-certificate.cer
    Copy to Clipboard Toggle word wrap

8.3.1.2. キーストアを使用するように Red Hat Single Sign-On を設定する

適切な証明書を持つ Java キーストアを利用したので、Red Hat Single Sign-On インストールを使用するように設定する必要があります。

手順

  1. キーストアを使用し、HTTPS を有効にするには、standalone.xml ファイル、standalone-ha.xml ファイル、または host.xml ファイルを編集する必要があります。
  2. キーストアファイルをデプロイメントの configuration/ ディレクトリーに移動するか、選択した場所のファイルに移動して、そのファイルへの絶対パスを指定することができます。

    絶対パスを使用している場合は、設定から任意の relative-to パラメーターを削除します (操作モード を参照してください)。

  3. CLI を使用して新しい security-realm 要素を追加します。

    $ /core-service=management/security-realm=UndertowRealm:add()
    
    $ /core-service=management/security-realm=UndertowRealm/server-identity=ssl:add(keystore-path=keycloak.jks, keystore-relative-to=jboss.server.config.dir, keystore-password=secret)
    Copy to Clipboard Toggle word wrap

    ドメインモードを使用する場合、コマンドは /host=<host_name>/ 接頭辞を使用するすべてのホストで実行する必要があります (すべてのホストで security-realm を作成するため)。これは、ホストごとに繰り返す例です。

    $ /host=<host_name>/core-service=management/security-realm=UndertowRealm/server-identity=ssl:add(keystore-path=keycloak.jks, keystore-relative-to=jboss.server.config.dir, keystore-password=secret)
    Copy to Clipboard Toggle word wrap

    スタンドアロンまたはホスト設定ファイルでは、security-realms 要素は以下のようになります。

    <security-realm name="UndertowRealm">
        <server-identities>
            <ssl>
                <keystore path="keycloak.jks" relative-to="jboss.server.config.dir" keystore-password="secret" />
            </ssl>
        </server-identities>
    </security-realm>
    Copy to Clipboard Toggle word wrap
  4. スタンドアロンまたは各ドメイン設定ファイルで security-realm のインスタンスを検索します。
  5. 作成したレルムを使用するように https-listener を変更します。

    $ /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=security-realm, value=UndertowRealm)
    Copy to Clipboard Toggle word wrap

    ドメインモードを使用している場合は、コマンドの前に /profile=<profile_name>/ で使用されている使用されるプロファイルを付けます。

    生成される要素である server name="default-server" (subsystem xmlns="urn:jboss:domain:undertow:12.0" の子要素) には以下のスタンザを含める必要があります。

    <subsystem xmlns="urn:jboss:domain:undertow:12.0">
       <buffer-cache name="default"/>
       <server name="default-server">
          <https-listener name="https" socket-binding="https" security-realm="UndertowRealm"/>
       ...
    </subsystem>
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る