検索

6.4. Jakarta Enterprise Beans へのリモートアクセス

download PDF

6.4.1. リモート Jakarta Enterprise Beans クライアントでのセキュリティーレルムの使用

Jakarta Enterprise Beans をリモートで呼び出すクライアントにセキュリティーを追加する方法として、セキュリティーレルムを使用することができます。セキュリティーレルムは、ユーザー名/パスワードのペアとユーザー名/ロールのペアの単純なデータベースです。この用語は Web コンテナーのコンテキストでも使用され、意味が若干異なります。

Jakarta Enterprise Beans に対してセキュリティーレルムに存在する特定のユーザー名/パスワードのペアを認証するには、以下の手順に従います。

  • 新しいセキュリティーレルムをドメインコントローラーまたはスタンドアロンサーバーに追加します。
  • 以下の例のように、アプリケーションのクラスパスにある wildfly-config.xml ファイルを設定します。

    <configuration>
       <authentication-client xmlns="urn:elytron:client:1.2">
          <authentication-rules>
             <rule use-configuration="default" />
          </authentication-rules>
          <authentication-configurations>
             <configuration name="default">
                <sasl-mechanism-selector selector="DIGEST-MD5" />
                <set-user-name name="admin" />
                <credentials>
                   <clear-password password="password123!" />
                </credentials>
             </configuration>
          </authentication-configurations>
       </authentication-client>
       <jboss-ejb-client xmlns="urn:jboss:wildfly-client-ejb:3.0">
          <connections>
             <connection uri="remote+http://127.0.0.1:8080" />
          </connections>
       </jboss-ejb-client>
    </configuration>
  • 新しいセキュリティーレルムを使用するドメインまたはスタンドアロンサーバーでカスタムリモーティングコネクターを作成します。
  • カスタムリモーティングコネクターでプロファイルを使用するよう設定されたサーバーグループに Jakarta Enterprise Beans を追加します。またはマネージドドメインを使用していない場合はスタンドアロンサーバーに Jakarta Enterprise Beans をデプロイします。

6.4.2. 新しいセキュリティーレルムの追加

  1. 管理 CLI の実行:

    jboss-cli.sh または jboss-cli.bat スクリプトを実行し、サーバーに接続します。

  2. 新しいセキュリティーレルム自体を作成します。

    以下のコマンドを実行し、ドメインコントローラーまたはスタンドアロンサーバーに MyDomainRealm という名前の新しいセキュリティーレルムを作成します。

    ドメインインスタンスの場合は、以下のコマンドを使用します。

    /host=master/core-service=management/security-realm=MyDomainRealm:add()

    スタンドアロンインスタンスの場合には、以下のコマンドを使用します。

    /core-service=management/security-realm=MyDomainRealm:add()
  3. myfile.properties という名前のプロパティーファイルを作成します。

    スタンドアロンインスタンスの場合は、EAP_HOME/standalone/configuration/myfile.properties ファイルを作成し、ドメインインスタンスの場合は EAP_HOME/domain/configuration/myfile.properties ファイルを作成します。これらのファイルには、ファイル所有者の読み取りおよび書き込みアクセスが必要です。

    $ chmod 600 myfile.properties
  4. 新規ロールについての情報を格納するプロパティーファイルへの参照を作成します。

    以下のコマンドを実行して、新しいロールに関連するプロパティーが含まれる myfile.properties ファイルへのポインターを作成します。

    注記

    プロパティーファイルは、含まれる add-user.sh スクリプトおよび add-user.bat スクリプトでは作成されません。これは外部に作成する必要があります。

    ドメインインスタンスの場合は、以下のコマンドを使用します。

    /host=master/core-service=management/security-realm=MyDomainRealm/authentication=properties:add(path=myfile.properties)

    スタンドアロンインスタンスの場合には、以下のコマンドを使用します。

    /core-service=management/security-realm=MyDomainRealm/authentication=properties:add(path=myfile.properties)

新しいセキュリティーレルムが作成されます。この新しいレルムにユーザーおよびロールを追加すると、情報はデフォルトのセキュリティーレルムとは別のファイルに保存されます。この新しいファイルは、独自のアプリケーションまたは手順を使用して管理できます。

注記

add-user.sh スクリプトを使用して、application-users.properties 以外のデフォルト以外のファイルにユーザーを追加する場合は、引数 --user-properties myfile.properties を渡す必要があります。それ以外の場合は、application-users.properties の使用を試行します。

6.4.3. セキュリティーレルムへのユーザーの追加

  1. add-user スクリプトを実行します。ターミナルを開き、EAP_HOME/bin/ ディレクトリーに移動します。Red Hat Enterprise Linux またはその他の UNIX と同様のオペレーティングシステムを使用している場合には、add-user.sh を実行します。Windows Server を使用している場合は、add-user.bat を実行します。
  2. 管理ユーザーまたはアプリケーションユーザーを追加するかどうかを選択します。この手順では、b と入力してアプリケーションユーザーを追加します。
  3. ユーザーを追加するレルムを選択します。デフォルトでは、利用可能なレルムは ApplicationRealm のみです。カスタムレルムを追加してしまった場合は、その代わりにユーザーを追加します。
  4. プロンプトが表示されたら、ユーザー名、パスワード、およびロールを入力します。プロンプトが表示されたら、希望のユーザー名、パスワード、および任意のロールを入力します。yes を入力して選択を確認するか、no と入力して変更をキャンセルします。変更は、セキュリティーレルムの各プロパティーファイルに書き込まれます。

6.4.4. セキュリティードメインとセキュリティーレルム間の関係

重要

Jakarta Enterprise Beans をセキュリティーレルムでセキュアにするには、セキュリティーレルムからユーザーの認証情報を取得するように設定したセキュリティードメインを使用する必要があります。これは、ドメインに Remoting および RealmDirect ログインモジュールが必要であることを意味します。セキュリティードメインの割り当ては、Jakarta Enterprise Beans で適用可能な @SecurityDomain アノテーションによって実行されます。

other セキュリティードメインは、基礎となるセキュリティーレルムからユーザーとパスワードデータを取得します。Jakarta Enterprise Beans に @SecurityDomain アノテーションがなく、Jakarta Enterprise Beans にセキュリティーが保護されていると思われる他のセキュリティー関連のアノテーションのいずれかが含まれる場合は、このセキュリティードメインがデフォルトのドメインになります。

接続を確立するためにクライアントによって使用される基礎となる http-remoting connector は、使用するセキュリティーレルムを決定します。http-remoting connector の詳細は、JBoss EAP 設定ガイドAbout the Remoting Subsystem を参照してください。

デフォルトコネクターのセキュリティーレルムは以下のように変更できます。

/subsystem=remoting/http-connector=http-remoting-connector:write-attribute(name=security-realm,value=MyDomainRealm)

6.4.5. SSL 暗号化を使用したリモート Jakarta Enterprise Beans アクセス

デフォルトでは、EJB2 および Jakarta Enterprise Beans3 Bean の Remote Method Invocation (RMI) のネットワークトラフィックは暗号化されません。暗号化が必要なインスタンスでは、クライアントとサーバー間の接続を暗号化する Secure Sockets Layer (SSL) を使用できます。また、SSL を使用すると、ファイアウォールの設定に応じて、ネットワークトラフィックが一部のファイアウォールを通過できるようになります。

警告

Red Hat では、影響するすべてのパッケージで TLSv1.1 または TLSv1.2 を利用するために SSLv2、SSLv3、および TLSv1.0 を明示的に無効化することを推奨しています。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.