検索
連載

「全社認証基盤を持つエンタープライズ企業の情シスとしてIGAを試す」環境をmidPoint、Docker Composeで構築midPointで学ぶIDガバナンス&管理(IGA)の基礎(2)

「IDガバナンス&管理」(IGA)についてOSS「midPoint」を利用したハンズオンで学ぶ連載。今回は、IGAを実現するハンズオン環境をmidPointで作ります。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 オープンソースソフトウェア(OSS)でありながら「IDガバナンス&管理」(Identity Governance and Administration:IGA)機能を備えた「midPoint」を使って、ハンズオン的にIGAについて学ぶ本連載『midPointで学ぶ「IDガバナンス&管理」(IGA)の基礎』。第1回では、IGAの概要とその必要性について紹介しました。第2回では、そのIGA導入の効果を体感すべく、IGAを実現するハンズオン環境をmidPointで作ります。

midPointのインストール

 midPointをインストールするには、バイナリーファイルを用いる方法とDockerイメージを用いる方法があります。後者のDockerイメージを用いる方法は、本記事の後半の「ハンズオン環境を構築してみよう!」で紹介します。

 ここではより簡単で、ちょっとmidPointを触ってみたいときに便利な、前者のバイナリーファイルを用いる方法を紹介します。事前準備として、midPointはJavaアプリケーションなので、JDK(midPoint 4.4.3の場合は、OpenJDK 17が推奨)が必要です。

 バイナリーファイルを用いる方法は、ファイルをダウンロードして解凍するだけと、非常に簡単です。例えば、本連載で使用するmidPointのバージョン4.4.3のファイル(「midpoint-4.4.3-dist.tar.gz」「midpoint-4.4.3-dist.zip」)は下記リンクからダウンロードできます。

 なお最新バージョンは4.5ですが、LTS(Long-Term Support)のバージョンは4.4系なので、本記事では4.4系を使用しています。

 解凍後、下記コマンドを実行すると、midPointが起動します。

$ ./bin/start.sh
Linux(UNIX)
> bin\start.bat
Windows

 デフォルトでは、midPointは組み込みDB(H2データベース)をデータストアとして使用するので、設定不要で起動して操作を試せます。ただし、これはプロダクション環境での利用はサポートされておらず、開発やデモ用途などで利用可能なものです。なお、プロダクション環境においては、データベースは「PostgreSQL」が推奨されます。

 起動には数分かかります。起動完了後、「http://localhost:8080/midpoint/」にアクセスすると、midPointのGUIのサインイン画面にアクセスできます。

 ユーザー名に「administrator」、パスワードに「5ecr3t」と入力してサインインすると、midPointのホーム画面が表示されます。

 midPointのGUIでは、行いたい操作に合わせて左側のメニューを選択します。midPointでは、基本的に全ての操作をこのGUIで行えます。プロフィールやパスワードの変更、アクセス要求といった一般ユーザー用の機能から、ユーザー管理やロール管理、リソース管理といったIT管理者用の機能まで、それぞれ「セルフサービス」「管理」としてカテゴライズされて提供されます。

ハンズオン環境の概要

 ここからは今回構築するハンズオン環境を見ていきましょう。まずは、今回想定するシナリオの全体像から説明します。

 今回皆さんは、Example社の情報システム部に所属する山田さんとして、下図の点線で囲まれたサービス開発部とサービス運用部の従業員のID管理を担当します。サービス開発部とサービス運用部にはそれぞれ1課と2課があり、さまざまな役職を持つ26人の従業員が配属されています。

 サービス開発部やサービス運用部では、開発ツールや全社認証基盤、全社研修システムといった複数のシステムを利用しており、今回、これらシステムのID情報を一元管理するために、midPointを利用します。ID情報の大まかな流れとしては、下図のように、人事部からもらった従業員情報、組織情報(CSV形式)をインプットとしてmidPointでID情報を一元管理し、各システムに反映します。

  • 開発ツール:主にサービス開発部の従業員が、サービスを開発する上でのタスク管理や進捗(しんちょく)管理に利用する。ID情報はPostgreSQLが保持する
  • 全社認証基盤:Example社の全従業員が、各社内サービスへのログインに利用する。アクセス可能なサービスは役職とひも付いたロールで制御されている。ID情報は「OpenLDAP」が保持する
  • 全社研修システム:Example社の全従業員が、自身のスキルアップのための研修受講に利用する。ID情報はシステム内部で保持しており、CSVをインポートすることで変更できる

 本連載では、ハンズオン環境として、点線で囲まれた部分を構築します。

ハンズオン環境を構築してみよう!

 前提として、ここではハンズオン環境のインストールと起動に「docker compose」コマンドを使うので、docker composeコマンドが動作する環境を準備してください。また、ハンズオン環境で使用するリソース類はGitHubの「midpoint-sample-configuration」リポジトリで公開しているので、適宜ご利用ください。

 まずは、midpoint-sample-configurationリポジトリをクローンします。

$ git clone https://github.com/Hitachi/midpoint-sample-configuration
$ cd midpoint-sample-configuration

 次に、docker composeコマンドでハンズオン環境をインストール、起動します。Dockerサービスは立ち上がっているものとします。

$ docker compose up -d

 これによって、次のような構成が出来上がります。

 midPointには、「http://localhost:8080/midpoint/」でアクセスできます。ユーザー名は「administrator」、パスワードは「5ecr3t」です。なお、midPointのデータストアは、説明の簡易化のために今回はデフォルトの組み込みDB(H2データベース)のままとしています。

 全社認証基盤が使用する想定のOpenLDAP(phpLDAPadmin)には、「http://localhost:8081/」でアクセスできます。ログインDNは「cn=admin,dc=example,dc=com」、パスワードは「secret」です。

 開発ツールが使用する想定のPostgreSQL(pgAdmin)には、「http://localhost:8082/」でアクセスできます。メールアドレスは「taichi.yamada@example.com」、パスワードは「password」です。

 midPointと各種連携先をつなぐコネクターの設定や、Example社の従業員情報、組織情報の取り込みは、次回以降、IGAのユースケースに沿って実施します。

次回は「フルフィルメント」にフォーカス

 今回は、midPointのインストール方法を紹介し、ハンズオン環境を構築しました。次回はIGAのユースケースのうち、「フルフィルメント」にフォーカスして、コネクターの設定方法やID情報の連携方法を紹介します。

Copyright © ITmedia, Inc. All Rights Reserved.

Security & Trust 記事ランキング

ページトップに戻る