51 Oracle Sales Cloud、Oracle HCM CloudおよびOracle ERP Cloudユーザー・アイデンティティおよびロールとSIMの同期

Oracle Cloudは、Oracle Sales Cloud、Oracle HCM CloudおよびOracle ERP CloudサービスからOracle PaaSへのユーザー・アイデンティティおよびロールの同期をサポートしています。Oracle SaaSサービスは、Oracle PaaSとは異なるプラットフォーム上で動作するため、SaaSオファリングとOracle PaaSの間のSSO機能では、SaaSアイデンティティをOracle PaaS Shared Identity Management (SIM)ユーザー・ストアに定期的に同期化する必要があります。また、ロールと対応するロール割当てを同期化することにより、Oracle SaaSサービス・インスタンスに格納されているコンテンツに対するOracle PaaSへのデプロイ済カスタム・アプリケーションによるロール・ベースのアクセス制御をサポートすることもできます。Oracle Enterprise Scheduler Service (ESS)を使用して、アイデンティティとロールを1回同期化したり、選択したスケジュールに基づいて自動的に同期化したりするよう、Oracle Sales Cloud、Oracle HCM CloudおよびOracle ERP Cloudを構成できます。

ユーザー・アイデンティティおよびロールの同期について

Oracle Enterprise Scheduler (ESS)スケジュール済プロセス・ツールを使用すると、Oracle Sales Cloud、Oracle HCM CloudおよびOracle ERP CloudサービスとOracle PaaS Shared Identity Management (SIM)の間のユーザー・アイデンティティおよびロール・データの非定型または繰返し同期化をスケジュールできます。

レコードの編集および削除操作の同期化

サービス内のユーザー・レコードおよびロール割当てが削除または更新される場合、サービス表内の更新および削除操作も監視されます。REST PUTおよびDELETEコールを使用して、対応する更新または削除操作がSIMアイデンティティ・マネージャに送信されます。

同期化の再試行

ESSプロセスは実行されるたびに、変更(追加、変更または削除)されたユーザー・アイデンティティ・データ、ロールおよびロール割当てをフェッチします。1つ以上のレコードが同期化に失敗する可能性があります。ジョブがレコードの同期化に失敗した場合、フェッチされたレコードが再試行表に移動されます。

ESS同期ジョブが開始または再開されるたびに、移行再試行表が確認され、最初にこれらのエントリの同期化が試行されます。エントリがない場合、サービスに対する問合せが行われ、新しく作成、更新または削除されたユーザー・レコード、ロールおよびロール割当てが確認されます。

FND_USER_MIGRATION_MAX_RETRY_ATTEMPTSプロファイルは、レコードが再試行表に書き込まれるまでに、失敗した同期化試行が再試行される回数を制御します。デフォルト値は20です。再試行プロファイルを変更するには、「ジョブ・プロファイルの変更」を参照してください。

バッチ・サイズ

ESSプロセスが実行されるたびに、事前構成されたバッチ・サイズ制限まで複数のレコードの同期が試行されます。FND_USER_MIGRATION_FETCH_BATCH_SIZEプロファイルは、ESSプロセスが実行されるたびにユーザー・アイデンティティ、ロールおよびロール割当てレコードがフェッチされる回数を制御します。デフォルト値は1000です。バッチ・サイズを変更するには、「ジョブ・プロファイルの変更」を参照してください。

レコードはRESTコールを介して一度に1つずつ処理されるため、非常に大きいバッチの場合、完了するまで数時間かかる可能性があります。

最大ロール数

同期対象のロールを以前に選択した場合、ESSプロセスが実行されるたびに、エンタープライズ・ロールおよびロール割当てを同期化できます。FND_ROLE_SYNC_MAX_SELECTED_ROLES_SIZEプロファイルは、移行できるロールの数を制限します。デフォルト値は15です。この場合、ロール割当てトランザクションの数が制限されることはなく、変更が1つのバッチで同期化される可能性があります。この数はバッチ・サイズによって制限されます。多くのユーザーに対して特定の1つのロールを割り当てることができ、ロール割当ての変更(追加、変更または削除)はそれぞれが、バッチに含まれるトランザクションです。ただし、最大ロール数プロファイルにより、SIMへの同期化対象として設定できる各種エンタープライズ・ロールの数が制限されます。最大ロール数の制限を変更するには、「ジョブ・プロファイルの変更」を参照してください。

Oracle Cloudによる外部アイデンティティ・プロバイダからフェデレート時のユーザー・アイデンティティとロールの同期化

ESS同期ジョブでは常に、Oracle Sales Cloud、Oracle HCM CloudおよびOracle ERP Cloud表が監視され、外部リポジトリからの更新が含まれる可能性がある新しい挿入、更新および削除が確認されます。場合によっては、Oracle Cloud SaaSサービスがオンプレミスまたはサード・パーティのアイデンティティ管理システムとフェデレートされている可能性があります。Oracle Cloudを使用してフェデレートされた外部アイデンティティ・システムでユーザー・アイデンティティおよびパスワードがマスター化されていたとしても、ファイル・ベースのローダーまたはインポート・エクスポート・プロセスを介してユーザー・アイデンティティ・データはOracle Sales Cloud、Oracle HCM CloudおよびOracle ERP Cloudサービスにロードされます。この結果、引き続きESSジョブを使用してユーザー・アイデンティティ・データをOracle PaaS SIMに同期化できます。

SIMエンドポイントの登録

同期ジョブを実行するには、先にSIM RESTエンドポイントをOracle Sales Cloud、Oracle HCM CloudまたはOracle ERP Cloudサービスに登録する必要があります。

SIM RESTエンドポイントを登録する手順:
  1. Oracle Sales Cloud、Oracle HCM CloudまたはOracle ERP Cloudサービスにログインし、「設定と保守」ページにナビゲートします。右上にあるメモ帳記号をクリックし、カスタム・セットアップ・コンテンツの管理を選択します。次に、トポロジ定義セクションの下で、サード・パーティ・アプリケーションの管理を選択します。
  2. サード・パーティ・アプリケーションの管理ページで、「検索結果」の下で「作成」ボタンをクリックします。
  3. サード・パーティ・アプリケーションの作成ページで、「基本情報」フィールドに次の詳細を入力します。
    • アプリケーション名: SIM_REST_ENDPOINTAPP
    • 完全 URL: これは、SIM REST URLであり、http://idmrestinternal.<data center>.oraclecloud.com/cloudIdentity/<identity-domain>/.cloudPortal/api/v1という形式です。

      たとえば、データ・センターがDC1であり、アイデンティティ・ドメインがabc-testである場合、URLをhttp://idmrestinternal.dc1.oraclecloud.com/cloudIdentity/abc-test/.cloudPortal/api/v1として入力します。

    • パートナー名: SIM
  4. 「保存して閉じる」をクリックします。
SIM RESTエンドポイントが登録されました。

ロール同期化の構成

オプションで、ユーザー・アイデンティティに加えてロールとロール割当てを同期化するためにESS同期ジョブを構成できます。

一部の統合シナリオでは、SIMと同期化する特定のロールを選択できます。同期化対象として明示的に選択するロールのみが含まれます。Oracle Sales Cloud、Oracle HCM CloudまたはOracle ERP Cloudサービス内でこれらのロールが割り当てられたユーザーは、SIM内で同期化されたアイデンティティにロール割当てが適用されます。

ロールを同期化するためにESSジョブを構成する手順:

  1. 管理者ロールを持つアカウントを使用してサービスにログインします。
  2. サービスの「設定と保守」パネルから、タスクフロー「PaaSアイデンティティ・ストアへのエンタープライズ・ロールと割当ての移行」を検索します。
    「PaaSアイデンティティ・ストアへのエンタープライズ・ロールと割当ての移行」ページがロードされ、すでに選択されているロールが表示されます。表が空である場合、同期化対象としてロールがまだ選択されていません。
  3. 表にロールを追加するには、「行の追加」アクションを、プラス・アイコンをクリックするか「アクション」ドロップダウンから選択することにより、選択します。
    「その他のロールの追加」ダイアログが開きます。
  4. 「表示名」または「ロール名」別にロールを検索します。これらのフィールドを両方とも空白のままにし、「検索」をクリックし、システム内のすべてのロールのリストを返します。
    検索基準と一致するロールが検索結果表に表示されます。
  5. 検索結果から同期化対象のロールを1つ以上選択し、「追加」をクリックします。
    「その他のロールの追加」ダイアログが閉じ、ロールがメイン表に追加されます。
  6. ロールを削除するには、行を選択し、赤色のXアイコンをクリックするか、「アクション」ドロップダウンからアクションを削除します。
この表内のロールが、FND_ROLE_SYNC_MAX_SELECTED_ROLES_SIZEプロファイルによって指定されている最大制限まで同期化されます。このプロファイルによって定義されている制限以上の数がすでに設定されている場合、これ以上のロールを表に追加することはできません。プロファイルを変更するには、「ジョブ・プロファイルの変更」を参照してください。

注意:

表内の各ロールにはSyncStatusおよびSyncStatusMessageフィールドがあり、これらは、ロールが同期化されているかどうか、同期化(追加または削除)が保留中であるかどうか、または同期化試行がエラーのために失敗したかどうかを示しています。

同期化のスケジュール

Oracle Enterprise Scheduler (ESS)スケジュール済プロセス・ツールを使用して、Oracle Sales Cloud、Oracle HCM CloudおよびOracle ERP CloudサービスとOracle PaaS Shared Identity Management (SIM)の間のユーザー・アイデンティティ、ロールおよびロール割当てデータの非定型または繰返し同期化をスケジュールできます。

ESS同期プロセスでは、新しいユーザー、ロールおよびロール割当てをバッチ・ロードし、アイデンティティおよびロール割当てに変更を適用し、サービスから削除されたレコードをSIMから削除します。

1回限りまたは繰返しのユーザー・アイデンティティおよびロール同期プロセスをスケジュールする手順:

  1. 管理者ロールを持つアカウントを使用してサービスにログインします。
  2. メイン・コンソールから、画面の左側でメニュー・アイコンをクリックして「ナビゲータ」メニューを開きます。
  3. 「詳細...」を選択します。
    「ツール」サブメニューが開きます。
  4. 「スケジュールされたプロセス」をクリックします。
    スケジュール済プロセス概要画面が開きます。この画面を使用して、今後のスケジュール済プロセスをレビューしたり、新しいスケジュール済プロセスを作成したりします。
    sched_proc_overview.pngの説明が続きます
    図sched_proc_overview.pngの説明
  5. 「検索結果」セクションで、「新規プロセスのスケジュール」ボタンをクリックします。
    「新規プロセスのスケジュール」ダイアログが開きます。
  6. 「名前」フィールドの最後にある下矢印アイコンをクリックしてプロセス名リストを開き、「このSaaSインスタンスからPaaSアイデンティティ・ストアへのユーザー・アイデンティティの同期」ジョブを探してから、「OK」をクリックして選択します。
    • 名前リストの下部にある「検索...」をクリックし、ジョブを検索して探します。
    • または、ドロップダウン・リストを下にスクロールし、ジョブを名前で探します。
    「プロセスの詳細」ダイアログが開き、選択したプロセスが表示されます。
  7. オプションで、「プロセス・オプション」をクリックします。
    「プロセス・オプション」ダイアログで、表示またはレポートされたジョブ詳細(表示されるタイムゾーン、時間書式および言語オプションなど)のフォーマットを制御できます。
  8. オプションで、「拡張」をクリックします。「プロセスの詳細」ダイアログに2つのタブが表示されます。
    • 「通知」タブを使用して、ユーザーの同期ジョブの成功、警告およびエラー結果によってトリガーされる、特定の受信者に送信される通知を追加できます。
    • 「スケジュール」タブを使用して、同期ジョブを即時実行するようスケジュールする「できるだけ早く」、または繰返しスケジュール済同期プロセスを作成できる「スケジュールの使用」のどちらかを選択できます。
      sched_proc_sched.pngの説明が続きます
      図sched_proc_sched.pngの説明
      再試行またはバッチ・サイズのプロファイルを変更するには、「ジョブ・プロファイルの変更」を参照してください。
  9. プロセス・オプションを選択した後、「プロセスの詳細」ダイアログで、「送信」をクリックします。
    プロセスがスケジュールされ、スケジュール済プロセス概要画面の「検索結果」表に追加されます。
プロセスが実行されると、サービスのユーザー・リポジトリ(またはサービスとフェデレートされた外部リポジトリ)内に存在するユーザー・アイデンティティがOracle PaaSアイデンティティ管理システム内のアイデンティティと同期化されます。同期化対象のロールを構成した場合、これらのロールおよびロール割当ても同期化されます。

注意:

スケジュール済プロセスの使用の詳細は、スケジュール済プロセスに関するOracle Applicationsのヘルプを検索してください。

結果のレビューおよび監視

同期ジョブの結果をレビューおよび監視し、成功したかどうかやアイデンティティに関する問題を確認できます。

  1. 管理者ロールを持つアカウントを使用してサービスにログインします。
  2. サービスの「設定と保守」パネルから、タスクフロー「PaaSアイデンティティ・ストアへのユーザー・アイデンティティの同期の管理」を検索します。
    「PaaSアイデンティティ・ストアへのユーザー・アイデンティティの同期の管理」ページがロードされます。

  3. 「正常に同期されたユーザー」タブをレビューします。
    ユーザー・アイデンティティの同期化に成功した同期ジョブを実行した後、各ユーザーがこのタブにリストされます。
  4. ユーザーのロール割当て履歴を表示するには、「同期されたユーザー」表でユーザー行を選択します。
    「{user name}ユーザーのロール割当て履歴」表に、そのユーザーのロール割当てデータが移入されます。このユーザーにロールが同期化されていない場合、表に次のメッセージが表示されます: 「表示するデータがありません」
  5. 「同期に失敗したユーザー」タブをレビューします。
    「同期に失敗したユーザー」タブには、「ユーザーの同期に失敗しました」および「ユーザー・ロール割当ての同期に失敗しました」の2つの表が表示されます。失敗した同期は、次回の同期ジョブの実行時に、FND_USER_MIGRATION_MAX_RETRY_ATTEMPTSプロファイルに設定されている最大試行回数の制限まで再試行されます。失敗した同期には、レスポンス・コード、エラー・コードおよび失敗メッセージが含まれます。この情報は、トラブルシューティングの役に立ちます。最大試行回数を構成するには、「ジョブ・プロファイルの変更」を参照してください。
  6. 「未同期のユーザー」タブをレビューします。
    このタブには、まだ同期化されていないユーザー・アイデンティティまたはロールの変更があるすべてのユーザーがリストされた表があります。この表を使用すると、特定のユーザー・アイデンティティがまだ同期化されていないかどうかを確認したり、同期ジョブの実行が必要な頻度を調整したりできます。

同期データのリセット

特定の状況下では、同期データのリセットが必要になる可能性があります。リセットした後、ESS同期ジョブにより、同期化のために構成されているすべてのユーザー・アイデンティティ、すべてのロールおよび対応するロール割当ての同期化が試行されます。

場合によっては、以前に同期化済みでアイデンティティまたはロールに対する変更が行われていないユーザーに対してさえ、すべてのユーザー・アイデンティティ、構成済ロール、およびすべてのユーザーに対応するロール割当ての同期化を試みるようESS同期ジョブを強制することもできます。たとえば、ユーザー・データをテストから本番に移行する場合、同期データをリセットすることにより、前にテスト・インスタンスと同期化されたレコードを新しい本番インスタンスに再同期化する必要があります。

同期データをリセットする手順:

  1. 管理者ロールを持つアカウントを使用してサービスにログインします。
  2. サービスの「設定と保守」パネルから、タスクフロー「PaaSアイデンティティ・ストアへのユーザー・アイデンティティの同期の管理」を検索します。
    「PaaSアイデンティティ・ストアへのユーザー・アイデンティティの同期の管理」ページがロードされます。

  3. 画面の右上隅にある「同期データのリセット」ボタンをクリックします。確認ダイアログで、同期データをリセットすることを確認します。
同期データがリセットされます。ESSバッチ同期ジョブを次回実行するときに、すべてのユーザー・アイデンティティ、および構成されている場合は、ロールとロール割当てが同期化されます。

ジョブ・プロファイルの変更

ESS同期プロセスのバッチ・サイズ、再試行回数、ロールの最大数を制御するとともに、SIM、IDCSまたはこれら両方のうちどれを同期化するかを制御するプロファイルを変更できます。IDCSに対するユーザーおよびロールの同期化を設定する場合、FND_USER_IDENTITY_SYNC_TARGETプロファイルの値を変更する必要があります

ESS同期プロセスによって使用されるプロファイルは4つあります。

  • FND_USER_MIGRATION_FETCH_BATCH_SIZEは、1回の同期プロセス中に実行されるトランザクションの最大数を制御します。トランザクションには、同期化された各ユーザー・アイデンティティ、同期化された各ロール、および同期化された各ロール割当てが含まれます。デフォルト値は1000です。

  • FND_USER_MIGRATION_MAX_RETRY_ATTEMPTSは、初回の同期試行が失敗したときにバッチ・ジョブがレコードの同期試行を繰り返す最大回数を制御します。デフォルト値は20です。

  • FND_ROLE_SYNC_MAX_SELECTED_ROLES_SIZEは、「PaaSアイデンティティ・ストアへのエンタープライズ・ロールと割当ての移行」ページに追加できるロールの最大数を制御します(「ロール同期化の構成」を参照)。デフォルト値は15です。

  • FND_USER_IDENTITY_SYNC_TARGETは、Fusion CloudアプリケーションがユーザーをICDS、SIM、あるいはIDCSおよびSIMの両方のどれに同期化するかを決定します。デフォルト値はSIMです。IDCSに対してのみ同期化するには、値を「IDCS」に変更します。IDCSとSIMの両方に同期化するには、値を「ALL」に変更します。

これらのプロファイルのいずれかを変更する手順:
  1. 「設定と保守」にナビゲートし、「実装プロジェクト」検索フィールド内の「管理プロファイル値の管理」を検索します。
    管理プロファイル値の管理ページが開きます。
  2. 変更するプロファイルの名前の一部またはすべてを「検索: プロファイル・オプション」セクションに入力し、「検索」をクリックします。
    「検索結果」表で、検索基準と一致するプロファイルが表にリストされます。次に例を示します。
    sched_proc_profiles.pngの説明が続きます
    図sched_proc_profiles.pngの説明
  3. 「検索結果」でプロファイルを選択し、必要に応じて下部の表で「プロファイル値」を編集します。値の編集が終了したら、「保存して閉じる」をクリックします。
新しい値が、ESS同期プロセスの次回の実行時に使用されます。