OpenAM

OpenAMは、オープンソースのアクセス管理、エンタイトルメント、フェデレーション・サーバーのプラットフォームである。

OpenAMはサン・マイクロシステムズのOpenSSOを起源に持つ。オラクルによるサン・マイクロシステムズの買収後、オラクルがOpenSSOの開発中止を決定したため、社がその開発とサポートを継続することを2010年2月に発表した。　OpenSSOの製品名はオラクルが権利を保持し続けたため、製品名をOpenAMに変更したうえで、ForgeRock社が共同開発パートナーのオープンソース・ソリューション・テクノロジ株式会社とフォークとしてOpenAMがスタートした。

ForgeRockはサン・マイクロシステムズのオリジナルのロードマップを提供し続けることをかつて発表していたが、商用版と同等のソースリポジトリは非公開とし、OpenAM Community Edition 11.0.3をgithubにて公開している。

なお、ForgeRock社の商用版のOpenAMは、ForgeRock Access Managementに製品名が変更された。

ForgeRock社が公開しているより新しいOpenAMのソースリポジトリは、OpenAMコンソーシアムなどにて公開と開発が継続されており、最新版はOpenAM14として2019年12月23日にリリースされた。

機能 
 認証: OpenAMは、変更不要で即使用可能な20種類の認証方式をサポートする。OpenAMは、それらの方式をアダプティブリスクスコアリングとともに組み合わせたり、JAAS (Java認証・認可サービス)オープンスタンダードに基づいたカスタム認証モジュールを作成する柔軟性を持っている。 完全にシームレスな異種のOSやWebアプリケーションに対するSSO環境を有効にするために、Windows IWAがサポートされている。
 認可: OpenAMは、XACML (eXtensible Access Control Mark-Up Language) に基づいた認可ポリシーを提供する。これにより、基本的で、シンプルな、きめの粗いルールから、高度で、きめの細かいエンタイトルメントまでを実現できる。認可ポリシーは、アプリケーションから抽象化されており、必要であれば、ベースとなるアプリケーションを変更することなく迅速に追加、変更できる。
 アダプティブリスク認証: アダプティブリスク認証モジュールは、認証処理中にリスクを評価し、さらに別の認証ステップをユーザーに要求するかどうか決定するために使用される。アダプティブリスク認証は、ログイン時により詳細なユーザーの情報を要求するか、リスクスコアリングに基づいて決定する。例えば、IPアドレスの範囲、新しいデバイスからのアクセス、アカウントのアイドル時間等のクライアントの情報に基づいてリスクスコアを計算し、そのスコアを認証連鎖へと適用させることができる。
 フェデレーション: フェデレーションサービスは、標準的なアイデンティティプロトコル (SAML, WS-Federation, OpenID Connect) を使用して、異種システムやドメインの境界を越えてアイデンティティ情報を安全に共有する。Fedlet、OAuth2クライアント、OAuth2プロバイダ、OpenIGフェデレーションゲートウェイを介して、サービスプロバイダーやクラウドサービスへの接続を素早くセットアップ・設定する。OpenIGフェデレーションゲートウェイは、SAML2に準拠した実施点を提供するOpenAMのコンポーネントであり、標準仕様の知識をほとんど必要とせず迅速に、アプリケーションにSAML2サポートを追加することができる。また、アプリケーションを変更したり、アプリケーションコンテナ上にプラグインやエージェントをインストールする必要はない。付属ツールにより、Google Apps、ADFS2、その他の多くの連携先との統合をシンプルなタスクベースの設定だけで可能にする。OpenAMは、古い標準仕様に依存しているプロバイダを連携するマルチプロトコル・ハブとしても機能することができる。OAuth 2.0サポートは、モダンなフェデレーションと認可のためのオープンスタンダードであり、IDとパスワードの代わりにトークンを使用したプライベートリソースの共有をユーザーに許可する。
 シングルサインオン (SSO): OpenAMは、SSOのための複数のメカニズムを提供する。単一の組織のためにクロスドメインSSOを有効にすることも、フェデレーションサービスを介した複数組織間でのSSOを実現することも可能。OpenAMは、ポリシーの適用とリソース保護のための複数のオプションをサポートしている。その中にはWebサーバ/アプリケーションサーバ上のポリシーエージェント、プロキシサーバー、OpenIG（アイデンティティゲートウェイ）などがある。OpenIGは自己完結型のゲートウェイとして動作し、ポリシーエージェントをインストールすることができないWebアプリケーションを保護する。
 高可用性: 大規模かつミッションクリティカルな配備に対して高可用性を有効にするため、OpenAMはシステムフェイルオーバーとセッションフェイルオーバーの両方を提供する。これらの二つの主要な機能は、単一障害点が配備に存在しないことを確実にし、OpenAMのサービスを常にエンドユーザーに提供可能とすることに役立つ。冗長構成のOpenAMサーバ、ポリシーエージェント、ロードバランサは、障害点が単一となることを防ぐ。セッションフェイルオーバーは、ユーザーセッションが中断しないことと、ユーザーデータが失われないことを保証する。
 開発者アクセス: OpenAMは、JavaおよびCのAPIと、HTTPを介してJSONやXMLを返すことができるRESTfulなAPIのクライアントアプリケーションプログラミングインターフェースを提供する。RESTクライアントを使用したWebアプリケーションから、ユーザーが選択した言語（JSONまたはXML）で、認証、認可、アイデンティティサービスにアクセスすることができる。OAuth2はまた、モダンで軽量なフェデレーションと認可プロトコルのためのRESTインターフェースを提供する。

参照

OpenSSO
OpenDJ
OpenPTK
シングルサインオン
シングルサインオン実装のリスト

参考

外部リンク
オープンソース版　OpenAMソースコード
OpenAMプロジェクトページ
OpenAMプロジェクトwiki
OpenAM課題管理
OpenAMソースコードブラウザ
OpenAMコンソーシアム

Java enterprise platform
アイデンティティ管理