6.5. Elytron の ejb サブシステムとの統合

JBoss EAP 7.1 より、デプロイメントをマッピングし、それらのセキュリティーが elytron サブシステムによって処理されるようになりました。デプロイメントがマップされたセキュリティードメインを参照する場合、そのセキュリティーは Elytron によって処理されます。そうでない場合には、そのセキュリティーはレガシーセキュリティーサブシステムによって処理されます。このマッピングは ejb サブシステムで定義されます。

ejb サブシステム内で、セキュリティードメイン名から、ディプロイメント内で参照されるものとして、参照される Elytron セキュリティードメインにマッピングが作成されます。マッピングされたセキュリティードメイン名がデプロイメント内の bean に対して設定されている場合は、セキュリティーが Elytron によって処理される必要があることを示します。既存の Jakarta Enterprise Beans セキュリティーインターセプターの代わりに新しい Jakarta Enterprise Beans セキュリティーインターセプターが設定されます。

新しい Jakarta Enterprise Beans セキュリティーインターセプターは、呼び出しに関連付けられた Elytron SecurityDomain を利用して現在の SecurityIdentity を取得し、以下のタスクを実行します。

  • run-as プリンシパルを確立します。
  • run-as プリンシパルの追加ロールを作成します 。
  • run-as ロールを作成します。
  • 承認の決定を行います。

JBoss EAP 7.1 では、ejb サブシステム application-security-domains に新しい管理リソースが導入されました。application-security-domains 要素には、Elytron セキュリティードメインにマップする必要のあるアプリケーションセキュリティードメインが含まれます。

表6.1 application-security-domain の属性

属性説明

name

この属性は、デプロイメントで指定されるセキュリティードメインの名前を参照します。

security-domain

この属性は、使用される必要がある Elytron セキュリティードメインへの参照です。

enable-jacc

この属性は、Jakarta Authorization を使用した承認を有効にします。

referencing-deployments

これは、現在 ASD を参照しているすべてのデプロイメントをリスト表示するランタイム属性です。

legacy-compliant-principal-propagation

この属性は、着信 run-as ID が定義されていない場合に、ローカルのセキュアでない Jakarta Enterprise Bean のプリンシパルを決定します。

true に設定されている場合、ローカルのセキュアでない Jakarta Enterprise Beans のプリンシパルは、現在認証されている ID です。

false に設定すると、ローカルのセキュアでない Jakarta Enterprise Beans のプリンシパルは匿名になります。

このパラメーターはオプションであり、デフォルト値は 'true' です。

管理コンソールまたは管理 CLI を使用して、ejb サブシステムで application-security-domain を設定できます。詳細は、以下のトピックを参照してください。

6.5.1. 管理コンソールを使用したアプリケーションセキュリティードメインの設定

  1. 管理コンソールにアクセスします。詳細は、JBoss EAP設定ガイド管理コンソール を参照してください。
  2. ConfigurationSubsystemsEJB の順に移動し、View をクリックします。
  3. Security Domain タブを選択し、必要に応じてアプリケーションセキュリティードメインを設定します。

6.5.2. 管理 CLI を使用したアプリケーションセキュリティードメインの設定

以下の例では、MyAppSecurity はデプロイメントで参照されるセキュリティードメインであり、ApplicationDomainelytron サブシステムに設定された Elytron セキュリティードメインです。

/subsystem=ejb3/application-security-domain=MyAppSecurity:add(security-domain=ApplicationDomain)

以下の XML は、このコマンドの結果としてサーバー設定ファイルの ejb サブシステムに追加されます。

<application-security-domains>
    <application-security-domain name="MyAppSecurity" security-domain="ApplicationDomain"/>
</application-security-domains>

Elytron を使用してセキュリティーを処理する Jakarta Enterprise Beans の単純な作業例は、JBoss EAP に同梱される ejb-security クイックスタートを参照してください。