1.9.2. Elytron のリモーティング HTTP コネクターとの統合

リモート HTTP 接続は、undertow サブシステムの コネクターと、elytron サブシステムで定義された SASL 認証ファクトリーを参照して指定されます。HTTP コネクターは HTTP アップグレードベースのリモーティングコネクターの設定を利用できるようにします。また、connector-ref 属性によって指定された HTTP リスナーに接続します。

connector の属性は次のとおりです。

connector-ref
事前定義された undertow リスナーへの参照。
sasl-authentication-factory
このコネクターに対する要求の認証に使用する SASL 認証ファクトリーへの参照。このファクトリーの作成に関する詳細は、「Elytron 認証ファクトリーの作成」を参照してください

たとえば、http-connector は以下のように追加できます。ここでは、CONNECTOR_NAMEundertow リスナーを参照します。また、SASL_FACTORY_NAMEelytron サブシステムにすでに定義された認証ファクトリーです。

/subsystem=remoting/http-connector=HTTP_CONNECTOR_NAME:add(connector-ref=CONNECTOR_NAME,sasl-authentication-factory=SASL_FACTORY_NAME)

1.9.2.1. リモーティング HTTP コネクターでの一方向 SSL の有効化

以下の SASL メカニズムは、SSL/TLS などの外部のセキュアなチャネルへのチャネルバインディングに対応しています。

  • GS2-KRB5-PLUS
  • SCRAM-SHA-1-PLUS
  • SCRAM-SHA-256-PLUS
  • SCRAM-SHA-384-PLUS
  • SCRAM-SHA-512-PLUS

上記のメカニズムのいずれかを使用するには、カスタム SASL ファクトリーを設定できます。または、事前定義された SASL 認証ファクトリーのいずれかを変更してこれらのメカニズムを提供できます。SASL メカニズムセレクター は、クライアントで使用することで、適切な SASL メカニズムを指定できます。

前提条件

手順

  1. https-listener が SSL 設定でレガシーセキュリティーレルムを使用するように設定されているかどうかを確認します。

    /subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm)
    {
        "outcome" => "success",
        "result" => "ApplicationRealm"
    }

    上記のコマンドは、https-listener が SSL 設定の ApplicationRealm レガシーセキュリティーレルムを使用するように設定されていることを示しています。undertow は、レガシーセキュリティーレルムと Elytron の ssl-context を同時に参照できないため、レガシーセキュリティーレルムへの参照を削除する必要があります。

    注記

    結果が undefined である場合は、次の手順でセキュリティーレルムへの参照を削除する必要はありません。

  2. レガシーセキュリティーレルムへの参照を削除し、https-listener を Elytron の ssl-context を使用するように更新します。

    注記

    https-listener には、常に security-realm または ssl-context が設定されている必要があります。2 つの設定間で変更する場合は、以下に示すように、コマンドを単一のバッチで実行する必要があります。

    batch
    /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm)
    /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT)
    run-batch
  3. HTTPS リスナーおよび SASL 認証ファクトリーを参照する HTTP コネクターを作成します。

    /subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)
  4. サーバーをリロードします。

    reload
  5. サーバー証明書を信頼するようにクライアントを設定します。たとえば、ブラウザーを使用している場合は、信頼される証明書をブラウザーのトラストストアにインポートする必要があります。