アセンブリー・ツールを使用した Web アプリケーションの保護

Web アプリケーションを構成するために、基本認証、 フォーム・ベースの認証、クライアント証明書ベースの認証という 3 つのタイプの Web ログイン認証メカニズムを使用することができます。 Web アプリケーション内の Web リソースは、それらのリソースにセキュリティー・ロールを 割り当てることにより保護します。

このタスクについて

Web アプリケーションを保護するために、保護の必要な Web リソースを判別し、 それらを保護する方法を決定しておきます。
注: この手順は、アセンブリー・ツールを使用する場合に必要なステップ、または使用しているアセンブリー・ツールのバージョンに一致しない可能性があります。 ご使用のツールおよびバージョンに応じた指示に従う必要があります。

以下のステップでは、アセンブリー・ツールを使用して Web アプリケーションを保護する 方法を詳しく説明します。

手順

  1. アセンブリー・ツールで、1 つ以上の Web モジュールを含んでいる、 Web アプリケーション・アーカイブ (WAR) ファイルまたはアプリケーション・アーカイブ (EAR) ファイルをインポートします。
  2. Project Explorer フォルダーで、Web アプリケーションを探します。
  3. デプロイメント記述子を右クリックし、「アプリケーションから開く」>「デプロイメント記述子エディター」をクリックします。 「デプロイメント記述子」ウィンドウが開きます。エディターのオンライン情報を参照するには、 F1 を押して、エディター名をクリックします。 Web アプリケーション・アーカイブ (WAR) ファイルを選択すれば、 Web デプロイメント記述子エディターが開きます。エンタープライズ・アプリケーション (EAR) ファイル を選択すれば、アプリケーション・デプロイメント記述子エディターが開きます。
  4. アプリケーション・レベルまたは Web モジュール・レベルで セキュリティー・ロールを作成します。 セキュリティー・ロールが Web モジュール・レベルで作成される場合は、 ロールもアプリケーション・レベルで表示されます。 セキュリティー・ロールがアプリケーション・レベルで作成される場合、 ロールはすべての Web モジュールで表示されません。 アプリケーション・レベルでセキュリティー・ロールをコピーして 1 つ以上の Web モジュール・セキュリティー・ロールに貼り付けることができます。
    • Web モジュール・レベルでロールを作成します。Web デプロイメント記述子エディターで、 「セキュリティー」タブをクリックします。「セキュリティー・ロール」の下で、「追加」をクリックします。セキュリティー・ロール名を入力し、 セキュリティー・ロールの説明を入力して、「終了」をクリックします。
    • アプリケーション・レベルでロールを作成します。アプリケーション・デプロイメント記述子エディターで、 「セキュリティー」タブをクリックします。セキュリティー・ロールのリスト下で、「追加」をクリックします。 「セキュリティー・ロールの追加」 ウィザードで、セキュリティー・ロールに名前を付け、記述します。次に「終了」をクリックします。
  5. セキュリティー制約を作成します。 セキュリティー制約は、1 つ以上の Web リソースをロールのセットにマップすることです。
    1. Web デプロイメント記述子エディターの「セキュリティー」タブで 「セキュリティー制約」をクリックします。 「セキュリティー制約」タブでは、 以下のアクションを行うことができます。
      • 特定のセキュリティー・ロールのセキュリティー制約を追加または除去します。
      • Web リソースおよびその HTTP メソッドを追加または除去します。
      • どのセキュリティー・ロールを許可して Web リソースにアクセスするかを定義します。
      • ユーザー・データ上で None、Integral、または Confidential 制約を指定します。
        なし
        アプリケーションは、トランスポート保証を必要としません。
        Integral
        データは、クライアントとサーバーの間で転送中に変更できません。
        Confidential
        データ内容は、転送中に参照できません。

        通常、Integral および Confidential では SSL の使用が必要です。公衆網を介して使用できるアプリケーションをデプロイする場合は、 Web アプリケーションの制約に Confidential を指定します。

    2. 「セキュリティー制約」の下で、「追加」をクリックします。
    3. 「Constraint name」の下で、セキュリティー制約の表示名を指定し、 「次へ」をクリックします。
    4. Web リソース・コレクションの名前と記述を入力します。
    5. 1 つ以上の HTTP メソッドを選択します。 HTTP メソッドのオプションは、 GET、PUT、HEAD、TRACE、POST、DELETE、および OPTIONS です。
    6. 「Patterns」フィールドで「追加」をクリックします。
    7. URL パターンを指定します。 例えば、- /*, *.jsp, /hello のように入力します。URL パターンのサーブレットへのマッピングの説明については、 サーブレット仕様バージョン 2.4 を参照してください。セキュリティー・ランタイムは、最初に完全一致を使用して、着信 URL を URL パターンとマップします。 完全一致が存在しない場合、セキュリティー・ランタイムは最長一致を使用します。ワイルドカード (*.*.jsp) を使用した URL パターンのマッチング は、最後に使用されます。
    8. 終了」をクリックします。
    9. これまでのステップを繰り返して、複数のセキュリティー制約を作成します。
  6. security-role-ref エレメントおよび role-name エレメントを role-link エレメントにマップします。 Web アプリケーションの開発時に、security-role-ref エレメントを作成できます。 security-role-ref エレメントは、role-name フィールドのみを含んでいます。 role-name フィールドは、ロールの名前を含んでいます。 このロールの名前は、サーブレットまたは JavaServer Pages (JSP) コード内で参照されて、 指定されたロール内に呼び出し元があるかどうかを判別します。 セキュリティー・ロールはアセンブリー段階で作成されるため、 開発者は「role-name」フィールドで論理ロール名を使用し、アセンブラー の「説明」フィールドに十分な説明を記述して、実際のロールをマップします。security-role-ref エレメントはサーブレット・レベルにあります。 サーブレットまたは JavaServer Pages (JSP) ファイルは、ゼロ個以上の security-role-ref エレメント を保有できます。
    1. Web デプロイメント記述子エディターの「参照」タブにジャンプします。 「参照」タブで、デプロイメント記述子へのエンタープライズ Bean 参照の 名前を追加または除去できます。このタブで、5 つのタイプの参照を定義することができます。
      • EJB 参照 (EJB reference)
      • サービス参照
      • リソース参照
      • メッセージ宛先参照
      • セキュリティー・ロール参照
      • リソース環境参照
    2. Enterprise JavaBeans (EJB) 参照のリストの下で、「追加」をクリックします。
    3. 名前」および「参照タイプ」フィールドで、参照の名前と タイプを指定します。
    4. Enterprise Beans in the workplace」または「Enterprise Beans not in the workplace」のいずれかを選択します。
    5. オプション: Enterprise Beans not in the workplace」を選択した場合は、「タイプ」フィールドで EnterpriseBean のタイプ を選択します。 エンティティー Bean またはセッション Bean のいずれかを指定できます。
    6. オプション: 参照」をクリックして、 「ローカル・ホーム」および「ローカル」フィールドで、ローカル・ホームおよび ローカル・インターフェースの値を指定してから、「次へ」をクリックします。
    7. 開発中に使用される role-name をすべて、上記のステップを使用して ロールにマップします。 これで、開発中に使用されるすべての ロール名が実際のロールにマップされました。
  7. サーブレットおよび JSP ファイルの RunAs ID を指定します。 サーブレットの RunAs ID は、サーブレット・コード内からエンタープライズ Bean を 呼び出すために使用されます。エンタープライズ Bean が呼び出されると、RunAs ID はエンタープライズ Bean に渡されて、エンタープライズ Bean 上で許可検査が実行されます。 RunAs ID が指定されていないと、クライアントの ID がエンタープライズ Bean に伝搬されます。 RunAs ID は、サーブレット・レベルで割り当てられます。
    1. Web デプロイメント記述子エディターの「サーブレット」タブの「Servlets and JSP」の下で、 「追加」をクリックします。「Add Servlet or JSP」ウィザードが開きます。
    2. 名前、初期化パラメーター、および URL マッピングなどの サーブレットまたは JavaServer Pages (JSP) ファイル設定を指定し、「次へ」をクリックします。
    3. クラス・ファイルの宛先を指定します。
    4. 次へ」をクリックして追加設定を指定するか、 「完了」をクリックします。
    5. サーブレット」タブの「Run As」をクリックし、セキュリティー・ロールを選択して、 ロールの説明を入力します。
    6. Web アプリケーションが使用する各サーブレットおよび JSP ファイルの RunAs ID を指定します。
  8. Web モジュールのログイン・メカニズムを構成します。この構成されたログイン・メカニズムは、 Web モジュール内のすべてのサーブレット、JavaServer Pages (JSP) ファイル、および HTML リソースに適用されます。
    1. Web デプロイメント記述子エディターの「ページ」タブで「ログイン」をクリックします。必要な認証メソッドを選択します。 有効なメソッドの値は、Unspecified、Basic、Digest、Form、および Client-Cert です。
    2. レルム名を指定します。
    3. フォーム認証メソッドを選択する場合は、「ログイン」ページおよび「エラー」ページの Web アドレスを選択します。 例えば、/login.jsp または /error.jsp を使用できます。 指定されたログイン・ページおよびエラー・ページは、.war ファイル内にあります。
    4. [AIX Solaris HP-UX Linux Windows][IBM i]ClientCert」が選択されている場合は、ブラウザーまたは Web クライアントに クライアント証明書をインストールし、クライアント証明書をサーバーの トラスト鍵リング・ファイルに入れます。
    5. [z/OS]「ClientCert」証明書が選択されている場合は、ブラウザー Web クライアントに クライアント証明書をインストールし、クライアント証明書をサーバーの トラスト鍵リング・ファイルに入れます。 クライアント認証局の公開証明書を、サーバーの RACF® 鍵リングに 入れる必要があります。 レジストリーがローカル OS レジストリーである場合は、RACDCERT MAP または 同等の System Authorization Facility (SAF) コマンドを使用して、クライアント証明書を 使用して MVS™ ID 作成を使用可能にします。
  9. デプロイメント記述子エディターを閉じ、プロンプトが出された場合は、 「はい」をクリックして変更を保存します。

タスクの結果

Web アプリケーションを保護すると、結果としての Web アプリケーション・アーカイブ (WAR) ファイルのデプロイメント記述子には、 セキュリティー情報が格納されます。 Web モジュール・セキュリティー情報は、web.xml ファイルに保管されます。 Web デプロイメント記述子エディター で作業する場合、Web プロジェクト内で他のデプロイメント記述子を 編集することもできます (ibm-web-bnd.xmi および ibm-web-ext.xmi ファイル内の バインディングおよび IBM® 機能拡張の情報を含む)。
サポートされる構成 サポートされる構成: IBM 拡張ファイル およびバインディング・ファイルの場合、.xmi または .xml ファイル名拡張子は、Java EE 5 より前のアプリケーションまたはモジュールを使用しているか、 あるいは Java EE 5 以降のアプリケーションまたは モジュールを使用しているかによって異なります。IBM 拡張 ファイルまたはバインディング・ファイルは、ibm-*-ext.xmi または ibm-*-bnd.xmi という名前です。 ここで * は拡張ファイルまたはバインディング・ファイルのタイプ (app、application、ejb-jar、 または web など) です。以下の条件が適用されます。
  • バージョン 5 より前の Java EE バージョンを使用するアプリケーションまたはモジュールの場合、ファイル拡張子は .xmi でなければなりません。
  • Java EE 5 以降を使用するアプリケーションまたはモジュールの場合、ファイル拡張子は .xml でなければなりません。.xmi ファイルがアプリケーションまたはモジュールに組み込まれている場合、.xmi ファイルは無視されます。

ただし、Java EE 5 以降のモジュールが、Java EE 5 より前のファイルを含み .xmi ファイル名拡張子を使用する アプリケーション内に存在することは可能です。

ibm-webservices-ext.xmiibm-webservices-bnd.xmiibm-webservicesclient-bnd.xmiibm-webservicesclient-ext.xmi、 および ibm-portlet-ext.xmi ファイルは、引き続き .xmi ファイル拡張子 を使用します。

sptcfg

次のタスク

アセンブリー・ツールを使用して Web アプリケーションを保護すると、 管理コンソールを使用して Web アプリケーションをインストールすることができます。Web アプリケーションのインストール中に、 セキュア・アプリケーションのデプロイのステップを完了して、Web アプリケーションの保護を終了します。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_secweb_atk
ファイル名:tsec_secweb_atk.html