この章では、Oracle Identity ManagerのT2P移行について説明します。次の項目が含まれます。
Oracle Identity Managerでの構成およびカスタマイズにより、あるデプロイメントから別のデプロイメントへ移行できます。たとえば、テスト環境から本番環境へ構成およびカスタマイズを移行する場合があります。これを本番操作テスト(T2P)と言います。
T2Pでは、Oracle Identity Managerの構成およびカスタマイズのエクスポートおよびインポートにデプロイメント・マネージャ・ツールを使用します。これは、ターゲット/本番設定がすでに構成されており、ターゲットの設定に特定のアーティファクト/構成を増分ベースで移動する場合に使用します。
デプロイメント・マネージャの使用によるデプロイメントの増分移行では、デプロイメントをインポートおよびエクスポートし、ベスト・プラクティスを理解し、デプロイメント・マネージャのトラブルシューティングを行います。
この項では、デプロイメント・マネージャを使用したOracle Identity Managerの増分移行の方法について説明します。次の項目が含まれます。
注意:
デプロイメント・マネージャを使用してデプロイメントをインポートおよびエクスポートできるのは、システム管理者のみです。
デプロイメント・マネージャは、Oracle Identity Manager構成のエクスポートおよびインポートに使用するツールです。通常、デプロイメント管理は、あるデプロイメントから別のデプロイメントへ(たとえば、テストから本番デプロイメントへ)の構成の移行、またはシステムのバックアップの作成に使用します。
構成内のオブジェクトの一部またはすべてを保存することができます。構成をエクスポートすると、テスト環境で構成を開発およびテストできます。その後、テスト済のオブジェクトを本番環境にインポートできます。オブジェクトとその依存オブジェクトや関連オブジェクトすべてを同時にエクスポートおよびインポートできます。または、各オブジェクトを個別にエクスポートおよびインポートすることも可能です。
デプロイメント・マネージャにより、ソース・システムから構成情報およびバイナリ・データを取り出し、XMLファイルに情報を格納し、それからXMLファイルからターゲット・システムに情報をインポートできます。バイナリ・データには、プラグイン、Javaアーカイブ(JAR)およびカスタム・リソース・バンドルが含まれています。
エクスポートされたオブジェクトは同じタイプのリポジトリにインポートする必要があります。
注意:
サンドボックス機能を使用して、あるデプロイメントから他のデプロイメントへ構成およびカスタマイズを移行することもできます。サンドボックスの操作の詳細は、Oracle Identity Governanceのためのアプリケーションの開発とカスタマイズのサンドボックスの管理に関する項を参照してください。
デプロイメント・マネージャを使用すると、サポートされる構成アーティファクトをインポートおよびエクスポートできます。エクスポートされるファイルに関する追加のコメントや情報も処理されます。
Oracle Identity Managerのデプロイをあるサーバー環境から別のサーバー環境に移行する場合、たとえばテスト環境からステージング環境、あるいはステージング環境から本番環境に移行する場合に、デプロイメント・マネージャが役立ちます。
デプロイメント・マネージャにより、次のことが可能になります。
デプロイの個々のコンポーネントを、異なるテスト環境で更新します。
エクスポートされるコンポーネントに関連するオブジェクトを特定し、リソースに含めることができます。
エクスポート済ファイルの情報を提供します。
コメントを追加します
デプロイメント・マネージャは、次のタイプの構成アーティファクトを処理します。
アクセス・ポリシー
管理者ロール
アプリケーション・インスタンス
アプリケーション・テンプレート
承認ポリシー
アテステーション・プロセス
カタログ・メタデータ
証明の構成
証明の定義
カスタム・リソース・バンドル
データ・オブジェクトの定義
電子メール定義
エンティティ・アダプタ(非推奨)
エラー・コード
イベント・ハンドラ
汎用コネクタ
GTCプロバイダ
アイデンティティ監査構成
アイデンティティ監査ルール
アイデンティティ監査スキャン定義
ITリソース定義
ITリソース
JAR
検索
通知テンプレート
オーケストレーション・イベント・ハンドラ
組織メタデータ
組織
パスワード・ポリシー
ポリシー
プラグイン
事前移入アダプタ
プロセス
プロセス・フォーム
プロビジョニング・ワークフローおよびプロセス・タスク・アダプタ
リクエスト・データセット
リソース
リスク構成
ロール・メタデータ
ロール
ルール(非推奨)
スケジュール済ジョブ
スケジュール済タスク
システム・プロパティ
タスク・アダプタ
ユーザー・メタデータ
注意:
ソース・デプロイメント側では、特定のユーザー、ロール、アプリケーション・インスタンス、権限または組織への参照が次のアーティファクトに含まれている場合があります。
証明の定義
ポリシー
アイデンティティ監査構成
アイデンティティ監査スキャン定義
アーティファクトをエクスポートすると、これらの参照は無効になります。これらのアーティファクトはターゲット・デプロイメントで開いて更新する必要があります。たとえば、アイデンティティ監査ポリシーの是正者名はエクスポートされると削除されるため、ターゲット環境で再選択する必要があります。特定の参照がないアーティファクトでは、デプロイメントでエラーが発生する可能性があります。
アイデンティティ監査ルール以外のすべてのルールはそれぞれのポリシーによるエクスポートとインポートのみが可能で、独立してエクスポートまたはインポートできません。
コネクタ・インストーラを使用してアプリケーションを作成した場合に、デプロイメント・マネージャのアプリケーション・インスタンス・アーティファクトを使用して別の環境にアプリケーションをインポートする場合は、スケジュール済ジョブをデプロイメント・マネージャを使用してインポートする必要があります。ただし、Identity Self Serviceでアプリケーション組込み機能を使用してアプリケーションを作成した場合は、スケジュール済ジョブが自動的に作成されるため、インポートする必要はありません。
デプロイメント・マネージャには、次の制限があります。
マージ・ユーティリティ: デプロイメント・マネージャはマージ・ユーティリティではありません。
デプロイメント・マネージャでは、本番環境とテスト環境の両方で行われた変更を混在させることができません。ターゲット・システムのオブジェクトはXML内のオブジェクトで置き換えられます。
バージョン管理ユーティリティ: デプロイメント・マネージャでは、インポートしたファイルのバージョンを追跡せず、ロールバック機能は提供されません。
デプロイメント・マネージャを使用できるのは、環境の間でデータを移動する場合のみです。
Oracle Identity ManagerサーバーでSecure Sockets Layer (SSL)を有効にする際には、Discovery MbeanのOIMFrontEndURLとしてのURLホストおよびポートを指定し、HTTPSプロトコルおよび適切なポートを使用してアイデンティティ・システム管理にログインして、ブラウザ・キャッシュをクリアする必要があります。
SSLモードでデプロイメント・マネージャを有効化するには:
OIMサーバーに対してSSLを有効にします。この後の手順に従ってSSLを有効化します。
WebLogic Server管理コンソールで、「環境」をクリックしてから、「サーバー」を選択します。「サーバーのサマリー」ページが表示されます。
「構成」タブでサーバー名(たとえば、OIM_Server1)を選択します。サーバーの「設定」ページが表示されます。
「一般」タブで、「SSLリスニング・ポートの有効化」チェック・ボックスを選択します。SSLリスニング・ポートの詳細を入力します。
「保存」をクリックします。
必ずURLのホストとポート値をDiscovery MbeanのOIMFrontEndURLとして指定してください。
HTTPSプロトコルおよび適切なポートを使用してOracle Identity System Administrationにログインすることをお薦めします。HTTPS証明書が無効な場合は、デフォルト証明書を受け入れます。
Oracle Identity System Administrationにアクセスする前にブラウザのキャッシュをクリアすることをお薦めします。そうしないと、JavaScriptおよびHTMLファイルがキャッシュされる可能性があります。
オブジェクトは、Oracle Identity Managerシステムからエクスポートして、XMLファイルに保存できます。デプロイメント・マネージャにあるエクスポート・ウィザードを使用して、エクスポート・ファイルを作成することができます。
オブジェクトを一度に1タイプずつ、たとえばロール、フォーム、プロセスの順で追加します。
注意:
アプリケーション・インスタンスは、データセットなしでエクスポートおよびインポートされます。データセットの移行は、UIのカスタマイズの一部となります。
子オブジェクトや依存性を持つオブジェクトを選択した場合は、依存性を追加するオプションがあります。必要なオブジェクトをすべて追加すると、デプロイメント・マネージャによりオブジェクトが1つのXMLファイルに保存されます。
ユーザー定義フィールドが特定のリソース・オブジェクトに関連付けられている場合、デプロイメント・マネージャによって依存性が考慮されるのは、フィールドの値が空でない場合のみです。
アイデンティティ・システム管理の「構成のエクスポート」ページを使用して、デプロイメントをエクスポートします。
デプロイメントをエクスポートするには:
Oracle Identity System Administrationにログインします。
左側のペインの「システム構成」で、「エクスポート」をクリックして「構成のエクスポート」ページを開きます。
オブジェクトを検索するには、オブジェクトの名前を入力します。
名前検索フィールドではアスタリスク(*)をワイルドカードとして使用できます。アスタリスクは、英数字がゼロ個以上出現することを表します。たとえば、「Role*」、「*Role」、「*OIM*」などと入力して検索できます。デフォルトでは、入力した文字列の末尾にアスタリスクが追加されます。
リストから「タイプ」を選択して、「検索」アイコンをクリックします。検索結果が「使用可能なエンティティ」表に表示されます。
デフォルトでは、「タイプ」は「すべて」に設定されます。デプロイメント・マネージャによって移行がサポートされているオブジェクトはエクスポートできます。デプロイメント・マネージャによって移行がサポートされているオブジェクトのリストは、「デプロイメント・マネージャの機能」を参照してください。
注意:
すべてのエンティティ・タイプにわたってエンティティ名を検索する場合、表示されるレコード数はDMGlobalSearchResultSizeシステム・プロパティに設定された値で制御されます。このシステム・プロパティの詳細は、「Oracle Identity Governanceのデフォルトのシステム・プロパティ」を参照してください。
検索を絞り込むには、エンティティ名またはエンティティ・タイプをリストから選択します。
「使用可能なエンティティ」表で、エクスポートするエンティティの横のチェック・ボックスを選択します。そのエンティティが「選択されたエンティティ」表に移動されます。複数のエンティティを選択できます。
「選択されたエンティティ」表から任意のエンティティを削除するには、「削除」をクリックします。
ページにナビゲートするには、検索表の下部のページ番号をクリックするか、ページ番号テキストにページ番号を入力します。「表示される行」オプションを使用して、検索表の行数を指定します。
注意:
複数回検索を実行し、任意のエンティティの組合せを「選択されたエンティティ」表に追加して、エクスポートできるオブジェクトのリストを作成できます。「次」をクリックするか、「エクスポート・オプション」をクリックして「エクスポート・オプション」ページを開きます。
依存エンティティをダウンロードする場合は、「依存性」を「はい」に設定します。それ以外の場合は、「いいえ」に設定します。
デフォルトでは、「依存性」は「はい」に設定されます。
「次」をクリックするか、「サマリー」をクリックして「サマリー」ページを開きます。
必要なエンティティをすべて選択して、「選択されたエンティティ」パネルに表示されていることを確認します。依存性情報が「エクスポート・オプション」パネルに表示されていることを確認し、「エクスポート」をクリックして「エクスポート」ウィンドウを開きます。
「エクスポート」ウィンドウで、ファイルの説明を入力します。この説明は、ファイルがインポートされるときに表示されます。
「エクスポート」をクリックすると、「別名保存」ダイアログ・ボックスが開きます。
ファイル名を入力するか、場所を参照して見つけます。
「保存」をクリックします。
デプロイメント・マネージャを使用してオブジェクトをXMLファイルにエクスポートしてある場合は、デプロイメント・マネージャを使用してこれらのオブジェクトをOracle Identity Managerにインポートできます。
デプロイメント・マネージャは、インポートするオブジェクトの依存性が、インポート時に、または使用するシステムで確実に利用できるかどうかを確認します。インポートする際には、システム内のオブジェクトをインポート中のオブジェクトに置換できます。たとえば、システムのグループをXMLファイル内で指定されているグループに置換できます。
注意:
ユーザーが、「インポート」メニュー項目が割り当てられているグループに属している場合、そのユーザーは、インポートするオブジェクトに対して必要な権限も持っている必要があります。これらのオブジェクト固有の権限がない場合、インポート操作は失敗します。システム管理者のみが「デプロイメント・マネージャ」メニュー項目をUIに表示できます。
デプロイメント・マネージャを使用して1,000個を超えるリソース、プロセス定義、親フォーム、子フォーム、アクセス・ポリシー、ロール、ルールをインポートする場合、EIF表のサイズが大きくなります。この表のデータ量はDelete from EIFなどの簡単なSQL問合せを実行すれば少なくできます。
デプロイメントをインポートするには、アイデンティティ・システム管理の「構成のインポート」ページを使用します。
注意:
メニュー項目への参照を含むデータをインポートする場合は、まずターゲット・システムでそのメニュー項目を作成してからインポートする必要があります。
デプロイメント・マネージャを使用するためのベスト・プラクティスには、関連するオブジェクト・グループを一度にエクスポートすること、フォーム・バージョンに対して論理命名規則を使用すること、明確なエクスポートの説明を入力すること、データベースをバックアップすること、システムのアクティビティが少ないときにデータをインポートすることなどが含まれます。
この項には次のトピックが含まれます:
どうしても必要な場合以外は、システム・オブジェクトをエクスポートまたはインポートしないでください。(システム・オブジェクトの例としては、リクエスト、Xellerateユーザー、システム管理者などがあります。)システム・オブジェクトをテスト環境やステージング環境から本番環境にエクスポートすると、問題が発生する場合があります。可能な場合はいつでも、データをエクスポートまたはインポートする際にシステム・オブジェクトを除外してください。
信頼できるソースのリコンシリエーションをXellerateユーザー・リソース・オブジェクトに定義する場合や同様の状況では、システム・オブジェクトをエクスポートまたはインポートすることがあります。
注意:
デプロイメント・マネージャでは、インポートしたコンポーネントおよび構造が追跡されますが、完了したインポートは追跡されません。インポートが完了した後は、インポートしたコンポーネントの前のバージョンには戻せません。
デプロイメント・マネージャを使用して、関連するオブジェクトをセットにしてエクスポートすることをお薦めします。グループ化する項目を1つにまとめて、エクスポートの単位にしてください。
1回の操作でデータベース内のすべてをエクスポートしたり、1回に項目を1つずつエクスポートすることは避けてください。たとえば、プロセス、リソース・オブジェクト、アダプタ、ITリソース・タイプ定義、ITリソース定義、スケジュール済タスクを含むターゲット・システムと、Oracle Identity Managerとの間の統合を管理するとします。このような環境では、項目をエクスポートする前に関連するオブジェクトのグループを作成します。
たとえば、複数の統合で同一の電子メール定義を使用する場合、電子メール定義を1つの単位としてエクスポートし、統合は別の単位としてエクスポートします。次に、電子メール定義の変更を、ターゲット・システム統合の変更とは別にインポートできます。また、複数のリソースで同一のITリソース・タイプ定義を使用する場合、タイプ定義をその他のデータとは別個にエクスポートおよびインポートできます。
エクスポート済データの複数のセットを一度にインポートできます。たとえば、リソース・オブジェクト定義、電子メール定義およびITリソース・タイプ定義を、1回の操作でインポートできます。
フォームをエクスポートする前に、フォームを複数回改訂する場合は、「v23」のような一般的な名前でフォームのバージョンを区別しないでください。かわりに、「Before Production」または「After Production Verification」など、意味のある名前を作成します。バージョン名には二重引用符などの特殊文字を使用しないでください。
組織階層内のリーフや組織をエクスポートすると、1つの依存性レベルのみがエクスポートされます。組織階層を完全にエクスポートするには、階層のルートをエクスポートします。
デプロイメント・マネージャでは、エクスポート日、エクスポートの実行者、ソース・データベースなどの一部の情報は自動的に記録されます。また、「xxx属性がリコンシリエーションに追加された後のリソース定義」など、エクスポートのコンテンツのわかりやすい説明も入力してください。ファイルのインポート担当者は、これを元にインポートされる項目のコンテンツを把握します。
右上ペインのウィザードには、ターゲット・システムで使用可能であることが必要なリソースが表示されます。
次の点を考慮してください。
ターゲット・システムですでに使用可能なリソースは、エクスポートする必要がありません。
(ターゲット・システムにない)新規のリソースは、エクスポートする必要があります。
再利用される参照、ITリソース定義またはその他のリソースがターゲット・システムに含まれていない場合は、必要に応じてインポートできるように、データを記録して別個のファイルでエクスポートします。
注意:
リソースをエクスポートする際に、そのフォームに対してデータ・オブジェクト権限を持つグループはリソースと一緒にエクスポートされません。
スケジュール済タスクが正しく実行されるかどうかは、特定のパラメータに依存します。スケジュール済タスクのパラメータを、本番サーバーにインポートできます。表20-1に、スケジュール済タスクのインポート方法を決定するためのルールを示します。パラメータは、ターゲット・システムに存在しないタスクでも使用できる場合があります。
表20-1 パラメータのインポート・ルール
ターゲット・システムにパラメータがある | XMLファイルにパラメータがある | 動作 |
---|---|---|
はい |
いいえ |
パラメータをターゲット・システムから削除します。 |
いいえ |
はい |
XMLファイルのパラメータおよび現行の値を追加します。 |
はい |
はい |
パラメータのより新しい値を使用します。 |
デプロイメント・マネージャを使用してインポートできるオブジェクトの1つは、スケジュール済タスクです。通常、スケジュール済タスクをOracle Identity Manager環境にインポートし、実際の本番環境にあわせて後からスケジュールされた属性の値を変更します。ただし、同じOracle Identity Managerサーバーに同一のスケジュール済タスクをインポートするのが2回目である場合、デプロイメント・マネージャはデータベースにある属性値を上書きしません。その場合、デプロイメント・マネージャは再インポートしたXMLファイルの属性値を、対応するデータベース内の属性値と比較します。
次の表に、スケジュール済タスクが再インポートされるときにデプロイメント・マネージャによって実行される動作についてまとめます。
スケジュール済タスクのインポートするXMLファイルに属性値があるか | 対応する属性値がデータベースにあるか | デプロイメント・マネージャの動作 |
---|---|---|
はい |
いいえ |
属性値をデータベースに格納します |
いいえ |
はい |
データベース内の既存の属性値を削除します |
はい |
はい(タイムスタンプで示される、より新しい属性値) |
データベースは変更されません |
はい(タイムスタンプで示される、新しい属性値) |
はい |
新しい属性値でデータベースを更新します。 |
Java依存性(クラス)が以前にインポートされていた場合は、インポートされた後にアダプタが自動的に再コンパイルされます。インポート後、アダプタ・ステータスはOKに設定されます。アダプタがインポートされる前にJava依存性がインポートされていなかった場合は、クラスをインポートしてタスク属性を調整した後に、手動でアダプタを再コンパイルし、スケジュール済タスクを有効化してください。
ロールをエクスポートする際に、異なるデータ・オブジェクトに対するロール権限もエクスポートされます。ただし、データをインポートする際は、欠落しているデータ・オブジェクトに対する権限は無視されます。ロール権限の設定をエクスポートする手段としてロールをエクスポートする場合は、権限の要件が満たされるように、警告を慎重にチェックしてください。たとえば、ロールにオブジェクトA、B、Cに対する権限があるが、ターゲット・システムにはオブジェクトA、Bしかない場合、オブジェクトCの権限は無視されます。後でオブジェクトCを追加した場合、Cのロール権限を手動で追加するか、ロールを再インポートする必要があります。
特定のレポートの表示権限を持つロールのエクスポートでは、そのレポートがターゲット環境に存在することを確認してください。レポートがない場合、ロールのエクスポートの前に権限を削除することを考慮してください。
データを本番環境にインポートする前に、データベースをバックアップします。これにより、インポートで問題が発生しても、データをリストアできます。大きな変更の前にデータベースをバックアップするのは、いつでも大切な予防措置です。
注意:
フォームおよびユーザー定義フィールドをインポートする際は、データベースにエントリを追加します。これらのデータベース・エントリは、ロールバックまたは削除できません。各インポート操作の前に、フォームの正しいバージョンがアクティブになっていることを確認してください。
インポート操作はスキーマの変更を伴うため、単一のトランザクションでは完了できません。これらの変更は、現在システムで実行中のトランザクションに影響を与えます。インポート操作の影響を抑えるためには、一般使用のためのWebアプリケーションを一時的に無効化し、システムのアクティビティが低下する夜間などに操作を行うようにしてください。
デプロイメント・マネージャは、データの移動用または大量データの移行用のツールではありません。デプロイメント・マネージャを使用してオブジェクトをエクスポートまたはインポートする際はご自身の判断に従ってください。データ量が多いときは、他のバルク・ツールを使用して、ユーザー、組織、ロールなどのエンティティをエクスポートおよびインポートしてください。
これらの種類のエンティティをエクスポートまたはインポートしないようにするために、ポリシー、ルール、アプリケーション・インスタンス、およびコネクタ構成などの構成オブジェクトを移動する前に、ユーザー、ロールおよび組織を常にロードまたは同期化(あるいはその両方)してください。
注意:
大量のデータをエクスポートまたはインポートする場合は、UIでタイムアウトが発生する可能性があります。