OpenIDMは、アイデンティティ情報のプロビジョニングとライフサイクル管理を実現するOSSです。オープンスタンダードな技術を採用し、高い柔軟性と拡張性を備えています。
連載最終回の第5回は、最新版が2014年8月11日にリリースされた「OpenIDM 3.0」について紹介します。OpenIDMは、ForgeRockが提供するアイデンティティスタック(アイデンティ管理製品群)の中で、アイデンティティ情報のプロビジョニングやライフサイクル管理を担当します。
OpenIDMについて説明する前に、プロビジョニングとライフサイクル管理について簡単に解説します。
アイデンティティプロビジョニング(Provisioning:事前設定)とは、複数のシステム(ディレクトリサービス、RDBMSなど)に存在するアイデンティティ情報の移行や同期を実行することをいいます。
専用のソフトウェアを導入していない場合、運用管理者は一つ一つの作業を手動で行う必要があります。小規模な組織であれば問題はないですが、ユーザーやシステムの数が増えるに従って、これらの作業は大きな負担になります。
プロビジョニングソフトウェアを導入することで、作業をまとめてスケジュール化し、自動で移行や同期を実行することができます。
ライフサイクル管理は、アイデンティティ情報を作成することから始まり、その後、利用され最終的に破棄(または論理削除)されるまでの一連の流れを管理することをいいます。一般的な企業の社員を例に考えると、入社、異動、退職といったイベントがあり、そのたびにユーザーのステータスが変更されます。これに対して、アカウント作成、アクセス権限付与、アクセス制限といったことを行う必要があります。
これらの作業が適切に実施されないと、不十分なアクセス制限によるセキュリティリスクなどの問題が発生します。例えば、退職した社員が社内システムにアクセスし、顧客の情報を流出するようなことが考えられます。こういった問題を対策する上でも、ライフサイクル管理の実現はとても重要といえます。
OpenIDMは、これらのプロビジョニングとライフサイクル管理要件を実現するためのソフトウェアです。それに加えて、従来のアイデンティティ管理ソリューションの問題点であったモジュール分割の難しさや導入の遅さを排除することを目的として開発されています。
OpenIDMは、同様の機能を持つ他のソフトウェアと比較して、軽量で導入が容易、インターネットスケールでも利用可能といった特徴があります。100%オープンソースであり、CDDLライセンスに従うことで商用環境でも利用することが可能です。
初版 | 1.0.0(2010年10月) |
---|---|
最新版 | Release 3.0(2014年8月) |
実装言語 | メインはJava(C#やJavaScript、Groovyなども含む) |
対応OS | クロスプラットフォーム |
対応言語 | 英語 |
サポート | ForgeRock社によるサブスクリプション、日本国内でもいくつかの企業が有償サポートを提供 |
機能 | アイデンティティ情報のプロビジョニングおよびライフサイクル管理 |
ライセンス | CDDL |
公式サイト | http://openidm.forgerock.org/ |
表1 OpenIDMの基本情報 |
OpenIDMには、デフォルトでJettyとOrientDBが組み込まれているため、ForgeRockのダウンロードサイトからダウンロードした圧縮ファイルを展開し、スタートアップスクリプトを起動するだけで、すぐに使用することができます。
OpenIDMは、OpenAMやOpenDJと同様にForgeRockが中心となって開発が進められています。しかし、これら二つの製品と大きく異なっているのは、サン・マイクロシステムズで開発されたOSSをベースとしているのではなく、ForgeRockがフルスクラッチで開発しているという点です。従って、OpenAMなどと比較して、新しいフレームワークをベースに実装されたモダンなアーキテクチャとなっています。
また、OSGiなどのオープンスタンダードな技術(Apache Felixの利用)により、モジュラー型アーキテクチャを実現しています。これにより、各種モジュールの交換が簡単にできるようになっています。
例えば、デフォルトで付属されているキーバリュー型のリポジトリモジュール(OrientDB)を、商用利用のためにRDBMS(MySQL)に交換するといったことができます。また、モジュールごとにクラスローダーが分離されるので、既存モジュールとのライブラリの整合性を気にせずに、モジュールを自作してデプロイすることもできます。
Copyright © ITmedia, Inc. All Rights Reserved.