ヘッダーをスキップ
Oracle Identity Managerベスト・プラクティス・ガイド
リリース9.1.0
E05901-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

1 デプロイメント・マネージャの使用

デプロイメント・マネージャを使用すると、開発者は、移行時に発生しやすい問題を最小限に抑えつつ、Oracle Identity Managerのデプロイをあるサーバーから別のサーバーに移動できます。デプロイメント・マネージャでは、デプロイメント全体が再作成されるまで待つのではなく、複数の開発者が1つのデプロイの別々の部分を作業し、各自が変更した部分のみをアップロードできます。


注意:

以前のデータは、インポートされた最新のデータによって上書きされます。他の開発者の作業を上書きするようなデータはエクスポートしないでください。

この章では、次の内容について説明します。

デプロイメント・マネージャの機能

Oracle Identity Managerのデプロイをあるサーバー環境から別のサーバー環境に移行する場合、たとえばテスト環境からステージング環境、あるいはステージング環境から本番環境に移行する場合に、デプロイメント・マネージャが役立ちます。

デプロイメント・マネージャでは次のことができます。

デプロイメント・マネージャは、次のタイプの情報を処理します。

デプロイメント・マネージャには、次のような重要な制限があります。

必要な場合にのみ行うシステム・オブジェクトのエクスポート

リクエスト、Xellerateユーザー、システム管理者などのシステム・オブジェクトのエクスポートまたはインポートは、本当に必要な場合にのみ行ってください。システム・オブジェクトをテスト環境やステージング環境から本番環境にエクスポートすると、問題が発生する場合があります。可能であれば、データのエクスポートまたはインポートの際には、システム・オブジェクトを除外してください。

Xellerateユーザー・リソース・オブジェクトで信頼できるソースのリコンシリエーションを定義する場合などに、システム・オブジェクトをエクスポートまたはインポートすることがあります。


注意:

デプロイメント・マネージャでは、インポートしたコンポーネントおよび構造を追跡しますが、終了したインポートの追跡は行いません。インポートが完了した後は、前のバージョンにロールバックできません。新たにインポートする必要があります。

関連するオブジェクトのグループのエクスポート

デプロイメント・マネージャを使用して、関連するオブジェクトをセットにしてエクスポートすることをお薦めします。グループ化する論理項目を1つにまとめて、エクスポートの単位にしてください。

1回の操作でデータベース内のすべてをエクスポートしたり、1回に項目を1つずつエクスポートすることは避けてください。たとえば、プロセス、リソース・オブジェクト、アダプタ、ITリソース・タイプ定義、ITリソース定義、スケジュール済タスクなどを含むターゲット・システムと、Oracle Identity Managerとの間の統合を管理するとします。このような環境では、エクスポートの前に関連するオブジェクトのグループを作成します。

たとえば、複数の統合で同一の電子メール定義を使用する場合、電子メール定義を1つの単位としてエクスポートし、統合は別の単位としてエクスポートする必要があります。これにより、電子メール定義の変更を、ターゲット・システム統合の変更とは別にインポートできます。また、複数のリソースで同一のITリソース・タイプ定義を使用する場合、タイプ定義をその他のデータとは別個にエクスポートおよびインポートできます。

エクスポート済データの1つ以上のセットを一度にインポートできます。たとえば、リソース・オブジェクト定義、電子メール定義およびITリソース・タイプ定義を、1回の操作でインポートできます。

定義データおよび操作データの個別のグループ化

定義データおよび操作データは、別々のグループに分けてエクスポートしてください。

定義データは、テスト環境およびステージング環境で構成します。定義データには、リソース・オブジェクト、プロセスおよびルールが含まれます。

一般的に、操作データは、本番環境で構成します。操作データには、グループおよびグループ権限が含まれます。テスト・サーバーおよびステージング・サーバーには、通常このデータは含まれません。

変更される場所に応じてデータをグループ化すると、どのデータがテストおよびステージングに属し、どのデータが本番に属するかを判別できます。たとえば、本番で承認プロセスが変更された場合、承認プロセスをグループ化してその他の操作データと一緒にエクスポートします。

フォーム・バージョンに対する論理的なネーミング規則の使用

エクスポートする前に、フォームを何度も修正することがあります。「v23」のような一般的な名前で、フォームのバージョンを区別しないでください。「Before Production」または「After Production Verification」など、意味のある名前を作成します。バージョン名には二重引用符などの特殊文字を使用しないでください。

ルートのエクスポートによる完全な組織階層の保持

組織階層内のリーフや組織をエクスポートすると、1つの依存性レベルのみがエクスポートされます。組織階層を完全にエクスポートするには、階層のルートをエクスポートする必要があります。

わかりやすいエクスポートの説明

デプロイメント・マネージャでは、エクスポート日、エクスポートの実行者、ソース・データベースなどの一部の情報は自動的に記録されます。また、「xxx属性がリコンシリエーションに追加された後のリソース定義」など、エクスポートのコンテンツのわかりやすい説明も指定する必要があります。ファイルのインポート担当者は、これを元にインポートされるデータのコンテンツを把握します。

インポート前のすべての警告のチェック

本番環境に情報をインポートする場合、インポート操作が完了する前にすべての警告をチェックしてください。すべての警告に慎重に対応します。

データ・エクスポート前の依存性のチェック

右上ペインのウィザードには、ターゲット・システムで使用可能であることが必要なリソースが表示されます。

次のタイプの依存性について考慮します。


注意:

リソースをエクスポートする際に、そのフォームに対してデータ・オブジェクト権限を持つグループはリソースと一緒にエクスポートされません。

一致するスケジュール済タスク・パラメータ

スケジュール済タスクが正しく実行されるかどうかは、特定のパラメータに依存します。スケジュール済タスクのパラメータを、本番サーバーにインポートできます。表1-1に、スケジュール済タスクのインポート方法を決定するためのルールを示します。パラメータは、ターゲット・システムに存在しないタスクでも使用できる場合があります。

表1-1 パラメータのインポート・ルール

ターゲット・システムにパラメータがある XMLファイルにパラメータがある 動作

×

パラメータをターゲット・システムから削除します。

×

XMLファイルのパラメータおよび現行の値を追加します。

パラメータのより新しい値を使用します。


アダプタのコンパイルおよびスケジュール済タスクの有効化

インポート操作の後、アダプタは再コンパイルするように設定され、スケジュール済タスクは無効化されます。これにより、関連するリソースや設定を構成する前に、これらが実行されることがなくなります。

クラスをインポートしてタスク属性を調整してから、手動でアダプタを再コンパイルし、スケジュール済タスクを有効化してください。

エンティティ・アダプタの個別のエクスポート

エンティティ・アダプタを変更すると、エンティティ・アダプタのみが更新され、使用方法は更新されません。エンティティ・アダプタの使用方法をエクスポートする場合は、データ・オブジェクトをエクスポートすることにより、各使用方法をデータ・オブジェクトとともに個別にエクスポートする必要があります。データ・オブジェクトをエクスポートすると、オブジェクトにアタッチされたすべてのアダプタとイベント・ハンドラ、およびオブジェクトに対する権限がエクスポートされます。データ・オブジェクトのエクスポートには、細心の注意が必要です。たとえば、フォームをエクスポートする場合、フォームに関連するデータ・オブジェクトも必ず追加するようにしてください。これにより、関連付けられたエンティティ・アダプタでフォームを使用できます。

グループ権限のチェック

グループをエクスポートする際に、異なるデータ・オブジェクトに対するグループ権限もエクスポートされます。ただし、データをインポートする際は、欠落しているデータ・オブジェクトに対する権限はすべて無視されます。グループ権限の設定をエクスポートする手段としてグループをエクスポートする場合は、権限の要件が満たされるように、警告を慎重にチェックしてください。たとえば、グループにオブジェクトA、B、Cに対する権限があるが、ターゲット・システムにはオブジェクトA、Bしかない場合、オブジェクトCの権限は無視されます。後でオブジェクトCを追加した場合、Cのグループ権限を手動で追加するか、グループを再インポートする必要があります。

特定のレポートの表示権限を持つグループのエクスポートでは、そのレポートがターゲット環境に存在することを確認してください。レポートがない場合、グループのエクスポートの前に権限を削除することを考慮してください。

データベースのバックアップ

データを本番環境にインポートする前に、データベースをバックアップします。これにより、インポートで問題が発生しても、データをリストアできます。データベースをバックアップしておくことは、大きな変更を行う前の大切な予防措置です。


注意:

フォームおよびユーザー定義フィールドをインポートする際は、データベースにエントリを追加します。これらのデータベース・エントリは、ロールバックまたは削除できません。各インポート操作の前に、フォームの正しいバージョンがアクティブになっていることを確認してください。

システム静止中のデータのインポート

インポート操作はスキーマの変更を伴うため、単一のトランザクションでは完了できません。これらの変更は、現在システムで実行中のトランザクションに影響を与えます。インポート操作の影響を抑えるためには、一般使用のためのWebアプリケーションを一時的に無効化し、システムのアクティビティが低下する夜間などに操作を行うようにしてください。

SDK表の更新

SDK表には、ユーザー定義データ・オブジェクトのメタデータ定義が含まれます。XMLファイルからSDK表にデータをインポートすると、SDK_SCHEMA列の値は、XMLファイルが作成されたソース・システムのスキーマ名で変更されることがあります。このため、XMLファイルからSDK表にデータをインポートした後には、SDK_SCHEMA列のスキーマ名をチェックし、必要に応じてOracle Identity Managerデータベースが稼働しているターゲット・システムのスキーマ名に手動で変更する必要があります。SDK_SCHEMA列のスキーマ名を更新するには、Oracle Databaseインストール環境でSQL*Plusを使用するか、Microsoft SQL Serverインストール環境でSQL Query Analyzerを使用して、次のようなSQL問合せを実行します。

UPDATE SDK SET SDK_SCHEMA='target system schema name'

SDK_SCHEMA列のスキーマ名を更新しない場合は、ユーザー定義フィールド(UDF)の定義を変更する別のXMLファイルのインポート時に次のようなエラーが生成されることがあります。

CREATE SEQUENCE UGP_SEQ
java.sql.SQLException: ORA-00955: name is already used by an existing object

依存性としてイベント・ハンドラをインポートする前のデータ・オブジェクト・フィールドの削除

イベント・ハンドラを依存性としてインポートする場合、デプロイメント・マネージャでは、データ・オブジェクト・フィールドを含むイベント・ハンドラはインポートされません。このため、デプロイメント・マネージャを使用して、依存性としてインポートする必要があるすべてのイベント・ハンドラからデータ・オブジェクト・フィールドを削除してください。