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

midPointとは

はじめに

 近年、情報セキュリティの確保は企業の社会的責任と認知されており、クラウドサービス利用の促進、デバイスの多様化が進む中、各企業でのIT統制の実現は経営課題となりつつあります。IT統制の実現において、適切に利用者のIDを管理することはこれまで以上に重要な位置付けとなっています。

 昨今ではIDを適切に管理する「アイデンティティ管理(Identity Management)」だけでなく、IDを適切に統制する「IDガバナンス&管理(Identity Governance & Administration)」という概念が提唱されています。(以下、IDMIGAと記載する)
midpoint-1.png
 OpenStandiaチームがお送りする今年のアドベントカレンダーは、「midPoint by OpenStandia Advent Calendar 2019」と銘を打ちまして、このIGAを実現するオープンソースソフトウェア「midPoint」をテーマに執筆していきたいと思います。はじめての方でも分かりやすく解説していきますので、25日間、最後までどうぞよろしくお願いします!

まず「IGA」を知る

 「midPoint」の解説に入る前に、簡単に「IGA」について解説します。

「IGA」とは

IGA」は、従来のIDMに加えて「IDガバナンス(ID統制)」が強化されたソリューションです。
image.png

:information_source: IDガバナンス(ID統制)とは
一般的に「企業のID活用を適正に監視・規律すること、または、その仕組み」を指します。具体的には、IDの利用状況や資格情報を、モニタリング、レポート作成、棚卸、および修正を自動化することで、継続的なコンプライアンスの維持を期待されます。

「IGA」の主な役割

IGA」の主な役割として、人に対してシステム上のIDおよび権限を割り当てる「プロセスの統制や自動化」を担います。また、プロセスの統制とは、下図に示します基本サイクルに乗せることです。
midpoint-3.png

「IGA」の主要な要素

 Gartner社による定義では、「IGA」は以下の10の主要要素で構成されます。従来のIDMと重複するものがありますが、一番のポイントは「IDガバナンス(ID統制)」をより重視して、IDの有効性や権限の付与を「徹底的に自動化・極小化」するところにあります。

  1. IDライフサイクル管理(Identity Life Cycle Management)
  2. 権限管理(Entitlement Management)
  3. アクセス要求(Access Requests)
  4. ワークフロー(Workflow)
  5. ポリシー・ロール管理(Policy and Role Management)
  6. アクセス認定(Access Certification)
  7. フルフィルメント(Fulfillment)
  8. パスワード管理(Password Management)
  9. 監査(Auditing)
  10. レポーティング・分析(Reporting and Analytics)

※ Gartnerによる定義:「Gartner, Definition: Identity Governance and Administration, Felix Gaehtgens, Refreshed 11 September 2019, Published 7 August 2018」より引用。

「midPoint」を知る

 前述を踏まえまして、本題midPointについて解説します。

「midPoint」とは

 「midPoint」は、Evolveum社(本社:スロバキア、CEO:Igor Farinic氏)からオープンソースソフトウエア(OSS)として提供されるIGAプロダクトです。(以下、OSSと記載する)OSSでありながら、充実した「IDガバナンス(ID統制)」機能を備えた注目度の高いプロダクトになっています。
image.png

「midPoint」の客観的特徴

  • IGA」という概念がない時代に書かれたものではありますが、「2000年代初頭〜現在に至るまでのIDMシステムの歩み」や「類似するプロダクトの客観的評価」など、業界全体に関する情報を発信しており、業界動向や業界ニーズの知見を伺い知ることができます。
    Evolveum HP - The Old IDM Kings Are Dead. Long Live the New Kings.
    Evolveum HP - Identity Management Product Feature Details

  • 「IDガバナンス(ID統制)」や「GDPR」などの国際標準仕様が定っていないような最新の情報セキュリティへの取り組みにも非常に積極的です。今すぐに対応できないものも、現状の見解が記載され、Featuresにプロットされます。
    midPoint Wiki - Identity Governance
    midPoint Wiki - Consent Management (GDPR)

  • 現状、ヨーロッパ企業がほとんどですが、「導入実績」のある企業の数が着実に伸びてきています。(日本企業にはNRIがあります)
    Evolveum HP - Our happy clients ※ 世界中の企業に導入されている
    Evolveum HP - find-a-partner ※ 世界中にパートナー企業がいて導入支援をやっている

  • 現状、外部の人も含めたコミュニティ活動は「活発である」とまではいえない印象ですが、プロダクトの更新頻度は高く、機能の強化が継続して行われています。(NRIもソースコードのコントリビュートをしています)
    GitHub - Evolveum/midpoint
    JIRA - midpoint ※ 30~40件/月程度の課題解決や新機能チケットが追加されている
    Mailing Lists - midpoint ※ 数十件/月程度の投稿があり
    Identity Connectors - midpoint ※ いくつかはコミュニティがコネクターを開発されたケースもあり

  • ドキュメントの多くはwiki形式で提供されています。内容に濃淡があったり、閲覧に少々慣れが必要ですが、OSSの世界の中では充実しているほうだと思います。また、「midPoint」自体の多言語対応も日本語を含む17つの言語に対応しており、非常に充実しています。(NRIも日本語訳のコントリビュートをしています)
    midPoint Wiki
    Trunsifex - midpoint
    Practical Identity Management with MidPoint ※「mitPoint」を利用した実用的なID管理の概要を解説されており、導入序段にありがちな、「midPoint」で何が出来るの?「midPoint」でどうすればいいの?を解決してくれます

「midPoint」の主要な機能

 「midPoint」には、前記「IGAの主要な要素」で紹介した各要素に対応する機能を搭載しており、それぞれ適切に導入を行うことで「IDガバナンス(ID統制)」の実現が可能となります。
image.png

機能 機能説明
IDライフサイクル管理(Identity Life Cycle Management) 登録から破棄までのIDのライフサイクルを管理します。従業員の入社から退職までの一連のイベントに伴うID更新までも管理可能です。この間に発生する異動・昇進に伴う役割の変更も自動的に反映し、人とIDとシステムを繋げます。また、柔軟な組織構造モデルにより、あらゆるビジネスシーンに適合可能です。 (マルチテナントや兼務も表現可能)
権限管理(Entitlement Management) 権限情報(役割や組織に伴う資格)を管理します。連携先システムでどのような権限を割り当てるかを定義します。
アクセス要求(Access Requests) 従業員からのアクセス権限やユーザー情報変更が要求できます。ここでは定量的な自動付与出来ない、例外的な割り当てを制御します。
ワークフロー(Workflow) 適切な上長の承認が必要なワークフローが自動的に実施されます。承認されると、自動的に関連システムに反映されます。汎用的なワークフロープロセスが用意されているため、新たなワークフロープロセスのモデリングはほとんど必要ありません。
ポリシー・ロール管理(Policy and Role Management) ロールベースアクセスコントロール(RBAC)を拡張したアクセス権限制御や、ルールに基づいた自動的な割り当てを行います。
アクセス認定(Access Certification) 棚卸機能により、システム管理者の負担を軽減し、アクセス権の見直しや不要ID削除により、セキュリティリスクを低減します。
フルフィルメント(Fulfillment) 標準搭載のコネクタにより、システムとID情報を同期連携します。万が一、対応していない連携先システムがある場合には、カスタムコネクターを作成可能です。
パスワード管理(Password Management) 各種パスワード管理機能が利用可能です。
・パスワードの配布
・パスワードポリシー(複雑さ)
・パスワード保存ポリシー(有効期限)
・ユーザー自身で変更可能なパスワード管理
・選択可能な保存オプション(暗号化、ハッシュ)
・新しいアカウントのパスワードのメールベースの初期化
レポーティング・分析(Reporting and Analytics) レポート機能で、IDの管理状態や記録された監査ログを様々な形式(PDF、Word、PowerPoint、HTML、CSVなど)で出力することができ、適切なコンプライアンスチェックを行うことが可能です。
監査(Auditing) IDに関する証跡(いつ、誰が、どこから、何を、どうしたか等)を、適切に記録します。

「midPoint」を選ぶ理由

 なぜ「midPoint」を選ぶのか?を解説します。

完成度の高い「IGA」プロダクト

  • 「midPoint」は、データモデル、ワークフロー、管理画面、各種コネクタなど、「IGA」に必要な機能が標準で組み込まれており、ほとんどがインストール直後から利用可能となります。(Zipを解凍するだけですぐに動作する「Out-of-the-box」なプロダクト)
  • 「midPoint」の思想から大きく外れた要件がなければ、カスタマイズ開発なしで多くのユースケースをカバーすることが可能になります。(導入コストの抑制、高い保守性を確保)
  • 各種コネクタにおいては、CSV、LDAP、Active DirectoryなどのメジャーなIDプロビジョニング先に標準で対応しています。
  • 類似OSSプロダクト中でも珍しい「棚卸機能」を標準搭載しています。これまで、高額な追加ライセンス料金が発生したり、大掛かりなカスタマイズ開発が必要になったりしましたが、midPointの設定で「棚卸機能」を実現することができます。

類似する「IGA」プロダクト比較で優位

 類似するIGAプロダクトには、「ForgeRock OpenIDM(現ForgeRock Identity Management)」「Apache Syncope」などがありますが、現状、OSSIGAプロダクト自体少ないです。Gartner社が「Options for Open-Source Identity and Access Management: 2017 Update」の最新版を準備しているようですが、ここでは「midPoint」とOpenStandiaでも取り扱いのある「ForgeRock OpenIDM」で、特徴や機能を独自に比較してみます。

分類 比較項目 midPoint ForgeRock OpenIDM
(現 ForgeRock Identity Management)
全体 開発ポリシー オープン オープン → クローズド
プロダクトの特徴 非常に豊富な機能セットを備える実用的なプロダクト 軽量なアプローチと優れた柔軟性を備えるプロダクト
提供範囲 IDMおよびIGA範囲のみを提供
(KeycloakなどのAMプロダクトとの組み合わせが可能)
AM、IDMを含んだForgeRock Identity Platformとして広範囲を提供
得意とするID分野 エンタープライズID向き カスタマーID向き
導入アプローチ プリインストールから設定ベース カスタマイズ開発ベース
拡張性 カスタマイズ開発ポイントに制限 カスタマイズ開発ポイント多数
機能(主要) IDライフサイクル管理 標準搭載 要カスタマイズ開発
エンタイトルメント管理 標準搭載 標準搭載
ポリシー・ロール管理 標準搭載 要カスタマイズ開発
アクセス要求 標準搭載 要カスタマイズ開発
ワークフロー 標準搭載 要カスタマイズ開発
フルフィルメント(プロビジョニング) 標準搭載 標準搭載
アクセス認定(ID棚卸) 標準搭載 要カスタマイズ開発
監査 標準搭載 要カスタマイズ開発
レポーティング・分析 標準搭載 要カスタマイズ開発
パスワード管理 標準搭載 標準搭載
非機能 耐障害(信頼性) 考慮されている 考慮されている
冗長化 可能 可能
運用・保守 設定ベースなので、保守がしやすく、ほとんどが管理コンソールからオンラインでメンテナンス可能 カスタマイズした分だけ、保守が複雑になり、オンラインでメンテナンスできるものに制限
その他 多言語化 標準搭載 要カスタマイズ開発
ドキュメント・マニュアル 充実している 充実している
コミュニティ MLは数十件/月、コミュニティで開発されたコネクターいくつかあり
※ 外部の人も含めたコミュニティ活動の活発さは今後に期待
フォーラムやメーリングリストはオープン時より存在するが、クローズドになってから、閑散としている

「midPoint」の利用シーン

 「midPoint」の有効と思われる利用シーンを解説します。

老朽化した「IDMシステム」を「IGAシステム」にアップグレードする

 老朽化した「IDMシステム」は、プロダクトのEOLに始まり、ビジネスの変化に伴う従業員や組織の増大、関連システムの多様化、アクセス権限の統制に関わるガバナンス強化といった「時代の変化」に直面していますが、柔軟に追従することは非常に困難になってきています。

 このような老朽化した「IDMシステム」を「midPoint」にリプレイスすることにより、現状の「IDMシステム」が提供する機能を維持しつつ「IGAシステム」にアップグレードします。これにより、今の時代にあった「IDガバナンス(ID統制)」を実現することが可能になります。
image.png

「midPoint」+「Keycloak」を組み合わせ、強力な「統合認証基盤(IAM)」を実現する

 情報セキュリティの界隈では、「アイデンティティ/アクセス管理(Identity and Access Management)」を略して「IAM」呼ぶことが一般的ですが、アイデンティティ管理の「midPoint」とアクセス管理の「Keycloak」を組み合わせて、大手IDクラウドサービス(IDaaS)以上の「統合認証基盤(IAM)」を実現することが可能になります。

※大手IDクラウドサービス(IDaaS)のIGAの取り込みはこれからといった印象です
※必ずしも「Keycloak」である必要性はないのですが、OSSのメリットを最大限に引き出せます
image.png

まとめ

 「midPoint」の概要はご理解いただけましたでしょうか。「midPoint」は、「IGA」の分野において非常に強力な「OSSです。2日目以降は、「IGA」の主要な要素別に「midPoint」が搭載する機能とその設定方法について解説していきます。具体的にその強力な部分をご理解いただけると思いますので、乞うご期待!また、実績や実例に関する内容の日も予定していますので、合わせてお楽しみください!

※ カレンダーはこちら「midPoint by OpenStandia Advent Calendar 2019


参考

Evolveum社サイト
※ Evolveum社の公式HP

Practical Identity Management with MidPoint
※ 「mitPoint」を利用した実用的なID管理の概要が記載されています(midPointを知るにはまずこれを読もう!)

midPoint Wiki
※ マニュアルも兼ねたwikiサイト

GitHub - Evolveum/midpoint
※ ソースコード管理はこちらで行われています

Jira - midPoint
※ インシデントや機能改善や新機能に関するチケットはこちらで管理されています

naokiiiii
歌って踊れるエンジニアを目指しています。
http://www.ric-net.co.jp/
nri
NRIは「コンサルティング」「金融 ITソリューション」「産業 ITソリューション」「IT 基盤サービス」の4事業でお客様のビジネスや快適な社会、暮らしを支えています。※各記事の内容は個人の見解であり、所属する組織の公式見解ではありません。
https://www.nri.com/jp/
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
ユーザーは見つかりませんでした