5 Office 365コネクタの使用
自分の要件を満たすようにアプリケーションを構成したら、コネクタを使用してリコンシリエーションおよびプロビジョニング操作を実行できます。
5.1 リコンシリエーションの構成
コネクタを構成して、リコンシリエーションのタイプおよびそのスケジュールを指定できます。
この項では、リコンシリエーションの構成に関する次の項目について説明します。
5.1.1 完全リコンシリエーションおよび増分リコンシリエーションの実行
完全リコンシリエーションでは、既存のすべてのユーザー・レコードをターゲット・システムからOracle Identity Governanceへリコンサイルします。アプリケーションを作成した後はまず、完全リコンシリエーションを実行する必要があります。
完全リコンシリエーションを実行するには、Latest TokenとFilter Suffixの各パラメータに現在割り当てられている値を削除し、「リコンシリエーション・ジョブ」の項にリストされているリコンシリエーション・ジョブの1つを実行します。
Office 365コネクタでは、増分リコンシリエーションのオプションはデフォルトでは有効になっていません。コネクタでは、ターゲット・システムにオブジェクトの作成または変更のタイムスタンプが格納される属性が含まれている場合にのみ、増分リコンシリエーションをサポートします。
増分リコンシリエーションの構成
増分リコンシリエーションを実行する必要がある場合は、次のように増分リコンシリエーションを構成します。ノート:
コネクタでは、ターゲット・システムにオブジェクトの作成または変更のタイムスタンプが格納される属性が含まれている場合にのみ、増分リコンシリエーションをサポートします。
たとえば、Office365ユーザー・リコンシリエーション・スケジュール済ジョブに対して指定したサンプルのIncremental Recon Attribute
がlastDirSyncTimeであるとします。完全リコンシリエーションを初めて実行した後、コネクタによって、Latest Token
パラメータにタイムスタンプが移入されます。その後、リコンシリエーションを実行すると、Latest Token
タイムスタンプよりも後に作成または更新されたユーザー・レコードのみがコネクタによってフェッチされます。
- 増分リコンシリエーション・ジョブを実行する前に、まず、信頼できるリコンシリエーション/ターゲット・ユーザー・リコンシリエーション・ジョブを実行し、
Incremental Recon Attribute
の値をlastDirSyncTime
として構成します。ノート:
lastDirSyncTime
はサンプル属性です。この属性名は実際の本番インスタンスとは異なる場合があります。 -
リコンシリエーション・ジョブが正常に実行された後、
Latest Token
属性が生成されます。サンプルのLatest Tokenの値:
2017-08-21T05:48:54Z
-
Identity Self Serviceアプリケーションを開きます。
-
「管理」をクリックします。
-
「アプリケーション」をクリックします。
-
作成したアプリケーションを検索して開きます。
-
「拡張設定」オプションを展開し、
relURIs
の値を要件に応じて変更します。 -
ユーザー・リコンシリエーション・ジョブとグループ・リコンシリエーション・ジョブを使用するには、relURIsを次のように変更します。
-
認可アプリケーションについて、
relURIs
を次のように変更します。"__ACCOUNT__.SEARCHOP=/$(tenant_id)$/users?$(api_version)$&$filter=$(Incremental Recon Attribute)$%20ge%20datetime'$(Latest Token)$'/$(Filter Suffix)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__ACCOUNT__=/$(tenant_id)$/users/$(__UID__)$?$(api_version)$","__ACCOUNT__.manager.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/manager?$(api_version)$","__ACCOUNT__.manager=/$(tenant_id)$/users/$(__UID__)$/$links/manager?$(api_version)$"
- ターゲット・アプリケーションについて、
relURIs
を次のように変更します。"__ACCOUNT__.CREATEOP=/$(tenant_id)$/users?$(api_version)$","__ACCOUNT__.UPDATEOP=/$(tenant_id)$/users/$(__UID__)$?$(api_version)$","__ACCOUNT__.SEARCHOP=/$(tenant_id)$/users?$(api_version)$&$filter=$(Incremental Recon Attribute)$%20ge%20datetime'$(Latest Token)$'/$(Filter Suffix)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__ACCOUNT__=/$(tenant_id)$/users/$(__UID__)$?$(api_version)$","__ACCOUNT__.manager.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/manager?$(api_version)$","__ACCOUNT__.manager=/$(tenant_id)$/users/$(__UID__)$/$links/manager?$(api_version)$","__ACCOUNT__.__GROUP__.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/memberOf?$(api_version)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__ACCOUNT__.__GROUP__.DELETEOP=/$(tenant_id)$/groups/$(__GROUP__.objectId)$/$links/members/$(__UID__)$?$(api_version)$","__ACCOUNT__.__GROUP__=/$(tenant_id)$/groups/$(__GROUP__.objectId)$/$links/members?$(api_version)$","__GROUP__.CREATEOP=/$(tenant_id)$/groups?$(api_version)$","__GROUP__.UPDATEOP=/$(tenant_id)$/groups/$(__UID__)$?$(api_version)$","__GROUP__.SEARCHOP=/$(tenant_id)$/groups?$(api_version)$&$filter=$(Incremental Recon Attribute)$%20ge%20datetime'$(Latest Token)$'/$(Filter Suffix)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__GROUP__=/$(tenant_id)$/groups/$(__UID__)$?$(api_version)$","__GROUP__.member=/$(tenant_id)$/groups/$(__UID__)$/$links/members?$(api_version)$","__ROLE__.SEARCHOP=/$(tenant_id)$/directoryRoles?$(api_version)$/$(Filter Suffix)$","__ACCOUNT__.__ROLE__=/$(tenant_id)$/directoryRoles/$(__ROLE__.objectId)$/$links/members?$(api_version)$","__ACCOUNT__.__ROLE__.DELETEOP=/$(tenant_id)$/directoryRoles/$(__ROLE__.objectId)$/$links/members/$(__UID__)$?$(api_version)$","__ROLE__.member=/$(tenant_id)$/directoryRoles/$(__UID__)$/$links/members?$(api_version)$","__ACCOUNT__.__ROLE__.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/memberOf?$(api_version)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__LICENSE__.SEARCHOP=/$(tenant_id)$/subscribedSkus?$(api_version)$/$(Filter Suffix)$","__ACCOUNT__.__LICENSE__.ADDATTRIBUTE=/$(tenant_id)$/users/$(__UID__)$/assignLicense?$(api_version)$","__ACCOUNT__.__LICENSE__.REMOVEATTRIBUTE=/$(tenant_id)$/users/$(__UID__)$/assignLicense?$(api_version)$"
-
-
ユーザー・リコンシリエーション・ジョブのみを使用するには、relURIsを次のように変更します。
-
認可アプリケーションについて、
relURIs
を次のように変更します。"__ACCOUNT__.SEARCHOP=/$(tenant_id)$/users?$(api_version)$&$filter=$(Incremental Recon Attribute)$%20ge%20datetime'$(Latest Token)$'/$(Filter Suffix)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__ACCOUNT__=/$(tenant_id)$/users/$(__UID__)$?$(api_version)$","__ACCOUNT__.manager.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/manager?$(api_version)$","__ACCOUNT__.manager=/$(tenant_id)$/users/$(__UID__)$/$links/manager?$(api_version)$"
-
ターゲット・アプリケーションについて、
relURIs
を次のように変更します。"__ACCOUNT__.CREATEOP=/$(tenant_id)$/users?$(api_version)$","__ACCOUNT__.UPDATEOP=/$(tenant_id)$/users/$(__UID__)$?$(api_version)$","__ACCOUNT__.SEARCHOP=/$(tenant_id)$/users?$(api_version)$&$filter=$(Incremental Recon Attribute)$%20ge%20datetime'$(Latest Token)$'/$(Filter Suffix)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__ACCOUNT__=/$(tenant_id)$/users/$(__UID__)$?$(api_version)$","__ACCOUNT__.manager.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/manager?$(api_version)$","__ACCOUNT__.manager=/$(tenant_id)$/users/$(__UID__)$/$links/manager?$(api_version)$","__ACCOUNT__.__GROUP__.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/memberOf?$(api_version)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__ACCOUNT__.__GROUP__.DELETEOP=/$(tenant_id)$/groups/$(__GROUP__.objectId)$/$links/members/$(__UID__)$?$(api_version)$","__ACCOUNT__.__GROUP__=/$(tenant_id)$/groups/$(__GROUP__.objectId)$/$links/members?$(api_version)$","__GROUP__.CREATEOP=/$(tenant_id)$/groups?$(api_version)$","__GROUP__.UPDATEOP=/$(tenant_id)$/groups/$(__UID__)$?$(api_version)$","__GROUP__.SEARCHOP=/$(tenant_id)$/groups?$(api_version)$/$(Filter Suffix)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__GROUP__=/$(tenant_id)$/groups/$(__UID__)$?$(api_version)$","__GROUP__.member=/$(tenant_id)$/groups/$(__UID__)$/$links/members?$(api_version)$","__ROLE__.SEARCHOP=/$(tenant_id)$/directoryRoles?$(api_version)$/$(Filter Suffix)$","__ACCOUNT__.__ROLE__=/$(tenant_id)$/directoryRoles/$(__ROLE__.objectId)$/$links/members?$(api_version)$","__ACCOUNT__.__ROLE__.DELETEOP=/$(tenant_id)$/directoryRoles/$(__ROLE__.objectId)$/$links/members/$(__UID__)$?$(api_version)$","__ROLE__.member=/$(tenant_id)$/directoryRoles/$(__UID__)$/$links/members?$(api_version)$","__ACCOUNT__.__ROLE__.SEARCHOP=/$(tenant_id)$/users/$(__UID__)$/memberOf?$(api_version)$&$top=$(PAGE_SIZE)$&$skiptoken=$(PAGE_TOKEN)$","__LICENSE__.SEARCHOP=/$(tenant_id)$/subscribedSkus?$(api_version)$/$(Filter Suffix)$","__ACCOUNT__.__LICENSE__.ADDATTRIBUTE=/$(tenant_id)$/users/$(__UID__)$/assignLicense?$(api_version)$","__ACCOUNT__.__LICENSE__.REMOVEATTRIBUTE=/$(tenant_id)$/users/$(__UID__)$/assignLicense?$(api_version)$"
-
- 増分リコンシリエーションを実行するためのユーザー・リコンシリエーション・スケジュール済ジョブを実行します。タイムスタンプ(Latest Token属性に移入されている)よりも後に作成または変更されたレコードのみが、コネクタによってフェッチされます。
5.1.2 制限付きリコンシリエーションの実行
制限付きつまりフィルタ済リコンシリエーションは、設定されたフィルタ基準に基づいてリコンサイルすることによりレコードの数を制限するプロセスです。
デフォルトでは、前回のリコンシリエーションの実行後に追加または変更されたすべてのターゲット・システム・レコードが、現在のリコンシリエーションの実行中にリコンサイルされます。リコンサイルする必要のある追加または変更されたターゲット・システム・レコードのサブセットを指定して、このプロセスをカスタマイズできます。これは、リコンシリエーション・モジュールのフィルタを作成して行います。
リコンシリエーション・モジュールのフィルタを作成して、制限付きリコンシリエーションを実行できます。APIバージョン1.6で有効なFilter Suffix
の値の例を次に示します。
Filter Suffixの値 : %20and%20startswith(displayName,'tap')
このコネクタのFilter Suffix属性(スケジュール済タスクの属性)により、ターゲット・システムの任意の属性を使用してターゲット・システム・レコードをフィルタ処理できます。ユーザー・リコンシリエーション・スケジュール済ジョブの構成中に、Filter Suffix属性に値を指定します。
ノート:
Filter Suffix属性の値は、使用するOffice 365 APIでサポートされる形式で指定します。 例:-
増分リコンシリエーションを構成し、かつ、バージョン1.6のAPIを使用している場合は、Filter Suffix属性の値を次の形式で設定します。
APIバージョン1.6用のサンプルのFilter Suffix: %20and%20startswith(displayName,'user1')
-
増分リコンシリエーションを構成しておらず、かつ、バージョン1.6のAPIを使用している場合は、Filter Suffix属性の値を次の形式で設定します。
APIバージョン1.6用のサンプルのFilter Suffix: &$filter=startswith(displayName,'user1')
5.1.3 削除のリコンシリエーションの実行
ターゲット・システム内の削除されたユーザーに関する情報のリコンシリエーションのためにコネクタを構成できます。
削除のリコンシリエーションを実行するには、アプリケーションのオンボード時に削除のリコンシリエーション・スケジュール・ジョブを追加する必要があります。これを行うには:
- Identity Self Serviceアプリケーションを開きます。
- 「管理」をクリックします。
- 「アプリケーション」をクリックします。
- 作成したアプリケーションを検索して開きます。
- 「アプリケーション設定」を選択します。
- 「リコンシリエーション」タブをクリックし、「リコンシリエーション・ジョブ」を展開します。
- 削除のリコンシリエーション・スケジュール・ジョブを追加し、次の値を持つスケジューラを作成します:
- ジョブ名: Office365ターゲット・ユーザー削除リコンシリエーション
- オブジェクト・タイプ: ユーザー
- アプリケーション名: Office365Application
- 「送信」をクリックします。
5.2 リコンシリエーション・ジョブの構成
ターゲット・システムで定期的に新しい情報をチェックしてOracle Identity Governanceにそのデータを複製するリコンシリエーションを実行するリコンシリエーション・ジョブを構成します。
この手順は、ユーザーと権限のためのリコンシリエーション・ジョブを構成する場合に適用できます。
5.3 プロビジョニングの構成
Office 365コネクタのプロビジョニング操作を構成できます。
5.3.1 プロビジョニング操作の実行に関するガイドライン
ここでは、プロビジョニング操作を実行する際に適用する必要があるガイドラインについて説明します。
-
ユーザーの作成プロビジョニング操作の場合、「ユーザー・プリンシパル名」フィールドの値をドメイン名とともに指定する必要があります。たとえばjdoe@example.comのように指定し、これは必須フィールドです。このほかにも、「表示名」、「パスワード」、メール・ニックネームおよび使用場所が必須フィールドです。
-
グループのプロビジョニング操作では、「表示名」およびメール・ニックネーム・フィールドの値を入力する必要があります。メール・ニックネーム・フィールドの値にスペースを含めることはできません。
5.3.2 プロビジョニング操作の実行
「ユーザーの作成」ページを使用して、Identity Self Serviceに新規ユーザーを作成します。アカウントのプロビジョニングやリクエストは「ユーザーの詳細」ページの「アカウント」タブで実行します。
Oracle Identity Governanceでプロビジョニング操作を実行するには、次のようにします。
- Identity Self Serviceにログインします。
- 次のようにユーザーを作成します。
- Identity Self Serviceで、「管理」をクリックします。「ホーム」タブには、異なる「管理」オプションが表示されます。「ユーザー」をクリックします。「ユーザーの管理」ページが表示されます。
- 「アクション」メニューから「作成」を選択します。または、ツールバーにある「作成」をクリックします。「ユーザーの作成」ページが表示され、ユーザー・プロファイル属性の入力フィールドが表示されます。
- 「ユーザーの作成」ページに、ユーザーの詳細を入力します。
- 「アカウント」タブで、「アカウントのリクエスト」をクリックします
- 「カタログ」ページで、以前に構成したコネクタのアプリケーション・インスタンスを検索してカートに追加した後、「チェックアウト」をクリックします。
- アプリケーション・フォームの各フィールドの値を指定し、「送信準備ができています」をクリックします
- 「送信」をクリックします。
関連項目:
「ユーザーの作成」ページのフィールドの詳細は、『Oracle Fusion Middleware Oracle Identity Governanceでのセルフ・サービス・タスクの実行』のユーザーの作成に関する項を参照してください5.4 グループ管理に使用されるコネクタ・オブジェクト
グループ管理操作(作成や削除など)を実行するためにコネクタによって使用されるオブジェクトについて理解します。
5.4.1 グループの管理のための参照定義
グループの参照定義は、コネクタを使用してアプリケーションを作成した後、Oracle Identity Governanceに自動的に作成されます。
5.4.1.1 Lookup.Office365.GM.Configuration
Lookup.Office365.GM.Configuration参照定義は、グループ・オブジェクト・タイプに固有の構成エントリを含みます。この参照定義は、ターゲット・システムがターゲット・リソースとして構成されているときに、グループ管理操作で使用されます。
表5-1 Lookup.Office365.GM.Configuration参照定義のエントリ
コード・キー | デコード | 説明 |
---|---|---|
プロビジョニング属性マップ |
Lookup.Office365 GM.ProvAttrMap |
このエントリは、Oracle Identity Governanceとターゲット・システムの間の属性マッピングを保存する参照定義の名前を保持します。この参照定義は、プロビジョニング操作の際に使用されます。 |
リコンシリエーション属性マップ |
Lookup.Office365 GM.ReconAttrMap |
このエントリは、Oracle Identity Governanceとターゲット・システムの間の属性マッピングを保存する参照定義の名前を保持します。この参照定義は、リコンシリエーションの際に使用されます。 |
5.4.1.2 Lookup.Office365.GM.ProvAttrMap
Lookup.Office365.GM.ProvAttrMap参照定義には、プロセス・フォーム・フィールド(コード・キー値)とターゲット・システム属性(デコード)の間のマッピングが含まれています。この参照定義は事前に構成されており、グループ・プロビジョニング操作の際に使用されます。表5-2にデフォルト・エントリを示します。
表5-2 Lookup.Office365.GM.ProvAttrMap参照定義のエントリ
Oracle Identity Governanceのグループ・フィールド | Office365フィールド |
---|---|
ObjectId |
__UID__ |
説明 |
説明 |
メール有効 |
mailEnabled |
メールのニックネーム |
mailNickname |
表示名 |
__NAME__ |
セキュリティ有効 |
securityEnabled |
5.4.1.3 Lookup.Office365.GM.ReconAttrMap
Lookup.Office365.GM.ReconAttrMap参照定義には、リソース・オブジェクト・フィールド(コード・キー値)とターゲット・システム属性(デコード)の間のマッピングが含まれています。この参照定義は事前に構成されており、ターゲット・リソース・グループ・リコンシリエーションの際に使用されます。表5-3に、デフォルト・エントリを示します。
表5-3 Lookup.Office365.GM.ReconAttrMap参照定義のエントリ
Oracle Identity Governanceのグループ・フィールド | Office365フィールド |
---|---|
ObjectId |
__UID__ |
説明 |
説明 |
メール有効 |
mailEnabled=”${mailEnabled}” |
メールのニックネーム |
mailNickname |
表示名 |
__NAME__ |
セキュリティ有効 |
securityEnabled="${securityEnabled}" |
OIM Org Name |
OIM組織名 ノート: これはコネクタ属性です。この属性の値は、Oracle Identity Governanceのグループの組織を指定するために、コネクタによって内部的に使用されます。 |
5.4.2 グループ管理のためのリコンシリエーション・ルールとアクション・ルール
リコンシリエーション・エンジンがリコンシリエーション・ルールを使用して、ターゲット・システムで新たに検出されたアカウントにOracle Identity Governanceが割り当てる必要があるアイデンティティを判別します。リコンシリエーション・アクション・ルールでは、コネクタが定義されたリコンシリエーション・ルールに基づいて実行する必要があるアクションが定義されます。
5.4.2.1 グループのリコンシリエーション・ルール
グループのプロセス一致ルールを次に示します。
ルール名: Office365 Groups Recon Rule
ルール要素: Organization Name Equals OIM Org Name
このルール要素の意味は次のとおりです。
-
Organization Nameは、OIMユーザー・フォームの「組織名」フィールドです。
-
OIM Org Nameは、Oracle Identity Governanceのグループの組織名です。OIM Org Nameは、Office365 Group Reconスケジュール済ジョブのOrganization Name属性で指定された値です。
5.4.2.2 グループのリコンシリエーション・アクション・ルール
表5-4に、グループ・リコンシリエーションのアクション・ルールを示します。
表5-4 グループ・リコンシリエーションのアクション・ルール
ルール条件 | アクション |
---|---|
一致が見つからなかった場合 |
なし |
1つのエンティティ一致が見つかった場合 |
リンクの確立 |
1つのプロセス一致が見つかった場合 |
リンクの確立 |
5.4.3 グループ管理のためのリコンシリエーション・スケジュール済ジョブ
アプリケーションを作成した後、Oracle Identity Governanceにリコンシリエーション・スケジュール済ジョブが自動的に作成されます。これらのスケジュール済ジョブを、その属性の値を指定して必要に合うように構成する必要があります。
表5-5 Office365 Group Reconciliationジョブの属性
属性 | 説明 |
---|---|
Filter Suffix |
リコンシリエーションの実行時にターゲット・システムからフェッチされるユーザー・レコードの検索フィルタを入力します。この属性の詳細は、「制限付きリコンシリエーションの実行」を参照してください。 |
Object Type |
この属性は、リコンシリエーションの実行用のオブジェクト・タイプの名前を保持します。 デフォルト値: Group ノート: デフォルト値は変更しないでください。 |
Incremental Recon Attribute |
トークン・レコードが変更されたタイムスタンプを保持する属性。 |
OIM組織名 |
リコンサイルするグループを作成または更新するOracle Identity Governance組織の名前を指定します。 |
ITリソース名 |
ユーザー・レコードのリコンサイル元のターゲット・システム・インストールに対するITリソースの名前を入力します。 デフォルト値: Office365 |
リソース・オブジェクト名 |
この属性は、リコンシリエーションに使用されるリソース・オブジェクトの名前を保持します。 デフォルト値: Office365 Group ノート: デフォルト値は変更しないでください。 |
Latest Token |
この属性は、Incremental Recon Attribute属性の値として指定された属性の値を保持します。Latest Token属性は内部目的で使用されます。デフォルトでは、この値は空です。 ノート: この属性に値を入力しないでください。リコンシリエーション・エンジンにより、値はこの属性に自動的に入力されます。 サンプル値: <String>2017-11-30T04:44:29Z</String> |
Scheduled Task Name |
リコンシリエーションに使用されるスケジュール済タスクの名前。 デフォルト値: Office365 Group Recon この属性の値は変更しないでください。 |
5.5 コネクタのアンインストール
Office 365コネクタのアンインストールでは、そのリソース・オブジェクトに関連付けられているすべてのアカウント関連データを削除します。
なんらかの理由でコネクタをアンインストールする必要がある場合は、コネクタのアンインストール・ユーティリティを実行します。このユーティリティを実行する前に、ConnectorUninstall.propertiesファイルのObjectType
とObjectValues
の各プロパティの値を設定したことを確認してください。たとえば、リソース・オブジェクト、スケジュール済タスクおよびコネクタに関連付けられたスケジュール済ジョブを削除する場合は、ObjectType
プロパティの値としてResourceObject、ScheduleTask、ScheduleJobを入力し、ObjectValues
プロパティの値として、コネクタに対応するオブジェクト値のセミコロンで区切られたリストを入力します。
例: Office365 User; Office365 Group
ノート:
ConnectorName
とRelease
の各プロパティの値と同時にObjectType
とObjectValue
の各プロパティの値を設定すると、ObjectValues
にリストされたオブジェクトの削除はユーティリティによって実行され、コネクタ情報はスキップされます。
詳細は、『Oracle Fusion Middleware Oracle Identity Governanceの管理』のコネクタのアンインストールに関する項を参照してください。