アイデンティティ管理(14)アイデンティティ管理とアプリケーションの統合

*本記事は「Red Hat Enterprise Linux Blog」に掲載された記事を翻訳したものです
原著:「Identity Management and Application Integration
執筆:Dmitri Pal
翻訳:ソリューションアーキテクト 森若 和雄

アイデンティティ管理ソリューションはシステム、サービス、アプリケーションをひとつのエコシステムに統合し、その中で認証、アクセス制御、エンタープライズSSO、アイデンティティ情報、アイデンティティに関係するポリシーを提供します。今までこのシリーズでは、Linuxシステムに対してこれらをどのように提供しているかについて説明してきましたが、今回は、スコープを拡大してサービスとアプリケーションについて扱います。

いくつかの面で、サービスとアプリケーションはよく似ています。典型的にはどちらもWebベースで、HTTPをベースにしたAPIでブラウザからアクセスすることが可能です。しかしながら、他の種類のサービスもアイデンティティ管理基盤に統合することができ、またするべきです。いくつか例を挙げると、CUPS印刷サービス、IMAP、VPN、NFSやSambaによるストレージサーバーが挙げられます。これらのサービスはそれぞれ個別の記事に値するほどのものですが、私はまずHTTPベースのサービスを優先して扱うことをお勧めします。この文脈では「サービス」と「アプリケーション」は置き換え可能です。

サービスは異なる言語、異なるフレームワークで書かれており、よく使われるものとしてJava、Python、Ruby、PHPがあります。さらに、Perlによるアプリケーションが普及している領域もあります。Javaは歴史的にアイデンティティ関連の問題を扱う多数のツールと機能を持っていますが、オープンソースで利用できるものに限るとまだ機能的なギャップがあります。最近この状況は改善されていますが、Javaについては将来の記事で取り扱うこととして、今回は扱いません。ここではApache Webサーバーを使った(もしくは使える)Webアプリケーションについてお話しします。

伝統的にアプリケーションはLDAPの非常に素朴な機能を利用して構築されてきました。これは現在の世界では不十分です。さらに、堅牢なアイデンティティ管理機能を各アプリケーションに実装することは非常にコストがかかります。認証とアイデンティティ情報の収集はアプリケーションから一連のApacheモジュール群にオフロードすることができます。これらのApacheモジュールは認証、エンタープライズSSO、アクセス制御、LDAPベースのサーバーからの必要な情報の収集を行います。LDAPベースのサーバーにはActive Directory(AD), IdM/FreeIPA, ADと信頼関係の設定されたIdM/FreeIPA、一般的なLDAPサーバーが含まれます。収集した情報は実際のアプリケーションにCGI変数またはHTTPヘッダとして渡されます。アプリケーションは独自にLDAPのサポートを行うのではなく、単純にこれらのデータを利用します。

私達は1年以上前からこのアプローチを推進しており、多数のカンファレンスで発表してきましたが、今や(RHEL 7.2でリリースされたため)これを一般に広め、開発の負担とコストを下げるために活用できる状態になりました。

このアプローチを紹介する包括的なスライドをOhio LinuxFest(2015年10月、コロンバスにて開催)で発表しました。あいにく雷、雨、人的な不運のため私は会場には行けませんでしたが、この不運の詳細に興味のある方は私のLinkedIn blogをご覧ください。

こちらがそのスライドです。他にも同じ話題についての講演があり、その中にはもう少し技術的なものもあります。

*訳者補足: Web アプリケーションとの統合については、FreeIPAサイト内のWeb App Authentication ページに詳細が記載されています。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。