Help us understand the problem. What is going on with this article?

midPointにおける「フルフィルメント(プロビジョニング)」

はじめに

midPointアドベントカレンダー10日目はIGAの主要な要素である、フルフィルメントについて、一般的な意味とIGAの概念の説明、またmidPointでどのように実現していくのかをご紹介したいと思います。

フルフィルメントとは

フルフィルメントは近年、ECサイト・通販業界で多く聞く言葉で、一般的には商品が注文されてからエンドユーザに商品が届くまでに必要な業務全般を指します。
主に含まれる業務として、「受注・問い合わせ対応」「発注・仕入れ」「在庫管理」「入荷・検品」「梱包」「出荷」「返品処理」「入金管理」などがあります。

一般的なフルフィルメント.png

IGAで定義されているフルフィルメント

ガートナー社ではIGAにおけるフルフィルメントを以下のように定義しています。

(日本語訳)
"IGAツールによって開始された変更をアカウントリポジトリに伝播します。
自動フルフィルメントはプロビジョニングとも呼ばれ、コネクタを介してアカウントリポジトリに接続します。
一方、手動フルフィルメントでは、ワークフローまたはチケット処理システムやITサービス管理(ITSM)ツールなどの外部プロセスを使用してアクションを完了します。
アカウントとエンタイトルメントの変更を調整する必要があるため、IDガバナンス機能を含むツールにはフルフィルメントが必要です。"

(原文)
Propagating changes initiated by the IGA tool to account repositories.
Automatic fulfillment is also known as provisioning, and it connects with account repositories through connectors.
On the other hand, manual fulfillment uses a workflow or external process, such as a ticketing system or an IT service management (ITSM) tool, to complete actions.
Fulfillment is necessary for any tool that includes identity governance capabilities, because there's a need to orchestrate changes for accounts and entitlements.

※ 出典 Gartner社「Gartner, Definition: Identity Governance and Administration」, Felix Gaehtgens, Refreshed 11 September 2019, Published 7 August 2018 (2018年9月の記事-閲覧は有料)

手動フルフィルメント

手動フルフィルメントは前述の定義の通り、変更点をワークフローやチケット処理システム、ITサービス管理(ITSM)ツールなどの外部プロセスを使用して管理し、ワークフローやチケットでの承認を受け、人が手動で連携先システムにアカウント等を作成することを指します。

自動フルフィルメント

自動フルフィルメントでは、IGAツールのコネクタを介して連携先システムに接続し、IGAツールで管理している変更点を自動で伝播させます。IGAツールの導入初期段階では品質確保とリスク低減ために、まず手動フルフィルメントで対応し、自動フルフィルメントへの移行は段階的に行うことを推奨しています。

midPointにおけるフルフィルメント

midPointでは、IGAで定義されているフルフィルメントを、プロビジョニング同期と表現しています。midPoint上の動作としては、源泉データ(アカウント)をmidPointに同期し、アカウントの新規作成や変更、削除を連携先システムへと伝播させます。また、手動・自動フルフィルメントを実現するための機能も用意されています。

手動プロビジョニング

IGAの定義と同様に、変更点をJiraなどのITサービス管理(ITSM)ツールにて管理し、手動で連携先システムにアカウント等を作成することを支援する機能があります。
詳細はこちらページを参考にしてください。

自動プロビジョニング

IGAの定義と同様に、ユーザの変更をコネクタを介してターゲットリソースへ同期させる機能を指します。

midPointのフルフィルメント.png

コネクタ

リソースへの同期は以下のような多彩なコネクタにより、あらゆるリソースとのユーザ同期が可能です。その数は動作確認が取れているものから検証段階のものを含めて、30個(2019年12月現在)にもおよびます。

コネクタWiki.png

※コネクタの詳細についてはこちらのWikiをご参照ください。

プロビジョニングの設定

midPointで'プロビジョニング'を実現するには、連携先システムとなるリソースの設定を行う必要があります。リソースへの接続情報、リソースオブジェクトクラスとリソーススキーマの定義、これらの属性のmidPointユーザとのマッピング、リソースによってサポートされる機能、パスワードポリシーなどを設定します。

SnapCrab_NoName_2019-12-5_18-32-59_No-00.jpg
引用元:Resource Configuration

リソーススキーマ

リソーススキーマの処理は、個々の属性の名前の付け方、読み取り可能または書き込み可能かどうか、新しいアカウントが作成された場合の属性値の定義、リソースで変更が検出された場合の属性の使用方法を定義します。

schemas-schemahandling-overview.png
引用元:Resource Schema Handling

プロビジョニングの実例

midPointのプロビジョニングには、様々な同期方法が用意されています。
例えば、変更をリアルタイムに同期するLive Synchronizationや、操作中に変更が見つかった場合に同期処理を行うDiscoveryなど、要件に合わせた同期方法が選択可能です。選択する同期方法の組み合わせによっては、パフォーマンスの向上や、より強固な同期が実施可能です。
今回はProvisioning SynchronizationReconciliationを例として記載します。

Provisioning Synchronization

midPointの同期処理で最も利用されているのが、Provisioning Synchronizationです。midPoint上のユーザデータが追加/変更されると、アウトバウンド方式(midPointからリソースへ)で実行され、変更がリソース反映されます。

プロビジョニング4.gif

Reconciliation

ReconciliationはmidPointとリソースの一貫性をmidPointでスケジュールされたサーバタスクがチェックをし、相違があった場合に同期が実行されます。
この同期処理では、midPointとリソースの両方の変更点をチェックし、追加/変更がある場合はmidPoint、リソース共に変更点が反映されます。

リコンシリエーション2.gif

まとめ

上記の通り、midPointではProvisioning SynchronizationReconciliationなど、様々な同期機能を利用することでプロビジョニングを実現しています。
明日は、実際にプロビジョニングを行うための設定方法などを紹介する、midPointにおける「フルフィルメント(プロビジョニング)」実践編(CSV/LDAPへの出力)をお送りいたします。

参考

Live Demo
※ 公式の構成例(リソースや同期の設定例が記載されています)

Resource Configuration
※ リソースの設定方法とサンプル

Identity Connectors
※ コネクタの種類と詳細

Synchronization Flavors
※ 同期の種類

Synchronization Tasks
※ 同期の設定方法とサンプル

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした