OpenAMによるシングルサインオンの概要(第1回)
「OpenAMを活用したシングルサインオン環境のご相談や、価格についてはお問合せ下さい!」
はじめに
2016年12月7日に『OpenAMによるシングルサインオンの概要』セミナーが開催されました。
かもめエンジニアリング株式会社 川村による講演を全4回に分けて紹介します。
第1回目は『シングルサインオン(SSO)の4方式、どの方式を選択するべきか?』についての講演部分を紹介します。
講演資料について
本セミナーの講演資料は、以下のURLからダウンロードできます。
https://osslabo.doorkeeper.jp/events/54133
シングルサインオン(SSO)とは
私、川村より、シングルサインオン(OpenAM)について説明します。
SSOとは「複数サービスへのログインを1回で行うための仕組み」の一言につきます。
SSO導入前は「アプリケーションごとにログイン認証」が必要です。
SSO導入後は「最初の1回だけログイン認証を行えば、以降のログイン認証は不要」となります。
シングルサインオン(SSO)の方式
SSOの主要となる4方式について、各方式の違いも含めて説明します。
SSO方式1「エージェント方式」
「エージェント方式」とは
アプリケーションの手前にいる「エージェント」が、アプリケーションへのアクセスを制御する方式です。SSOの方式としては、最も基本的な構成です。
処理の流れ
1.Webアプリケーションサーバ内のエージェントが、ブラウザからのアクセスを受け取ります。
2.OpenAMに「すでにログイン済みかどうか」を確認します。
3-1.ログイン済みの場合、アプリケーション画面に遷移させます。
3-2.未ログインの場合、ログイン画面に遷移させます。
メリット
- ネットワーク構成変更が不要です。
- (小規模であれば)構築負荷が少なく済みます。
デメリット
- Webアプリケーションサーバごとにエージェントをインストールする必要があります。
- アプリケーションを追加するごとに、エージェントの設定が必要です。
- エージェント数が増えると、管理負荷が増大します。拡張性に難がある方式です。
SSO方式2「リバースプロキシ方式」
「リバースプロキシ方式」とは
リバースプロキシサーバを間に入れて集中管理する方式です。エージェントを一括管理できます。初期段階で手間はかかりますが、長期的視点で拡張性や管理を考えた場合では、最適な方式であると言えます。
処理の流れ
1.リバースプロキシサーバ内のエージェントがブラウザからのアクセスを受け取ります。
2.OpenAMに対して「アプリケーションへのアクセス権限」「セッション情報」などを確認します。
3-1.OKの場合、対象アプリケーションに接続させます。
3-2.NGの場合、ログイン画面に遷移させます。
メリット
- エージェントのインストール/管理が容易です。
- アプリケーションを増設しても、エージェント管理負荷が少なく済みます。
デメリット
- 最初にリバースプロキシサーバ構築の負荷がかかります。
- 既存システムに対してネットワーク構成変更が必要となります。
【補足】エージェント方式とリバースプロキシ方式の違い
両者の違い
仕組み的には、両者の認証方式は全く同じで、エージェント配置場所が異なるだけの違いです。
SSO方式3「代理認証方式」
「代理認証方式」とは
アプリケーションのログイン画面に対して、ID+パスワードを自動入力させる方式です。アプリケーションを改修できない場合に選択する方式で、リバースプロキシサーバの構築が必要です。
メリット
- アプリケーション側の改修が不要です。
デメリット
- 自動入力させるための作り込みが必要です。
- ID+パスワードは、構築後も別々に管理する必要があります。
- 管理が煩雑になりやすい面があります。
【補足】リバースプロキシ方式と代理認証方式の違い
リバースプロキシを行う点では同じです。
リバースプロキシ方式の場合
- アプリケーションに対する認証を行いません。
- ログイン済みなら素通りさせます。
代理認証方式の場合
- アプリケーションに接続するごとに裏で自動的にログインを行います。
SSO方式4「フェデレーション方式」
「フェデレーション方式」とは
対応アプリケーションである場合、認証DBを用意するだけで、基本的に設定のみで対応できる方式です。
主要ソーシャルアカウントはフェデレーションに対応しています。新規環境構築の場合にも有効な方式です。
メリット
- 対応アプリケーションであれば改修は不要です。
- 容易にサービス連携を行えます。
デメリット
- 対応アプリケーションが限られています。
- 「OpenID Connect」「SAML 2.0」「OAuth2」などの多様なプロトコルがあります。
※OpenAMは、これらの主要プロトコルにすべて対応しています。
SSO方式まとめ
ズバリ最適な方式は?
おわりに
第1回目となる今回は『シングルサインオン(SSO)の4方式、どの方式を選択するべきか?』の部分について紹介しました。
第2回目となる次回は『シングルサインオン(SSO)を実現する、OpenAMの概要』についての講演部分を紹介します。
講演資料について
本セミナーの講演資料は、以下のURLからダウンロードできます。
https://osslabo.doorkeeper.jp/events/54133
「OpenAMを活用したシングルサインオン環境のご相談や、価格についてはお問合せ下さい!」