ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理
12c (12.1.2)
E47994-03
  目次へ移動
目次

前
 
次
 

16 OWSMリポジトリの管理

リポジトリを使用すると、ポリシー、アサーション・テンプレート、ポリシーの使用状況データなどのOracle Web Services Managerメタデータを、インポート、エクスポート、バックアップおよびリストアできます。リポジトリ内のポリシーは、パッチを適用したり、アップグレードすることもできます。

この章の構成は、次のとおりです。

16.1 OWSMリポジトリについて

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

このリリースでサポートされているデータベースのリストは、Oracle Fusion Middlewarのサポートされるシステム構成を参照してください。

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

MDSリポジトリの管理の詳細は、『Oracle Fusion Middlewareの管理』のMDSリポジトリの管理に関する項を参照してください。

16.2 OWSMリポジトリの登録

アプリケーションをOWSMリポジトリなどのMDSリポジトリにデプロイする前に、リポジトリをOracle WebLogicドメインに登録する必要があります。OWSMリポジトリを登録する手順は、次のとおりです。

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

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

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

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

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

    図16-2 OWSMリポジトリの登録

    図16-2の説明が続きます
    「図16-2 OWSMリポジトリの登録」の説明

  3. 「登録」をクリックし、必要なデータベース接続とリポジトリ情報を入力して、リポジトリを登録します。

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

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

ポリシーのOWSMリポジトリへのインポートやリポジトリからのエクスポートは、Enterprise Manager Fusion Middleware ControlとWebLogic Scripting Tool (WLST)コマンドのどちらでも行えます。

Fusion Middleware Controlでは、ユーザーが作成した1つ以上のポリシーまたはアサーション・テンプレートを、zipアーカイブ・ファイルに選択的にインポートしたりエクスポートしたりできます。事前定義済のポリシーやアサーション・テンプレートなど、読取り専用ドキュメントは、ターゲット環境に同じドキュメントがあるため、インポートまたはエクスポートできません。Fusion Middleware Controlを使用したポリシーとアサーション・テンプレートのインポートおよびエクスポートの手順は、次の項で説明されています。

WLSTコマンドのimportWSMArchiveおよびexportWSMRepositoryを使用すると、複数のOWSMドキュメントをOWSMリポジトリに簡単に直接インポートまたはエクスポートできます。これらのコマンドの使用の詳細は、「リポジトリへのドキュメントのインポートおよびエクスポート」を参照してください。

いずれかのメカニズムを使用してポリシーをインポートまたはエクスポートする場合、操作はOWSMポリシー・マネージャ・アプリケーションのインスタンスを介してルーティングされます。実行時にポリシーのリクエストが行われたときには、常に最新のポリシーが提供されることがポリシー・マネージャによって保証されます。そのため、常に最新のポリシーが強制されます。

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

OWSMドキュメントおよびアプリケーション・メタデータをOWSMリポジトリにインポートまたはエクスポートするには、次の各項の説明に従って、importWSMArchiveexportWSMRepositoryおよびexportWSMAppMetadataコマンドを使用します。

WLSTコマンドとその引数の詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。

16.4.1 リポジトリからのドキュメントのエクスポート

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

exportWSMRepository(archive,[documents=None],[includeShared='false'])

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

  • 事前定義済のポリシーやアサーション・テンプレートなど、読取り専用ドキュメントは、ターゲット環境に同じドキュメントがすでにあるため、エクスポートできません。

  • archive引数で指定したアーカイブがすでに存在する場合、既存のアーカイブにドキュメントをマージするか、既存のアーカイブを上書きするか、操作を取り消すかを選択できます。

  • アーカイブにエクスポートされるドキュメントを指定するには、オプションのdocuments引数を使用します。ドキュメントを指定しない場合、ポリシーおよびポリシー・セットが含まれる共有ドキュメントのみがエクスポートされます。読取り専用ドキュメントはエクスポートできないため、エクスポートにはカスタムまたはクローンの共有ポリシーのみが含まれます。この引数を空の文字列['']として指定すると、ポリシーおよびポリシー・セットが含まれるすべての共有ドキュメント、アプリケーション・メタデータおよび構成ドキュメントがエクスポートされます。エクスポートするドキュメントのリストを指定したり、検索式を使用してリポジトリ内の特定のドキュメントを検索したりできます。たとえば、URIがtest/wss_またはtest/wss11_で始まる、ユーザーが作成したポリシーのリストをエクスポートするには、次のように入力します。

    wls:/jrfServer_domain/serverConfig>exportWSMRepository('/tmp/test2.zip',['policies:test/wss_%','policies:test/wss11_%'])
    
    Exporting "/policies/test/wss11_x509_token_with_message_protection_service_policy_test"
    Exporting "/policies/test/wss_username_token_over_ssl_service_policy_Test"
    Successfully exported "2" documents.
    
  • エクスポート時に同じアーカイブの一部として共有ドキュメント(ポリシー・セットおよびwsm-assemblyドキュメント内でポリシー参照として指定されるドキュメント)を含めるには、オプションのincludeShared引数を使用します。読取り専用ドキュメントはエクスポートできないため、エクスポートにはカスタムまたはクローンの共有ポリシーのみが含まれます。デフォルトはfalseです。

    たとえば、アクティブ・ポリシー・セット・ドキュメントおよびそれらが使用するポリシーをエクスポートする手順は、次のとおりです。

    wls:/jrfServer_domain/serverConfig>exportWSMRepository('/tmp/repository-active.jar', ['policysets:global/%'], true)
    
    Exporting "/policies/test/wss_username_token_over_ssl_service_policy_Test"
    Exporting "/policysets/global/all-domains-default-web-service-policies"
    Exporting "/policysets/global/app-only-web-service-policies"
    Exporting "/policysets/global/migrate_example"
    Successfully exported "4" documents.
    
  • リポジトリ内のドキュメントを変更した場合、アーカイブ・ファイル内でそのドキュメントを更新できます。たとえば、module-web-service-policiesという名前のポリシー・セットを変更した場合、次のコマンドでアーカイブ内のポリシー・セットを更新できます。

    wls:/jrfServer_domain/serverConfig>exportWSMRepository('/tmp/repository-backup.jar', ['/policysets/global/module-web-service-policies'])
    
    

16.4.2 リポジトリからのアプリケーション・メタデータのエクスポート

サポートされているZIPアーカイブ・ファイルにリポジトリからアプリケーション・メタデータをエクスポートするには、exportWSMAppMetadataコマンドを使用します。

exportWSMAppMetadata(archive,[applications=None],[includeShared='false'])

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

  • このコマンドは、Oracle Infrastructure WebサービスおよびRESTful Webサービスでのみサポートされます。このコマンドは、ADF DC Webサービス・クライアントおよびJava EE Webサービスではサポートされません。

  • archive引数で指定したアーカイブがすでに存在する場合、既存のアーカイブにドキュメントをマージするか、既存のアーカイブを上書きするか、操作を取り消すかを選択できます。上書きオプションを選択すると、元のアーカイブはバックアップされ、バックアップ・アーカイブの場所を示すメッセージが表示されます。

  • メタデータがアーカイブにエクスポートされるアプリケーションを指定するには、オプションのapplications引数を使用します。アプリケーション名を指定しない場合、ドメイン内のすべてのアプリケーションのメタデータがエクスポートされます。検索式のリストを指定して、リポジトリ内の特定のアプリケーションのメタデータを検索できます。これを行うには、/{PLATFORM_NAME}/{DOMAIN_NAME}/{APPLICATION_NAME}という構文を使用します。

  • 共有ドキュメント(wsm-assemblyドキュメント内でポリシー参照として指定されるドキュメント)をエクスポートに含めるかどうかを指定するには、オプションのincludeShared引数を使用します。デフォルトはfalseです。読取り専用ドキュメントはエクスポートできないため、エクスポートにはカスタムまたはクローンの共有ポリシーのみが含まれます。

たとえば、次のコマンドでは、名前がjaxwsで始まるアプリケーションのアプリケーション・メタデータを、tmpディレクトリ内のapplications.zipファイルにエクスポートします。

wls:/jrfServer_domain/serverConfig>exportWSMRepository('/tmp/applications.zip',['/WLS/base_domain/jaxws%'])

Exporting "\assembly\WLS\base_domain\jaxwsejb30ws\jaxwsejb\wsm-assembly.xml"Successfully exported "1" documents.

16.4.3 リポジトリへのドキュメントのインポート

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

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

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

  • 事前定義済のポリシーやアサーション・テンプレートなど、読取り専用ドキュメントは、ターゲット環境に同じドキュメントがすでにあるため、インポートできません。

  • archive引数は必須であり、インポートされるドキュメントのリストが格納されるアーカイブ・ファイルへのパスを指定します。

  • オプションで、map引数を使用して、ポリシー・セット内の物理情報をソース環境からターゲット環境へマップする方法が記載されている、ファイルの場所を指定できます。たとえば、マップ・ファイルを使用して、ポリシー・セット内のリソース・スコープ式を更新してターゲット環境に一致させることができます(たとえば、Domain("foo")=Domain("bar"))。マップ・ファイルを指定し、それが存在しない場合、操作は失敗し、エラーが表示されます。

  • オプションのgenerateMapFile引数をtrueに設定して、map引数で指定される場所にサンプルのマップ・ファイルを作成できます。この引数がtrueに設定されている場合、ドキュメントはインポートされません。デフォルトはfalseです。

    ファイルが作成された後、任意のテキスト・エディタを使用して編集できます。マップ・ファイルには、アーカイブ・ファイルで与えられるドキュメント名と、対応するattachTo値が含まれます。attachTo値は、更新して新しい環境に対応させることができます。ドキュメント名についてマッピングの更新が必要ない場合、そのエントリは削除されるか、#文字でコメント・アウトされる可能性があります。


    注意:

    リポジトリへのドキュメントのインポート時、OWSMはattachTo値のみを検証します。値が無効な場合、ポリシー・セットは無効化されます。マップ・ファイル内の他のテキストは検証されません。


    たとえば、/tmp/repository-active.jarのマップ・ファイル/tmp/mapfile.txtを生成するには、次のコマンドを入力します。

    wls:/jrfServer_domain/serverConfig>importWSMArchive('/tmp/repository-active.jar', '/tmp/mapfile.txt', true)
     
    Successfully generated "Documents Mappings" file at "/tmp/mapfile.txt"
    

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

wls:/jrfServer_domain/serverConfig>importWSMArchive('/tmp/repository-active.jar', '/tmp/mapfile.txt')
 
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 "3" documents

16.5 JDeveloperで使用するためにポリシーをOWSMリポジトリからエクスポート

ポリシーは、アプリケーションの開発およびデプロイのサイクルにおいて様々なステージ間(開発から本番へなど)で移行できます。ポリシーの移行では、『Webサービスの管理』のポリシーの移行に関する項の説明に従って、importWSMArchiveコマンドおよびexportWSMRepositoryコマンドを使用することをお薦めします。

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

JDEV_USER_HOME\system12.1.2.0.x.x.x\DefaultDomain\store\gmds

設定されていない場合、JDEV_USER_HOMEのデフォルトはC:\Users\user-dir\AppData\Roaming\JDeveloperです。

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

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

16.6 リポジトリ内のポリシーへのパッチの適用

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


注意:

事前定義済のポリシーは読取り専用であり、更新または上書きできません。


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

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

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

wls:/jrfServer_domain/serverConfig>exportWSMRepository ('/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.

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

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

wls:/jrfServer_domain/serverConfig>importWSMArchive ('/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 Server WLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項を参照してください。

16.8 リポジトリの12cへのアップグレード

事前定義済のポリシーやアサーション・テンプレートなど、12cリリースで配布される事前定義済ドキュメントは、すべて読取り専用です。11gから12cへのアップグレードの際、既存のドキュメントがオーバーライドされることはなく、新しいドキュメントの読取り専用バージョンのみがリポジトリに追加されます。

既存の事前定義済ドキュメントを変更していない場合は、WLSTコマンドのresetWSMRepositoryを使用して、12cリリースで配布される読取り専用バージョンの事前定義済ドキュメントへの、リポジトリの完全なアップグレードを実行できます。

リポジトリ内の事前定義済ドキュメントを変更した場合は、変更したドキュメントのクローンを作成し、すべての参照がクローン・バージョンをポイントするように変更する必要があります。すべてのドキュメントのクローンを作成し、参照を変更したら、「OWSMリポジトリの再構築」の説明に従って、WLSTコマンドのresetWSMRepositoryでアップグレードを実行できます。

12cリリースの後、変更した事前定義済ドキュメントは移行する必要があります。12c以降のリリースでは、すべての事前定義済ドキュメントは読取り専用となり、事前定義済ドキュメントに対して行った変更は失われます。

16.9 OWSMリポジトリの再構築

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

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

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


    注意:

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


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

    WLSTコマンドのresetWSMRepositoryの詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のOWSMリポジトリ管理コマンドに関する項を参照してください。


注意:

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