WebSphere Application Server, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

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

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

このタスクについて

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

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

プロシージャー

  1. アセンブリー・ツールで、1 つ以上の Web モジュールを含んでいる、 Web アーカイブ (WAR) ファイルまたはアプリケーション・アーカイブ (EAR) ファイルをインポートします。

    詳しくは、Application Server Toolkit の文書の『Importing Web archive (WAR) files』および『Importing an enterprise application EAR file』を参照してください。

  2. Project Explorer フォルダーで、Web アプリケーションを探します。
  3. デプロイメント記述子を右クリックし、「Open With」>「Deployment Descriptor Editor」をクリックします。 「デプロイメント記述子」ウィンドウが開きます。エディターのオンライン情報を参照するには、 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 の使用が必要です。

    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 or /error.jsp を使用できます。 指定されたログイン・ページおよびエラー・ページは、.war ファイル内にあります。
    4. ClientCert」が選択されている場合は、ブラウザーまたは Web クライアントに クライアント証明書をインストールし、クライアント証明書をサーバーの トラスト鍵リング・ファイルに入れます。
  9. デプロイメント記述子エディターを閉じ、プロンプトが出された場合は、 「はい」をクリックして変更を保管します。

結果

Web アプリケーションを保護すると、結果としての Web アーカイブ (WAR) ファイルのデプロイメント記述子には、 セキュリティー情報が格納されます。 Web モジュール・セキュリティー情報は、web.xml ファイルに保管されます。Web デプロイメント記述子エディター で作業する場合、Web プロジェクト内で他のデプロイメント記述子を 編集することもできます (ibm-web-bnd.xmi および ibm-web-ext.xmi ファイル内の バインディングおよび IBM 機能拡張の情報を含む)。

次の作業

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



関連概念
役割ベースの許可
Web コンポーネント・セキュリティー
代行
ポートレット URL のセキュリティー
関連タスク
セキュア・アプリケーションのデプロイ
関連資料
セキュリティー: 学習用リソース
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:05:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tsec_secweb_atk.html