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

戻る
戻る
 
次へ
次へ
 

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 WSMリポジトリへのインポートやリポジトリからのエクスポートは、Enterprise Manager Fusion Middleware ControlとWebLogic Scripting Tool(WLST)コマンドのどちらでも行えます。Oracle Enterprise Manager Fusion Middleware Controlには、1つのポリシーを一度に選択的にインポートおよびエクスポートする機能があります。Fusion Middleware Controlを使用したポリシーのインポートおよびエクスポートの手順は、次の項で説明されています。

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

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


注意:

以前のリリースでは、ポリシーをインポートおよびエクスポートできる唯一のWLSTコマンドは、importMetadataおよびexportMetadataというMDS WLSTコマンドでした。Oracle WSMドキュメントに対してこれらのコマンドを使用する場合、操作がOracle WSM Policy Managerのインスタンスを介してルーティングされないため、その使用はお勧めできません。結果として、Oracle Web Services Managerは変更に気付かず、古いポリシーを強制し続ける可能性があります。必ず最新のポリシーのみが強制されるようにするには、Oracle WSM MDSリポジトリが登録されているすべてのサーバーを再起動する必要があります。


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

次の項の説明に従って、WLSTコマンドimportRepositoryおよびexportRepositoryを使用して、Oracle WSMドキュメントをOracle WSMリポジトリにインポートおよびエクスポートできます。

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

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

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

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

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

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

  • アーカイブにエクスポートされるドキュメントを指定するには、オプションのdocuments引数を使用します。この引数が指定されない場合、すべてのアサーション・テンプレート、インテント、ポリシーおよびポリシー・セットがエクスポートされます。エクスポートするドキュメントのリストを指定したり、検索式を使用してリポジトリ内の特定のドキュメントを検索できます。たとえば、URIがoracle/wss10_またはoracle/wss11_で始まるポリシーのリストをエクスポートするには、次のように入力します。

    wls:/jrfServer_domain/serverConfig>exportRepository('/tmp/test2.zip',['policies:oracle/wss10_%','policies:oracle/wss11_%'])
    
    Exporting "/policies/oracle/wss10_message_protection_client_policy"
    Exporting "/policies/oracle/wss10_message_protection_service_policy"
    .
    .
    .
    Exporting "/policies/oracle/wss11_x509_token_with_message_protection_client_policy"
    Exporting "/policies/oracle/wss11_x509_token_with_message_protection_service_policy"
    Successfully exported "43" documents.
    
  • エクスポート時にポリシー参照を展開するには、オプションのexpandReferences引数を使用します。デフォルトは、falseです。ドキュメントのリストが提供されない場合、expandReferencestrueです。

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

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

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

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

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

importRepository(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>importRepository('/tmp/repository-active.jar', '/tmp/mapfile.txt', true)
     
    Successfully generated "Resource Scope Mappings" file at "/tmp/mapfile.txt"
    

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

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

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

ポリシーは、アプリケーションの開発およびデプロイのサイクルにおいて様々なステージ間(開発から本番へなど)で移行できます。ポリシーの移行では、「ポリシーの移行」の説明に従って、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/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コマンドに関する項を参照してください。

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

事前定義済Oracle WSMポリシーとカスタムOracle WSMポリシーの両方とも、Oracle WSMリポジトリに格納されます。事前定義済ポリシーは、今後のリリースで廃止または変更されることがあり、追加の事前定義済ポリシーが提供されることもあります。

Fusion Middlewareパッチ・セットをインストールすると、サーバーの起動プロセスの一部として、リポジトリが自動的にアップグレードされます。環境に合わせてカスタマイズされていない事前定義済ポリシーは置換され、新しいポリシーは自動的に追加されます。ただし、カスタマイズされた事前定義済ポリシーと、ユーザーがリポジトリに作成したカスタム・ポリシーは置換されないことに注意してください。必要に応じて、「Oracle WSMリポジトリの再構築」の説明に従って、これらのポリシーのリポジトリをリフレッシュすることもできます。


注意:

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


Oracle Fusion Middlewareインストールのパッチの詳細は、Oracle Fusion Middlewareパッチ・ガイドを参照してください。

Oracle WSMリポジトリの再構築

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

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

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


    注意:

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


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

    resetWSMPolicyRepository WLSTコマンドの詳細は、『WebLogic Scripting Toolコマンド・リファレンス』のOracle WSMリポジトリ管理コマンドに関する項を参照してください。


注意:

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