第1章 Java EE の宣言型セキュリティの概要


Java EE セキュリティモデルは、ビジネスコンポーネントにセキュリティを組み込むのではなく、セキュリティロールとパーミッションを標準 XML 記述子に記述するため宣言的です。セキュリティは、コンポーネントのビジネスロジック固有の側面よりもコンポーネントがデプロイされる機能に依存しているため、セキュリティをビジネスレベルのコードから分離させます。
例えば、銀行口座にアクセスするために使用される現金自動預払機 (ATM) のコンポーネントを考えてみましょう。このコンポーネントのセキュリティ要件、ロール、パーミッションは銀行口座にアクセスする方法とは関係なく異なります。口座情報にアクセスする方法も、口座を管理している銀行、ATM の場所によって違います。
Java EE のアプリケーションをセキュアにすることは、標準 Java EE デプロイメント記述子によるアプリケーションセキュリティ要件の仕様に基づきます。ejb-jar.xmlweb. xml デプロイメント記述子を使用して、エンタープライズアプリケーションの EJB と Web コンポーネントへのアクセスをセキュアにします。次項では様々なセキュリティ要素の目的と使用方法について見ていきます。

1.1. セキュリティ参照

Enterprise Java Beans (EJB) とサーブレットのどちらも 1 つ以上の <security-role-ref> 要素を宣言できます。図1.1「<security-role-ref> 要素」<security-role-ref> 要素、その子要素、属性について説明しています。

図1.1 <security-role-ref> 要素

この要素は、コンポーネントが <role-name> 要素の role-nameType 属性値を isCallerInRole(String) メソッドへの引数として使用していることを宣言します。isCallerInRole メソッドを使用することで、コンポーネントは呼び出し側が <security-role-ref> または <role-name> 要素で宣言されたロールにあるか検証できます。<role-name> 要素値は <role-link> 要素を通じて <security-role> 要素にリンクする必要があります。isCallerInRole の一般的な使用方法は、ロールベースの <method-permissions> 要素を使用して定義できないセキュリティ確認を実行することです。
例1.1「ejb-jar.xml 記述子の一部」 では ejb-jar.xml ファイルの <security-role-ref> の使用について説明しています。

例1.1 ejb-jar.xml 記述子の一部

<!-- A sample ejb-jar.xml fragment -->
<ejb-jar>
  <enterprise-beans>
    <session>
      <ejb-name>ASessionBean</ejb-name>
      ...
      <security-role-ref>
          <role-name>TheRoleICheck</role-name>
          <role-link>TheApplicationRole</role-link>
      </security-role-ref>
    </session>
  </enterprise-beans>
  ...
</ejb-jar>
Copy to Clipboard Toggle word wrap
例1.2「web.xml 記述子の一部」 では web.xml ファイルの <security-role-ref> の使用について示しています。

注記

この記述子の一部はほんの一例です。デプロイメントでは、本項の要素に EJB デプロイメントに関連するロール名とリンクが含まれる必要があります。

例1.2 web.xml 記述子の一部

<web-app>
    <servlet>
        <servlet-name>AServlet</servlet-name>
        ...
        <security-role-ref>
            <role-name>TheServletRole</role-name>
            <role-link>TheApplicationRole</role-link>
        </security-role-ref>
    </servlet>
    ...
</web-app>
Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat