目次
OpenAMという言葉を見つけたので気になって調べてみた。
1. OpenAMとは?
「認証」「認可」「フェデレーション」等の機能を持ち、
以下、Wkipediaのものを引用いたします。
OpenAMはSun MicrosystemsのOpenSSOを起源に持つ。OracleによるSun Microsystemsの買収後、OracleがOpenSSOの開発中止を決定したため、ForgeRock(英語: ForgeRock)社がその開発とサポートを継続することを2010年2月に発表した。
ここで、補足として「認証」「認可」「フェデレーション」について、簡単に説明する。
※OpenIDやOAuthかじったことのある人は認証認可の違いはご存知かと思います。
1-1. 認証
その人が誰であるかを特定します。
1-2. 認可
プロバイダーがサービスアプリケーションがアクセスできるリソースへの権限を付与します。
1-3. フェデレーション
複数のWebサービス間のユーザー認証連携を指します。
2. シングルサインオン(SSO)とは?
あるシステムに一度ログインしてしまえば、それ以降他のシステムを利用する場合は認証を省略することができる仕組み。
つまり一回のログインですべてのシステム間でログイン情報を共有しているんですね。
これは、複数のシステムを抱えている企業ではログインの一元管理ができて便利ですね。
また、シングルサインオン(SSO)の実現方式には、大きく4つの方式があるそうです。
・エージェント方式
・リバースプロキシ方式
・代理認証方式
・フェデレーション方式
下記のサイトにて勉強させていただきました。
ありがとうございます。
2-1.エージェント方式
アプリケーションサーバーに「エージェント」を組み込む方式です。
2-2.リバースプロキシ方式
ブラウザとアプリケーションサーバーの間にリバースプロキシサーバーを構築して、そこにエージェントを組み込む方式です。
リクエスト時にリバースプロキシサーバーが認証状態をチェックして各アプリケーションへ中継を行います。
2-3.代理認証方式
ログイン画面にてユーザーの代わりにログイン情報の入力を行う方式です。
裏側でOpenAMが入力を代行してくれることでシングルサインオンを実現しています。
2-4.フェデレーション方式
クラウドサービス間で認証情報を連携させる方式です。
例えばソーシャルアカウントなどでログインを行った場合、そのログインを行ったソーシャルサービス側からログイン対象のアプリケーションへ認証結果が通知されログインを完了させるといったような流れになります。
では、今回はこの辺で。
以上。