検索

3.2. 仮想セキュリティードメインを使用した Jakarta Enterprise Beans アプリケーションの保護

download PDF

elytron-oidc-client サブシステムによって作成された仮想セキュリティードメインを使用すると、Jakarta Enterprise Beans がその呼び出し元のサーブレットと同じデプロイメントに配置されている場合でも、異なるデプロイメントに配置されている場合でも、Jakarta Enterprise Beans を保護できます。

Jakarta Enterprise Beans がその呼び出し元のサーブレットと同じデプロイメントに配置されている場合、サーブレットから Jakarta Enterprise Beans にセキュリティーアイデンティティーをアウトフローするための設定は必要ありません。

サーブレットから別のデプロイメントにある Jakarta Enterprise Beans にセキュリティーアイデンティティーをアウトフローするには、この手順のステップを実行します。

前提条件

  • OpenID Connect (OIDC) プロバイダーを使用して、Jakarta Enterprise Beans の呼び出し元のアプリケーションを保護している。
  • 保護対象の Jakarta Enterprise Beans を作成している。

手順

  1. OIDC で保護されたサーブレットを含む WAR、または OIDC で保護されたサブデプロイメントを含む EAR を参照する virtual-security-domain リソースを作成します。

    構文

    /subsystem=elytron/virtual-security-domain=<deployment_name>:add()

    例:

    /subsystem=elytron/virtual-security-domain=simple-ear-example.ear:add()

  2. アプリケーションの保護に使用する仮想セキュリティードメインリソースを参照する org.jboss.ejb3.annotation.SecurityDomain アノテーションを Jakarta Enterprise Beans アプリケーションに追加します。

    構文

    @SecurityDomain("<deployment_name>")

    例:

    ...
    @SecurityDomain("simple-ear-example.ear")
    @Remote(RemoteHello.class)
    @Stateless
    public class RemoteHelloBean implements RemoteHello {
    
      @Resource
      private SessionContext context;
    
      @Override
      public String whoAmI() {
        return context.getCallerPrincipal().getName();
      }
    
    }

    OIDC で保護されたサーブレットからこの Jakarta Enterprise Beans を呼び出す場合、whoAmI () によって返されるプリンシパルは、サーブレットが OIDC プロバイダーから取得したプリンシパルと一致します。

  3. Jakarta Enterprise Beans をデプロイします。

    例:

    $ mvn wildfly:deploy

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.