This script opens a new, small, floating window and puts TOC<name>.html and IX<name>.html files in it and sets a generic popup window code to enable the display of some viewlets in the WebLogic Platform Tour.
前 次

 プロダクション モードへの移行

チュートリアル 19 : セキュリティ コンフィグレーションのコピーと再初期化

このチュートリアルでは、セキュリティ コンフィグレーションをデプロイメント記述子からコンフィグレーション済みの認可プロバイダとロール マッピング プロバイダのデータベースにコピーして、その後のセキュリティ ポリシーとセキュリティ ロールの変更を Administration Console から行えるようにする方法を説明します。また、元のデプロイメント記述子を使用してセキュリティ コンフィグレーションを再初期化する方法も説明します。

このチュートリアルは、以下の節で構成されています。

 

 

 

前提条件

このチュートリアルを開始する前に、以下のことを行ってください。

 

 

 

手順

このチュートリアルは、主に以下の 3 つの手順で構成されます。

手順 1 : セキュリティ コンフィグレーションをコピーする

adminWebApp Web アプリケーションのセキュリティ コンフィグレーションを、そのデプロイメント記述子からコンフィグレーション済みの認可プロバイダとロール マッピング プロバイダのデータベースにコピーするには、次の手順に従います。

手順 1 : セキュリティ レルム設定を指定して Web アプリケーションをデプロイする

  1. Administration Console の左側のナビゲーション ツリーで [セキュリティ|レルム] を展開します。

  2. [myrealm] セキュリティ レルムをクリックします。

  3. [全般] タブで、[ロールとポリシーのチェック対象] ドロップダウン メニューの値として [すべての Web アプリケーションと EJB] を選択します。

    この設定では、WebLogic Security サービスがすべての URL (Web) リソースおよび EJB リソースに対してセキュリティ チェックを実行します。詳細については、『WebLogic リソースのセキュリティ』の「セキュリティ ロールとセキュリティ ポリシーをチェックする方法」を参照してください。

    [ロールとポリシーのチェック対象] ドロップダウン メニューの値として [すべての Web アプリケーションと EJB] がすでに選択されている場合は、手順 4 に進みます。

  4. [今後の再デプロイの設定] ドロップダウン メニューから [デプロイメント記述子のロールとポリシーを初期化] を選択します。

    この設定にすると、WebLogic Server はリソースをデプロイするたびに、URL (Web) リソースおよび EJB リソースのセキュリティ コンフィグレーションをデプロイメント記述子からコンフィグレーション済みの認可プロバイダとロール マッピング プロバイダのデータベースにコピーします。詳細については、『WebLogic リソースのセキュリティ』の「WebLogic リソースを再デプロイするときの処理」を参照してください。

  5. [適用] をクリックして、変更を保存します。

  6. 手順 2 で [ロールとポリシーのチェック対象] ドロップダウン メニューの値を [すべての Web アプリケーションと EJB] に設定する必要があった場合 (つまり、まだこのように設定されていなかった場合) は、サーバを再起動します。詳細については、『WebLogic Server のコンフィグレーションと管理』の「サーバの起動と停止 : クイック リファレンス」を参照してください。

    手順 3 で [ロールとポリシーのチェック対象] ドロップダウン メニューの値を変更する必要がなかった場合は、サーバを再起動せずに手順 7 に進みます。

  7. adminWebApp Web アプリケーション モジュールをデプロイして、MedRecServer に割り当てます。

    Web アプリケーションのデプロイ手順については、『WebLogic Server アプリケーションのデプロイメント』を参照してください。

手順 2 : コピーしたセキュリティ ポリシーを検証する (省略可能)

  1. adminWebApp Web アプリケーションの web.xml デプロイメント記述子を開き、<url-pattern> および <http-method> 要素の内容と、<auth-constraint> 要素の <role-name> 下位要素の内容を記録しておきます。コード リスト 1 は、web.xml デプロイメント記述子ファイルの関連部分を太字で示しています。

    コード リスト 1 : adminWebApp Web アプリケーションの web.xml デプロイメント記述子

    <!DOCTYPE web-app (View Source for full doctype...)> 
    <web-app>
          ...
          <security-constraint>
                <web-resource-collection>
                      <web-resource-name>images</web-resource-name>
                      <url-pattern>*.gif</url-pattern>
               </web-resource-collection>
          </security-constraint>
          <security-constraint>
                <web-resource-collection>
                      <web-resource-name>UnsecureLoginAction
                      </web-resource-name>
                      <url-pattern>login.do</url-pattern>
               </web-resource-collection>
          </security-constraint>
          <security-constraint>
                <web-resource-collection>
                      <web-resource-name>UnsecureLoginPages
                      </web-resource-name>
                      <url-pattern>Login.jsp</url-pattern>
               </web-resource-collection>
          </security-constraint>
          <security-constraint>
                <web-resource-collection>
                      <web-resource-name>AdminActions</web-resource-name>
                      <description>These pages are only accessible by authorized administrators.</description>
                     <url-pattern>*.do</url-pattern>
                      <url-pattern>*.jsp</url-pattern>
                      <http-method>POST</http-method>
                      <http-method>GET</http-method>
               </web-resource-collection>
                <auth-constraint>
                      <description>These are the roles who have access.</description>
                      <role-name>admin</role-name>
               </auth-constraint>
                ...
          </security-constraint>
          ...
          <security-role>
                <description>An administrator</description>
                <role-name>admin</role-name>
         </security-role>
    </web-app>

  2. Administration Console の左側のナビゲーション ツリーで [Web アプリケーション モジュール] を展開し、[adminWebApp] を右クリックします。

  3. メニューから [セキュリティ ポリシーを定義] を選択し、[全般] タブを表示します。

    [定義済みの URL パターン] の見出しの下に、手順 1 で記録した URL パターンに対応する 5 つの URL パターンのハイパーリンクが表示されます。

  4. URL パターン *.do のハイパーリンクをクリックして、ポリシー エディタ ページを表示します。

  5. [メソッド] ドロップダウン メニューから [POST] を選択します。

    [呼び出し側に許可するロールは] ポリシー条件が強調表示され、[ポリシー文] リスト ボックスに次のように表示されます。

    呼び出し側に許可するロールは

    admin

    クリックしたハイパーリンクの URL パターンに対応する <http-method> 要素が web.xml デプロイメント記述子にない場合は、[メソッド] ドロップダウン メニューの値が [ALL] であれば、[ポリシー文] リスト ボックスに適切なセキュリティ ポリシーが表示されます。[メソッド] ドロップダウンの値が [ALL] であれば、たとえばコード リスト 1 の URL パターン *.gif に対するセキュリティ ポリシーが表示されます。

    URL パターンに対応する <auth-constraint> 要素が web.xml デプロイメント記述子にない場合は、その URL パターンに対するセキュリティ ポリシーが Anonymous グローバル ロールで作成されます。たとえばコード リスト 1 の URL パターン *.gif に対するセキュリティ ポリシーが作成されます。デフォルト グローバル ロールの詳細については、『WebLogic リソースのセキュリティ』の「デフォルト グローバル ロール」を参照してください。

  6. 手順 2 から 5 を繰り返して複数のセキュリティ ポリシーを検証します。

手順 3 : コピーしたセキュリティ ロールを検証する (省略可能)

  1. adminWebApp Web アプリケーションの weblogic.xml デプロイメント記述子を開き、<security-role-assignment> 要素の内容、特に <role-name> および <principal-name> の各下位要素の内容を記録しておきます。コード リスト 2 は、weblogic.xml デプロイメント記述子ファイルの関連部分を太字で示しています。

    コード リスト 2 : adminWebApp Web アプリケーションの weblogic.xml デプロイメント記述子

    <!DOCTYPE weblogic-web-app (View Source for full doctype...)> 
          <weblogic-web-app>
                <context-root>admin</context-root>
                <security-role-assignment>
                     <role-name>admin</role-name>
                      <principal-name>admin</principal-name>
               </security-role-assignment>
          </weblogic-web-app>

  2. Administration Console の左側のナビゲーション ツリーで adminWebApp Web アプリケーションを右クリックします。

  3. メニューから [ロール スコープを定義] を選択し、[全般] タブを表示します。

  4. URL パターン /* のハイパーリンクをクリックします。

    [スコープ指定ロール] ページには、WebLogic ロール マッピング プロバイダのデータベースで現在定義されているこの Web アプリケーションのすべてのスコープ ロール (admin というスコープ ロールを含む) が表示されます。

    URL パターン /* により、デプロイメント記述子から取得されたセキュリティ ロールが、コンフィグレーション済みのロール マッピング プロバイダのデータベースにスコープ ロールとして必ずコピーされます。

  5. スコープ ロール admin のハイパーリンクをクリックします。

  6. [条件] タブを選択します。

    [ロール文] リスト ボックスに、デプロイメント記述子の対応する <principal-name> 要素の内容に基づくロール文が表示されます。ここでは admin というユーザまたはグループが表示されます。

手順 4 : [今後の再デプロイの設定] の設定を元に戻す

警告:この手順は確実に完了する必要があります。この設定を元に戻さないと、URL (Web) リソースの再デプロイ時に、セキュリティ コンフィグレーションに一貫性がなくなるおそれがあります。この手順を誤ったり、実行しなかった場合、次にポリシー エディタ ページをロードしたときに以下のようなメッセージが表示されます。

以下の情報は正しくない可能性があります。正確な情報が表示されていることを確認するには、WebLogic リソースを削除して再デプロイする必要があります。

  1. Administration Console の左側のナビゲーション ツリーで [セキュリティ|レルム] を展開します。

  2. [myrealm] セキュリティ レルムをクリックします。

  3. [全般] タブで、[今後の再デプロイの設定] ドロップダウン メニューから [デプロイメント記述子のロールとポリシーを無視] を選択します。

    この設定では、デプロイメント記述子を使用しないで、Administration Console を使用して、URL (Web) リソースおよび EJB リソースのセキュリティを設定します。 詳細については、『WebLogic リソースのセキュリティ』の「WebLogic リソースをデプロイするときの処理」を参照してください。

  4. [適用] をクリックして、変更を保存します。

手順 2 : Administration Console を使用してセキュリティ ポリシーを変更する

  1. Administration Console の左側のナビゲーション ツリーで [Web アプリケーション モジュール] を展開し、[adminWebApp] を右クリックします。

  2. メニューから [セキュリティ ポリシーを定義] を選択し、[全般] タブを表示します。

    5 つの URL パターンのハイパーリンクが、[定義済みの URL パターン] の見出しの下にリストされている、「手順 2 : コピーしたセキュリティ ポリシーを検証する (省略可能)」で記録した URL パターンに対応しています。

  3. URL パターン *.do のハイパーリンクをクリックして、ポリシー エディタ ページを表示します。

  4. [メソッド] ドロップダウン メニューから [POST] を選択します。

    [呼び出し側に許可するロールは] ポリシー条件が強調表示され、[ポリシー文] リスト ボックスに次のように表示されます。

    呼び出し側に許可するロールは

    admin

  5. [ポリシー条件] リスト ボックスで、[アクセス可能な時間帯は] というポリシー条件を強調表示します。

  6. [追加] をクリックし、次に [時間制約] ウィンドウで [OK] をクリックしてデフォルトの開始時刻と終了時刻を選択します。

    [ポリシー文] リスト ボックスに次のように表示されます。

    呼び出し側に許可するロールは

    developers

    アクセス可能な時間帯は

    08:00:00 and 19:00:00

  7. [適用] をクリックして、変更を保存します。

手順 3 : セキュリティ コンフィグレーションを再初期化する

adminWebApp Web アプリケーションのデプロイメント記述子のセキュリティ コンフィグレーションを再初期化するには、次の手順に従います。

手順 1 : [今後の再デプロイの設定] の設定を変更する

  1. Administration Console の左側のナビゲーション ツリーで [セキュリティ|レルム] を展開します。

  2. [myrealm] セキュリティ レルムをクリックします。

  3. [全般] タブで、[今後の再デプロイの設定] ドロップダウン メニューから [デプロイメント記述子のロールとポリシーを初期化] を選択します。

    この設定では、リソースをデプロイするたびに、WebLogic Server が URL (Web) リソースおよび EJB リソースのセキュリティ コンフィグレーションを、デプロイメント記述子からコンフィグレーション済みの認可プロバイダとロール マッピング プロバイダのデータベースにコピーします。詳細については、『WebLogic リソースのセキュリティ』の「WebLogic リソースを再デプロイするときの処理」を参照してください。

    [ロールとポリシーのチェック対象] ドロップダウン メニューの値として [すべての Web アプリケーションと EJB] がすでに選択されている場合は、手順 4 に進みます。

  4. [適用] をクリックして、変更を保存します。

手順 2 : adminWebApp Web アプリケーションを再デプロイする

  1. Administration Console の左側のナビゲーション ツリーで [デプロイメント|Web アプリケーション モジュール] を展開します。

  2. adminWebApp Web アプリケーションをクリックしてください。

    右ペインに、すべての Web アプリケーション モジュールまたは EJB モジュールを示すテーブルが表示されます。

  3. adminWebApp Web アプリケーションと同じ行にあるごみ箱アイコンをクリックします。

  4. [はい]、続いて [続行] をクリックし、adminWebApp Web アプリケーションを削除します。

    adminWebApp Web アプリケーションが表示されなくなります。

  5. adminWebApp Web アプリケーション モジュールを割り当てた MedRecServer に対応する [デプロイ] ボタンをクリックします。

  6. MedRecServer を対象として adminWebApp Web アプリケーションを再デプロイします。

    注意 :Web アプリケーション モジュールおよび EJB モジュールをデプロイする手順については、『WebLogic Server アプリケーションのデプロイメント』を参照してください。

手順 3 : セキュリティ コンフィグレーションの再初期化を検証する (省略可能)

  1. Administration Console の左側のナビゲーション ツリーで [adminWebApp] を右クリックします。

  2. メニューから [セキュリティ ポリシーを定義] を選択し、[全般] タブを表示します。

    5 つの URL パターンのハイパーリンクが、[定義済みの URL パターン] の見出しの下にリストされている、手順 1 で記録した URL パターンに対応しています。

  3. URL パターン *.do のハイパーリンクをクリックして、ポリシー エディタ ページを表示します。

  4. [メソッド] ドロップダウン メニューから [POST] を選択します。

    [呼び出し側に許可するロールは] ポリシー条件が強調表示され、[ポリシー文] リスト ボックスに次のように表示されます。

    呼び出し側に許可するロールは

    admin

    手順 2 : Administration Console を使用してセキュリティ ポリシーを変更する」で [アクセス可能な時間帯は] ポリシー条件を使用して作成したポリシー文は、セキュリティ コンフィグレーションを初期化したデプロイメント記述子に定義されていないため失われます。

手順 4 : [今後の再デプロイの設定] の設定を元に戻す

警告:この手順は確実に完了する必要があります。この設定を元に戻さないと、URL (Web) リソースの再デプロイ時に、セキュリティ コンフィグレーションに一貫性がなくなるおそれがあります。この手順を誤ったり、実行しなかった場合、次にポリシー エディタ ページをロードしたときに以下のようなメッセージが表示されます。

以下の情報は正しくない可能性があります。正確な情報が表示されていることを確認するには、WebLogic リソースを削除して再デプロイする必要があります。

  1. Administration Console の左側のナビゲーション ツリーで [セキュリティ|レルム] を展開します。

  2. [myrealm] セキュリティ レルムをクリックします。

  3. [全般] タブで、[今後の再デプロイの設定] ドロップダウン メニューから [デプロイメント記述子のロールとポリシーを無視] を選択します。

    注意 :この設定では、デプロイメント記述子を使用しないで、Administration Console を使用して、URL (Web) リソースおよび EJB リソースのセキュリティを設定します。詳細については、『WebLogic リソースのセキュリティ』の「WebLogic リソースをデプロイするときの処理」を参照してください。

  4. [適用] をクリックして、変更を保存します。

 

 

 

ベスト プラクティス

 

 

 

全体像

このチュートリアルでは、Web アプリケーションのセキュリティ コンフィグレーションを、デプロイメント記述子からコンフィグレーション済みの認可プロバイダおよびロール マッピング プロバイダのデータベースにコピーして、その後の Web アプリケーションのセキュリティ ロールとセキュリティ ポリシーの変更を Administration Console から行えるようにする方法を説明しています。Web アプリケーションの元のデプロイメント記述子を使用してセキュリティ コンフィグレーションを再初期化する方法を、同じ例を使用して説明しています。

完全な MedRec アプリケーションでも、「チュートリアル 17 : Administration Console を使用したアプリケーション リソースと URL (Web) リソースの保護」および「チュートリアル 18 : Administration Console を使用したエンタープライズ JavaBean (EJB) リソースの保護」で説明しているプリンシパル (およびプログラムによるセキュリティ) を使用して MedRec の管理者と患者の両方の EJB リソースを保護します。

 

 

 

関連情報

 

 ページの先頭 前 次