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

前
 
次
 

17 Oracle WSMリポジトリの管理

次の項目では、Oracle WSMリポジトリを管理するためのガイダンスを示します。

Oracle WSMリポジトリについて

Oracle Web Services Manager (WSM)は、MDSリポジトリを使用してOracle WSMメタデータ(ポリシー、アサーション・テンプレート、ポリシー使用状況データなど)を格納します。Oracle WSMリポジトリは、データベース(稼働用)またはファイル・システムのファイル(JDeveloperでの開発用)として使用できます。

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

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

MDSリポジトリの管理の詳細は、『Oracle Fusion Middleware管理者ガイド』の「MDSリポジトリの管理」で入手できます。

Oracle WSMリポジトリの登録

Oracle WSMリポジトリのようなMDSリポジトリにアプリケーションをデプロイする場合、あらかじめリポジトリをOracle WebLogicドメインに登録する必要があります。Oracle WSMリポジトリを登録するには次の手順を実行します。

  1. 「ナビゲータ」ペインで、「メタデータ・リポジトリ」を展開し、図17-1に示されているようにmds-owsmを選択します。

    図17-1 「ナビゲータ」ペインの「メタデータ・リポジトリ」

    図17-1の説明が続きます
    「図17-1 「ナビゲータ」ペインの「メタデータ・リポジトリ」」の説明

  2. 「メタデータ・リポジトリ」「管理」「登録/登録解除」の順に選択します。

    図17-2に示すように、「メタデータ・リポジトリ」ページが表示されます。

    図17-2 Oracle WSMリポジトリの登録

    図17-2の説明が続きます
    「図17-2 Oracle WSMリポジトリの登録」の説明

  3. 「登録」をクリックすると、リポジトリの登録に必要なデータベースの接続とリポジトリに関する情報が表示されます。

    メタデータ・リポジトリの登録および管理の詳細は、『Oracle Fusion Middleware管理者ガイド』のOracleメタデータ・リポジトリの管理に関する項を参照してください。

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

Enterprise Manager Fusion Middleware ControlまたはWebLogic Scripting Tool (WLST) のコマンドを使用して、Oracle WSMリポジトリにポリシーをインポートしたり、リポジトリからポリシーをエクスポートしたりすることができます。Oracle Enterprise Manager Fusion Middleware Controlを使用すると、1回につき1つのポリシーを選択的にインポートしたりエクスポートしたりすることができます。Fusion Middleware Controlを使用したポリシーのインポートおよびエクスポートの手順は、次の項で説明されています。

WSMリポジトリから複数のOracle WSMドキュメントを直接インポートしたりエクスポートしたりする場合は、WLSTコマンドのimportRepositoryおよびexportRepositoryを使用すると作業がはかどります。これらのコマンドの使用方法の詳細は、「リポジトリ内のドキュメントのインポートおよびエクスポート」を参照してください。

これらのメカニズムのいずれかを使用してポリシーをインポートまたはエクスポートする場合、操作はOracle WSM Policy Managerアプリケーションのインスタンス経由でルーティングされます。ランタイムでポリシーのリクエストが実行された場合、Policy Managerにより最新のポリシーが常に提供されることが保証されているため、実行されるのは常に最新のポリシーです。


注意:

以前のリリースでは、ポリシーのインポートおよびエクスポートのみに使用できるWLSTコマンドはMDS WLSTコマンドのimportMetadataおよびexportMetadata でした。Oracle WSMドキュメントに対してこれらのコマンドを使用することはお薦めしません。これは、操作がOracle WSM Policy Managerのインスタンス経由でルーティングされないため、変更内容がOracle Web Services Managerで認識されずに古いポリシーが実行される可能性があるからです。確実に最新のポリシーだけが実行されるためには、Oracle WSM MDSリポジトリの登録先となっているサーバーをすべて再起動する必要があります。

リポジトリ内のドキュメントのインポートおよびエクスポート

Oracle WSMドキュメントをOracle WSMリポジトリにインポートする場合およびリポジトリからエクスポートする場合には、importRepositoryおよびexportRepositoryの各コマンドをそれぞれ使用します。

ドキュメントを、リポジトリから対応するZIPアーカイブ・ファイルにエクスポートするには、exportRepositoryコマンドを使用します。

exportRepository(archive,[documents=None],[expandReferences='false'])

次の点に注意してください。

ドキュメントをリポジトリにインポートするには、importRepositoryコマンドを使用します。

importRepository(archive,[map=none],[generateMapFile='false'])

次の点に注意してください。

アクティブ・ポリシー・セットのアーカイブ/tmp/repository-active.jarをマップ・ファイル/tmp/mapfile.txtを使用してインポートするには、次のように入力します。

wls:/jrfServer_domain/serverConfig>importRepository('/tmp/repository-active.jar', '/tmp/mapfile.txt')
 
Importing "META-INF/policies/oracle/wsaddr_policy"
Importing "META-INF/policies/oracle/wss11_saml_or_username_token_with_message_protection_service_policy"
Importing "META-INF/policies/oracle/wss_username_token_service_policy"
Importing "META-INF/policysets/global/all-domains-default-web-service-policies"
Importing "META-INF/policysets/global/app-only-web-service-policies"
Importing "META-INF/policysets/global/migrate_example"
Successfully imported "6" documents

WLSTコマンドおよびその引数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのWebサービスのカスタムWLSTコマンドに関する項を参照してください。

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

ポリシーは、アプリケーションの開発サイクルやデプロイ・サイクル(たとえば開発から本番まで)の様々な段階でいつでも移行できます。「ポリシーの移行」で説明されているように、ポリシーの移行にはimportRepositoryおよびexportRepositoryの各コマンドを使用することをお薦めします。

JDeveloperで使用するためのOracle WSMリポジトリからのポリシーのエクスポート

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リポジトリからエクスポートする場合、このディレクトリ構造は維持されません。エクスポートされたポリシーをJDeveloper環境に追加する場合は、必ず上記の必要なディレクトリ構造を使用してください。そうしないと、ポリシーはJDeveloper環境で使用できなくなります。

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

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

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

Oracle WSMリポジトリのバックアップおよびリストアを行うには、WLSTコマンドexportRepositoryおよびimportRepositoryを使用します。これらのコマンドの詳細は、「リポジトリ内のドキュメントのインポートおよびエクスポート」を参照してください。

たとえば、リポジトリ内のOracle WSMアーティファクトをすべてバックアップするには、次のコマンドを入力します。

wls:/jrfServer_domain/serverConfig>exportRepository('/tmp/repository-backup.jar')

Exporting "/assertiontemplates/oracle/binding_authorization_template"
Exporting "/assertiontemplates/oracle/binding_permission_authorization_template"
.
.
.
Exporting "/policies/oracle/binding_authorization_denyall_policy"
Exporting "/policies/oracle/binding_authorization_permitall_policy"
.
.
.
Exporting "/policysets/global/all-domains-default-web-service-policies"Exporting "/policysets/global/app-only-web-service-policies"
Successfully exported "170" documents.

リポジトリをバックアップからリストアするには、importRepositoryコマンドを使用してOracle WSMリポジトリのアーティファクトをすべてインポートします。

たとえば、前の例で作成されたバックアップ・ファイルを使用してリポジトリをリストアする場合には、次のコマンドを入力します。

wls:/jrfServer_domain/serverConfig>importRepository('/tmp/repository-backup.jar')

Importing "META-INF/assertiontemplates/oracle/binding_authorization_template"Importing "META-INF/assertiontemplates/oracle/binding_permission_authorization_template"
.
.
.
Importing "META-INF/policies/oracle/binding_authorization_denyall_policy"
Importing "META-INF/policies/oracle/binding_authorization_permitall_policy"
.
.
.
Importing "META-INF/policysets/global/all-domains-default-web-service-policies"Importing "META-INF/policysets/global/app-only-web-service-policies"
Successfully imported "170" documents.

WLSTコマンドおよびその引数の詳細は、WebLogic Scripting Toolコマンド・リファレンスのWebサービスのカスタムWLSTコマンドに関する項を参照してください。

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

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


注意:

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

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

  1. 新バージョンのOracle Fusion Middlewareをインストールするかパッチを当てます。詳細は、『Oracle Fusion Middlewareインストレーション・プランニング・ガイド』のインストールの出発点の理解に関する項を参照してください。

  2. アップグレードするOracle WSMリポジトりが次のいずれかであることを確認します。

    • Oracle Fusion Middlewareを新たにインストールして登録した場合。詳細は、「Oracle WSMリポジトリの登録」を参照してください。

    • 最新のスキーマ・バージョンにアップグレードした場合。詳細は、『Oracle Fusion Middlewareパッチ適用ガイド』の「パッチ・セット・アシスタントによるスキーマの更新」を参照してください。

  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コマンド・リファレンスのポリシー・リポジトリ・アップグレード・コマンドに関する項を参照してください。

Oracle WSMリポジトリの再構築

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

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

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


    注意:

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

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

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


注意:

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