ヘッダーをスキップ
Oracle® Fusion Middleware Webサービスのためのセキュリティおよび管理者ガイド
11gリリース1(11.1.1)
B56247-02
  目次
目次

戻る
戻る
 
次へ
次へ
 

17 MDSリポジトリの管理

次の項目では、Oracle WebサービスのMetadata Services(MDS)リポジトリを管理するためのガイダンスを示します。

MDSリポジトリの概要

Oracle Web Services Manager(WSM)は、MDSリポジトリを使用してポリシー、アサーション・テンプレート、およびポリシーの使用状況データを格納します。ポリシー、アサーション・テンプレート、および使用状況データは、開発でサポートされているファイルシステムにファイルとして格納することも、本番環境でサポートされているOracle Fusion Middlewareデータベースに格納することもできます。

このリリースでサポートされているデータベースのリストは、http://www.oracle.com/technology/software/products/ias/files/fusion_certification.htmlOracle Fusion Middlewareでサポートされているシステム構成に関する項を参照してください。

リポジトリ内では、各ポリシーがURIを持ち、それを評価してパスが形成され、そのパスにポリシーを含む特定のXMLドキュメントが置かれます。Oracle WSMはMDSカスタマイズ機能を使用しません。そのためすべてのポリシーは完全なドキュメントとして格納されます。MDSには指定されたドキュメントの複数のバージョンを格納する機能がありますが、Oracle WSMはポリシー強制時に最新バージョンのみにアクセスします。

MDSリポジトリの管理に関する詳細は、次のドキュメントを参照してください。

ポリシーのインポートとエクスポートの異なるメカニズムの理解

ポリシーのMDSリポジトリへのインポートやMDSリポジトリからのエクスポートは、Fusion Middleware ControlとMDS WebLogic Scripting Tool(WLST)コマンドのどちらでも使用できます。この2つのメカニズムが同じ基本機能を実行する一方で、どちらを使用するかを決定する前に、これらの動作の微妙な違いについて理解しておく必要があります。

次の項では、2つのメカニズムの相違点について説明します。

Fusion Middleware Controlの使用

Oracle Enterprise Manager Fusion Middleware Controlには、1つのポリシーを一度に選択的にインポートおよびエクスポートする機能があります。Fusion Middleware Controlを使用してポリシーをインポートまたはエクスポートする場合、操作はOracle WSM Policy Managerアプリケーションのインスタンスによってルーティングされます。ランタイム時にポリシーのリクエストが行われたときには、常に最新のポリシーが提供されることがPolicy Managerによって保証されます。そのため、常に最新のポリシーが強制されます。

Fusion Middleware Controlを使用したポリシーのインポートおよびエクスポートの手順は、次の項で説明されています。

MDSのカスタムWLSTコマンドの使用

MDSのカスタムWLSTコマンドには、コマンドライン・インタフェースが用意されており、これを使用してMDSリポジトリを直接変更できます。Fusion Middleware Controlとは異なり、MDS WLSTコマンドimportMetadataおよびexportMetadataを使用してポリシーをインポートまたはエクスポートする場合は、Oracle WSM Policy Managerのインスタンスによってルーティングされません。結果として、Oracle Web Services Managerは変更に気付かず、古いポリシーを強制し続ける可能性があります。必ず最新のポリシーのみが強制されるようにするには、MDSリポジトリが登録されているすべてのサーバーを再起動する必要があります。

これらのコマンドの使用例は、「ポリシーの移行」に記載されています。

importMetadataおよびexportMetadataコマンドの詳細は、WebLogic Scripting Toolコマンド・リファレンスのMetadata Services(MDS)のカスタムWLSTコマンドに関する項を参照してください。

アプリケーション環境間のポリシーの移行

ポリシーは、アプリケーションの開発およびデプロイのサイクルにおいて様々なステージ間(開発から本番へなど)で移行できます。ポリシーの移行の詳細は、「ポリシーの移行」を参照してください。

MDS WLSTコマンドを使用して移行を行う場合は、必ず目的のポリシーのみが転送されるようにすることが重要です。docsパラメータを使用して、エクスポート(exportMetadataコマンドを使用)またはインポート(importMetadataコマンドを使用)するメタデータ・オブジェクトのセットを指定します。値に/**を指定すると(デフォルト)、ポリシー、アサーション・テンプレート、ポリシー使用状況データなどのすべてのオブジェクトが転送されます。すべてのポリシーおよびアサーション・テンプレートを転送することが望ましい場合もありますが、ポリシー使用状況データを転送すると、ソースとターゲットの環境が異なる場合には、Fusion Middleware Controlでレポートされる使用状況分析数にエラーが発生します。そのため、ポリシーのエクスポートを実行する際は、より具体的なパスを使用することをお薦めします。

ポリシーの名前が「ポリシーの推奨ネーミング規則」に記載されている推奨ネーミング規則に従って付けられており、そしてすべてのカスタム・ポリシーがその独自のディレクトリに置かれている場合は、そのディレクトリ名を指定することで必要なドキュメントのみをエクスポートするように簡単に制限できます。たとえば、mycompanyディレクトリにあるポリシーのみをエクスポートするには、次のコマンドを指定します。

exportMetadata(application='wsm-pm',server='myserver', docs='/policies/mycompany/**',toLocation='/exported/owsm_policies')

必要なオブジェクトすべてを1つのコマンドで指定するのが不可能な場合(たとえば、ポリシーが複数のディレクトリに存在する場合や、ポリシーとアサーション・テンプレートの両方をエクスポートする場合)は、exportMetadataコマンドを複数回指定できます。


注意:

Policy Managerでは、すべてのポリシーを/policiesディレクトリに置くことが要求されます。そのため、ポリシーのエクスポート時には任意のディレクトリ名を使用できますが、インポートするポリシーは/policiesディレクトリに置く必要があります。たとえば、/somedir/mypoliciesという名前のディレクトリにポリシーをエクスポートし、このポリシーをインポートする場合は、ディレクトリ名をsomedir/policiesに変更するか、またはポリシーを/policiesディレクトリにコピーする必要があります。

importMetadataコマンドでは/policiesディレクトリを指定しないでください。たとえば、次のようにします。

importMetadata (application='wsm-pm',server='myserver',docs='/somedir/**)


importMetadataおよびexportMetadataコマンドの詳細は、WebLogic Scripting Toolコマンド・リファレンスのMetadata Services(MDS)のカスタムWLSTコマンドに関する項を参照してください。

JDeveloperでの使用のためのMDSリポジトリからのポリシーのエクスポート

JDeveloperでは、カスタム・ポリシーを次のデフォルトのポリシー格納場所に追加できます。

C:\Documents and Settings\user-dir\ApplicationData\JDeveloper\system11.1.1.2.x.x.x\DefaultDomain\oracle\store\gmds

このディレクトリ内で、次のディレクトリ構造のいずれかを使用してOracle WSMポリシー・ファイルを格納する必要があります。

  • 事前定義済Oracle WSMポリシー: owsm/policies/oracle/policy_file

  • カスタム・ユーザー・ポリシー: owsm/policies/oracle/policy_file

JDeveloperで使用するためにポリシー・ファイルをOracle WSM Metadata Services(MDS)リポジトリからエクスポートする場合、このディレクトリ構造は維持されません。エクスポートされたポリシーをJDeveloper環境に追加する場合は、必ず前述の要求されるディレクトリ構造を使用する必要があります。そうしないと、ポリシーはJDeveloper環境で使用できなくなります。

リポジトリ内のポリシーのパッチ

「ポリシーのインポートとエクスポートの異なるメカニズムの理解」で説明されているように、Fusion Middleware ControlまたはWLSTコマンドを使用してポリシーをパッチできます。ポリシーを作成または更新する場合、リポジトリをパッチするときに使用可能なシナリオとして次の2つが考えられます。

MDSリポジトリのバックアップとリストア

リポジトリのバックアップとリストアは、使用ケースは異なりますが、機能的には環境間のポリシーの移行と同じです。リポジトリのバックアップを行うには、exportMetadataコマンドを使用してすべてのリポジトリ・アーティファクトをエクスポートします。リポジトリのリストアを行うには、importMetadataコマンドを使用してすべてのリポジトリ・アーティファクトをインポートします。

詳細は、「 アプリケーション環境間のポリシーの移行」を参照してください。

これらのコマンドの詳細は、WebLogic Scripting Toolコマンド・リファレンスのMetadata Services(MDS)のカスタムWLSTコマンドに関する項を参照してください。

MDSリポジトリ内のOracle WSMポリシーのアップグレード

事前定義済Oracle WSMポリシーとカスタムOracle WSMポリシーの両方とも、Oracle MDSリポジトリに格納されます。これらの事前定義済ポリシーは、その後のリリースで廃止または変更されることがあり、または追加の事前定義済ポリシーが提供されることもあります。新しいバージョンのFusion Middleware softwareをインストールしたときに、WebサービスのカスタムWLSTコマンドを使用して、リポジトリを新しいまたは更新された事前定義済ポリシーによりアップグレードできます。また、カスタム・ポリシーを含むすべてのOracle WSMポリシーをリポジトリから削除して、インストールで提供された事前定義済ポリシーを使用して再投入し、リポジトリをリフレッシュすることもできます。リポジトリをアップグレードするときには、リポジトリ内のすべてのポリシーも再評価されます。


注意:

ポリシーを削除する前に、既存のポリシーを安全な場所にバックアップする必要があります。新しいポリシーで問題が発生した場合に、バックアップから既存のポリシーをインポートできます。

MDSリポジトリをアップグレードする手順

  1. 新しいバージョンのOracle Fusion Middlewareをインストールします。

  2. Oracle Fusion Middlewareの新しいインストールで、アップグレードされたMDSリポジトリが登録されていることを確認します。詳細は、「Metadata Services(MDS)リポジトリの登録」を参照してください。

  3. 「WebサービスのカスタムWLSTコマンドへのアクセス」の説明に従って、新しいバージョンのOracle Fusion MiddlewareをインストールしたOracleホームからWLSTを起動します。

  4. 次のいずれかを実行します。

    • Oracle Fusion Middlewareソフトウェアの最新インストールで提供された新しい事前定義済ポリシーを追加するには、次のコマンドを入力します。

      upgradeWSMPolicyRepository()

      このコマンドを実行するときには、リポジトリに追加されたポリシーを示すメッセージが表示されます。リポジトリ内の既存の事前定義済ポリシーおよびユーザー定義のカスタム・ポリシーは変更されないことに注意してください。出力メッセージには、最新リリースで変更されたか廃止された既存の事前定義済ポリシーのリストも表示されます。ポリシーが廃止されてサポートされなくなった場合は、それに対するすべての参照を削除してから、Oracle Enterprise Managerを使用してそのポリシーを削除することをお薦めします。事前定義済ポリシーが最新リリースで変更された場合は、Oracle Enterprise Managerを使用して更新されたバージョンのポリシーをインポートすることをお薦めします。Enterprise Managerを使用したポリシーの削除とインポートの詳細は、第7章 「Webサービス・ポリシーの管理」を参照してください。

    • リポジトリに格納された既存の事前定義済ポリシーを削除して、それらを最新の事前定義済ポリシーのセットと置き換えるには、次のコマンドを使用します。

      resetWSMPolicyRepository(false)

      ユーザー定義のカスタム・ポリシーは変更されません。リポジトリ内で追加、削除、または置き換えられた事前定義済ポリシーをリストする出力メッセージが表示されます。

    • カスタム・ポリシーを含むすべてのポリシーをリポジトリから削除して、最新の事前定義済ポリシーのセットと置き換えるには、次のコマンドをし使用します。

      resetWSMPolicyRepository(true)


      注意:

      ポリシーを削除する前に、ポリシーがポリシー・サブジェクトに添付されていないことを確認することをお薦めします。

    これらのコマンドのいずれかを実行する場合は、すべての既存ポリシーが再評価されます。

    このWLSTコマンドの詳細は、WebLogic Scripting Toolコマンド・リファレンスのポリシー・リポジトリ・アップグレード・コマンドに関する項を参照してください。

MDSリポジトリの再構築

環境によっては、元の事前定義済ポリシーおよびアサーション・テンプレートのリストアを含めて、リポジトリ全体を再構築する方が望ましい場合もあります。たとえば、新しいプロジェクトをテスト環境で開始する場合、リポジトリの中身を元の状態にリセットできると便利なことがあります。

ポリシー・リポジトリを再構築するには、次の手順を実行します。

  1. リポジトリが登録されているWebLogic Serverドメインの管理サーバー・インスタンスに接続します。手順については、「WebサービスのカスタムWLSTコマンドへのアクセス」を参照してください。


    注意:

    ポリシーの削除またはリポジトリの再構築の前に、既存のポリシーを安全な場所にバックアップする必要があります。新しいポリシーで問題が発生した場合に、バックアップから既存のポリシーをインポートできます。

  2. resetWSMPolicyRepository(true)コマンドを使用して、リポジトリのOracle WSM部分からすべてのドキュメントを削除し、ソフトウェアとともにインストールされた事前定義済ポリシーおよびアサーション・テンプレートのセットを再投入します。この方法を使用することをお薦めします。

    WLSTコマンドresetWSMPolicyRepositoryの詳細は、WebLogic Scripting Toolコマンド・リファレンスのポリシー・リポジトリ・アップグレード・コマンドに関する項を参照してください。

または、MDS WLSTコマンドdeleteMetadataを使用することもできます。たとえば、次のようにします。

deleteMetadata(application='wsm-pm',server='soa_server1',docs='/**') 

deleteMetadataコマンドを実行後、Oracle WSM Policy Managerを実行している管理対象サーバーを再起動します。起動時に、ポリシー・マネージャは空のリポジトリを検出し、元の事前定義済ポリシーおよびアサーション・テンプレートを自動的にインストールします。


注意:

ポリシーを削除する前に、ポリシーがポリシー・サブジェクトに添付されていないことを確認することをお薦めします。

deleteMetadataコマンドの詳細は、WebLogic Scripting Toolコマンド・リファレンスのMetadata Services(MDS)のカスタムWLSTコマンドに関する項を参照してください。