OpenAM情報
OpenAMとは
OpenAM(オープンエーエム)はWeb上でのシングル・サインオン(SSO)(※1)を実現するためのJavaベースの認証認可プラットフォームです。
OpenAMは旧Sun Microsystemsによって開発されたOpenSSOを引き継ぐ形でOSS(オープンソースソフトウェア)として開発が始まりました。
OpenSSOは旧Sun Microsystemsより提供されていた商用製品Sun Java System Access ManagerとSun Java System Federation ManagerがベースとなったOSSで、アイデンティティ管理を実現する製品として世界的に広く導入実績があり、高い安定性と信頼性が評価されていました。
その後、OracleによるSun Microsystemsの買収によって、OpenSSOの存続が危ぶまれましたがForgeRock社がOpenSSOを引き継ぎ、新たにOpenAMとして開発をスタートさせました。
OpenAMではシングル・サインオンやさまざまな認可ポリシーに基づいたアクセスコントロールといった機能に加えて、フェデレーション(SAML、OpenID Connect対応)、エンタイトルメントといった機能も追加されました。
しかしながら、ForgeRock社はバージョン13.5.0を最後にソースコード非公開とし、2017年4月から ForgeRock Access Management(ForgeRock AM)という新たな名称で商用製品として提供を始めました。その後、2023年にForgeRock社はPing Identity社の傘下となり、現在はPing Access Management(PingAM)という製品名で引き続き開発が行われています。
一方、国内においてはOpenAMソリューションの提供企業やユーザ企業が参画する「OpenAMコンソーシアム」がOSSとして最後にソース公開されたバージョンをベースにサポート体制を維持しています(※2)。
※1 シングル・サインオン(Single Sign-On:SSO)とは複数のシステム間でのユーザIDを統合し、一度だけの認証で複数システムを利用できるようにする仕組みです。シングル・サインオンはユーザやシステム管理者の ID管理の手間を軽減するだけでなく、個人情報の漏洩防止などのセキュリティ対策、アクセス制御の統合・強化といった観点からも欠かせないものになっています。
※2 OpenAMコンソーシアムはForgeRock社が最後にソース公開したバージョン13.5.0をベースに14.0.0以降をリリースしています。ただし、商用製品となったForgeRock AMやPingAMとの互換性は保証されていません。
主な機能
- シングル・サインオン(SSO)機能
 - アクセス制御機能
 - フェデレーション(連携)機能
 - タイムアウト機能
 - 同時ログオン禁止機能
 - 認証ログ記録機能
 
<機能詳細>
シングル・サインオン(SSO)機能
OpenAMは複数のリソースをまとめて認証の対象とし、それらに対するSSOを実現します。
<実現方式>
SSOの実現方式としてエージェント型、リバースプロキシ型の2つがあります。
| 
 エージェント型SSO  | 
 アクセス制御の対象となるサーバにモジュール(ポリシーエージェント)を導入することでSSOを実現します。  | 
|---|---|
| 
 リバースプロキシ型SSO  | 
 通信経路上のリバースプロキシに認証のためのエージェントを組み込むことでSSOを実現します。認証情報(ID等)を連携するために連携先システムに改修が必要になるケースがあります。すべてのリクエストがエージェント機能を持つリバースプロキシサーバを通過します。ここで認証認可のチェックを行ない、アクセスコントロールを実施します。  | 
| 
 WindowsデスクトップSSO  | 
 Kerberos認証の仕組みを使いWindowsのADドメイン認証とOpenAMの認証の仕組みを連携させます。Windowsドメイン認証により認証を受けたユーザはその端末上でウェブブラウザを起動すると、再度パスワードを入力することなく連携先の各業務システムや、クラウド/SaaSなどへ SSOすることができます。  | 
| 
 ディレクトリサーバOpenDJによる複数の認証ディレクトリ対応  | 
 標準でOpenDJディレクトリサーバを組み込んでおり、設定情報を格納するだけでなく、ユーザ情報(認証情報)を保持することが可能です。 加えて認証バックエンドとしてMicrosoft Active Directory(AD)やOpenLDAPなどの一般的なディレクトリサーバを利用でき、ID(パスワード)情報を一元管理することができます。  | 
| 
 多要素認証  | 
 リスクベース認証やOTP(ワンタイムパスワード)認証などさまざまな認証方式と連携できます。  | 
| 
 クロスドメイン・  | 
 複数のDNSドメインをまたがるシングル・サインオンであるクロスドメイン・シングル・サインオンに対応しています。  | 
| 
 SAMLやOpenID Connectを利用した、クラウドやSaaSとのシングル・サインオン  | 
 国際標準の認証プロトコルであるSAMLやOpenID Connect に対応しており、それらに対応したSaaS系アプリケーション(例えばSalesforceやGoogle Appsなど)との間でSSOを実現できます。  | 
アクセス制御機能
ユーザや組織からURLへのアクセスを許可するかどうかを以下の観点で設定します。
- ルール (Rule):リソースのURLとリクエストの種類ごとに許可/拒否を指定
 - 対象 (Subject):誰からのアクセスに対してこのポリシーを適用するか
 - 条件 (Condition):どのような条件下でこのポリシーを適用するか
 
<機能詳細>
| 
 グループ制御  | 
 ユーザが利用できるアプリケーションをレルムというグルーピング機能を使って制御することができます。  | 
|---|---|
| 
 ポリシー設定・管理  | 
 管理者は管理コンソールからエージェントとサーバの構成およびエージェントが適用するアクセス制御ポリシーを設定することができます。ポリシーの記述には標準仕様であるXACMLを使用します。  | 
| 
 アクセス対象設定・管理  | 
 アクセス制御対象はURLで指定することができるため、ドメインやサーバレベルだけでなくフォルダやファイル単位で細かく制御できます。さらに、認証方式、認証時間、クライアントアドレス等の認証コンテキストによっても制御可能です。  | 
フェデレーション(連携)機能
独立したID機能を持つ複数のサイト間でのSSOを実現する機能です。例えば、Salesforce CRM、Google Appsなどのような他社のWebアプリケーションのように異なるドメインに対しても自分のID/パスワードでSSOが可能です。
フェデレーションを実現するための標準認証プロトコルである「SAML」や「OpenID Connect」に対応しています。
<機能詳細>
| 
 連携モジュール  | 
  | 
|---|---|
| 
 Fedletの提供  | 
 Java(または.NET)の軽量なWebアプリケーションであるFedletにより、他のフェデレーション製品を追加することなく、自社のサービスをSAML 2.0に対応させることができます。  | 
| 
 ユーザ属性・  | 
 SSOだけでなくユーザの属性情報(アイデンティティ)や認証コンテキスト(認証方法や認証日時等)も受け渡すことが可能です。従って、フェデレーション環境下のアプリケーションではアクセスするユーザに応じたコンテンツを配信できます。  | 
| 
 マルチ・プロトコル・  | 
 Liberty ID-FFやWS-Federationのようなレガシー・フェデレーション・プロトコルを「翻訳」し、プロバイダ間で複数のプロトコルを利用してSSOの確立が可能です。  | 
タイムアウト機能
システムを一定期間使用していない場合に、自動的にログオフします。
同時ログオン禁止機能
同一IDで複数端末からのログオンを禁止します。
認証ログ記録機能
ユーザのログイン、ログアウト時刻、成功/失敗、アイドルタイムアウト後の自動ログオフ時、アクセス元IPアドレス、アクセス先のログなど様々な事象のログを採取可能です。(ただし、ログアウトのログに関してはログアウト処理をせずにブラウザを終了すると記録されないことがあります)
主な特徴
OpenAMは次のような特徴があります。
| 
 マルチプラットフォームに対応  | 
 Red Hat Enterprise Linux、Sun Solaris、CentOS、Microsoft Windows、AIXなど多くのOSに対応し、またGlassFish、Apache Tomcatなど多くのWebコンテナにも対応しています。  | 
|---|---|
| 
 さまざまな認証方式に対応  | 
 リスクベース認証やOTP(ワンタイムパスワード)認証などさまざまな認証方式と連携できます。  | 
| 
 国際標準仕様に対応  | 
 国際標準の認証プロトコルであるOpenID ConnectやSAML2.0に対応しています。  | 
動作環境
OpenAM 14.0.0の場合
| 
 ハードウェア  | 
 ※推奨ハードウェアリソースはシステム要件による  | 
|---|---|
| 
 プラットフォーム  | 
  | 
| 
 クライアント  | 
  | 
| 
 Webコンテナ  | 
  | 
| 
 Java Development Kit  | 
  | 
| 
 CTSデータストア  | 
  | 
| 
 コンフィグレーションデータ  | 
 ※CTSまたは設定で組み込みストアを使用するときは、OpenAMをNFSマウントファイルシステム上ではなく、ローカルファイルシステム上にデプロイすること 
  | 
| 
 ユーザプロファイルなどのユーザデータストア  | 
  | 
| 
 LDAPスキーマ  | 
 ※組み込みOpenDJサーバとして、OpenDJのインスタンスが必要  | 
OpenAMのライセンス
コミュニティ版OpenAMのライセンスはCommon Development and Distribution License(CDDL:共同開発および頒布ライセンス)です。CDDLとは旧Sun Microsystemsが Mozilla Public License(MPL) version 1.1 をベースとして策定したフリーソフトウェア向けライセンスで、無償で使用、改変、再配布することが認められています。
ただし、ここでのコミュニティ版とはオープンソースとして提供されているものを指しており、現在ではOpenAMコンソーシアムがメンテナンスしているものが該当します。Ping Identity社が開発しているPingAM(旧ForgeRock AM)はオープンソースでなく、ライセンスも異なります。
製品ダウンロード
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
- 
サポート対象OpenLDAP
オープンエルダップ。広く使われているディレクトリサービス、LDAP(Lightweight Directory Access Protocol)のオープンソース実装したオープンソースのディレクトリ・サーバソフトウェアです。
 - 
サポート対象OpenIDM
オープンアイディーエム。高い柔軟性と拡張性を備え、エンタープライズ/クラウド/モバイルなど多様な環境でプロビジョニングを実現するアイデンティティ管理製品です。
 - 
サポート対象Keycloak
キークローク。Red Hat社が提供する最小限の認証機能からソーシャルログインなどで他サービスへの高機能な認証にも対応する統合認証プラットフォームです。
 

