4.2. Elytron クライアントによるクライアント認証の設定
Jakarta Enterprise Beans などの JBoss EAP に接続するクライアントは、Elytron クライアントを使用して認証できます。Elytron クライアントは、リモートクライアントが Elytron で認証可能にするクライアント側フレームワークです。Elytron クライアントには以下のコンポーネントがあります。
- 認証設定の移行
-
認証設定には、ユーザー名、パスワード、許可された SASL メカニズムなどの認証情報と、ダイジェスト認証時に使用するセキュリティーレルムが含まれます。認証設定で指定される接続情報は、初期コンテキストの
PROVIDER_URLに指定された値を上書きします。 - MatchRule
- 使用する認証設定の決定に使用されるルール。
- 認証コンテキスト
- 接続を確立するためにクライアントで使用する一連のルールおよび認証設定。
接続が確立されると、クライアントは認証コンテキストを使用します。この認証コンテキストには、アウトバウンド接続ごとに使用する認証設定を選択するルールが含まれます。たとえば、server1 に接続するときに、ある認証設定を使用するルールと、server2 に接続するときに別の認証設定を使用するルールを設定できます。認証コンテキストは、一連の認証設定および接続の確立時の選択方法を定義するルールセットで構成されます。認証コンテキストは ssl-context を参照でき、ルールに一致できます。
接続を確立するときにセキュリティー情報を使用するクライアントを作成するには、以下を実行します。
- 1 つ以上の認証設定を作成します。
- ルールと認証設定のペアを作成して認証コンテキストを作成します。
- 接続を確立するために runnable を作成します。
- 認証コンテキストを使用して runnable を実行します。
接続を確立すると、Elytron Client は認証コンテキストによって提供されるルールセットを使用して、認証中に使用する正しい認証設定に一致させます。
クライアント接続の確立時に、以下のいずれかの方法でセキュリティー情報を使用できます。
Elytron クライアントを使用して Jakarta Enterprise Beans 呼び出しを行う場合には、javax.naming.InitialContext の Context.SECURITY_PRINCIPAL 設定など、ハードコーディングされたプログラムによる認証情報が Elytron クライアント設定よりも優先されます。
4.2.1. 設定ファイルのアプローチ リンクのコピーリンクがクリップボードにコピーされました!
設定ファイルのアプローチでは、認証設定、認証コンテキスト、および一致ルールを含む XML ファイルを作成します。
例: custom-config.xml
クライアントの実行時にシステムプロパティーを設定すると、クライアントのコードでこのファイルを参照できます。
java -Dwildfly.config.url=/path/to/custom-config.xml ...
$ java -Dwildfly.config.url=/path/to/custom-config.xml ...
programmatic approach を使用する場合、wildfly.config.url システムプロパティーが設定されていても、提供される設定ファイルは上書きされます。
ルールの作成時に、hostname、port、protocol、または user-name など、さまざまなパラメーターと一致するものを検索できます。MatchRule の完全なオプション一覧は Java ドキュメントで確認できます。ルールは、設定される順序で評価されます。
ルールに一致設定が含まれていない場合は、ルール全体が一致し、認証設定が選択されます。ルールに複数の一致設定が含まれる場合、認証設定を選択するには、すべてが一致する必要があります。
| 属性 | 説明 |
|---|---|
| match-local-security-domain |
一致するローカルセキュリティードメインを指定する単一の |
| match-host |
一致するホスト名を指定する単一の |
| match-no-user | ユーザーのない URI に対して一致。 |
| match-path |
一致するパスを指定する単一の |
| match-port |
一致するポートを指定する単一の |
| match-protocol |
照合するプロトコルを指定する単一の |
| match-urn |
照合する属性を指定する単一の |
| match-user |
一致する |
wildfly-config.xml ファイルの例は、「 Example wildfly-config.xml 」を参照してください。wildfly-config.xml ファイルを設定する方法の詳細については、wildfly-config.xml ファイルを使用したクライアント設定 を参照してください。