by

OpenAMによるシングルサインオンの概要(第1回)

OpenAM_アイキャッチ画像

「OpenAMを活用したシングルサインオン環境のご相談や、価格についてはお問合せ下さい!」

はじめに

2016年12月7日に『OpenAMによるシングルサインオンの概要』セミナーが開催されました。

かもめエンジニアリング株式会社 川村による講演を全4回に分けて紹介します。

第1回目は『シングルサインオン(SSO)の4方式、どの方式を選択するべきか?』についての講演部分を紹介します。

講演資料について

本セミナーの講演資料は、以下のURLからダウンロードできます。

https://osslabo.doorkeeper.jp/events/54133

シングルサインオン(SSO)とは

私、川村より、シングルサインオン(OpenAM)について説明します。

OpenAM

SSOとは「複数サービスへのログインを1回で行うための仕組み」の一言につきます。

SSO導入前は「アプリケーションごとにログイン認証」が必要です。

SSO導入後は「最初の1回だけログイン認証を行えば、以降のログイン認証は不要」となります。

シングルサインオン(SSO)の方式

SSOの主要となる4方式について、各方式の違いも含めて説明します。

SSO方式1「エージェント方式」

OpenAM

「エージェント方式」とは

アプリケーションの手前にいる「エージェント」が、アプリケーションへのアクセスを制御する方式です。SSOの方式としては、最も基本的な構成です。

処理の流れ

1.Webアプリケーションサーバ内のエージェントが、ブラウザからのアクセスを受け取ります。
2.OpenAMに「すでにログイン済みかどうか」を確認します。
3-1.ログイン済みの場合、アプリケーション画面に遷移させます。
3-2.未ログインの場合、ログイン画面に遷移させます。

メリット

  • ネットワーク構成変更が不要です。
  • (小規模であれば)構築負荷が少なく済みます。

デメリット

  • Webアプリケーションサーバごとにエージェントをインストールする必要があります。
  • アプリケーションを追加するごとに、エージェントの設定が必要です。
  • エージェント数が増えると、管理負荷が増大します。拡張性に難がある方式です。

SSO方式2「リバースプロキシ方式」

OpenAM

「リバースプロキシ方式」とは

リバースプロキシサーバを間に入れて集中管理する方式です。エージェントを一括管理できます。初期段階で手間はかかりますが、長期的視点で拡張性や管理を考えた場合では、最適な方式であると言えます。

処理の流れ

1.リバースプロキシサーバ内のエージェントがブラウザからのアクセスを受け取ります。
2.OpenAMに対して「アプリケーションへのアクセス権限」「セッション情報」などを確認します。
3-1.OKの場合、対象アプリケーションに接続させます。
3-2.NGの場合、ログイン画面に遷移させます。

メリット

  • エージェントのインストール/管理が容易です。
  • アプリケーションを増設しても、エージェント管理負荷が少なく済みます。

デメリット

  • 最初にリバースプロキシサーバ構築の負荷がかかります。
  • 既存システムに対してネットワーク構成変更が必要となります。

【補足】エージェント方式とリバースプロキシ方式の違い

OpenAM

両者の違い

仕組み的には、両者の認証方式は全く同じで、エージェント配置場所が異なるだけの違いです。

SSO方式3「代理認証方式」

OpenAM

「代理認証方式」とは

アプリケーションのログイン画面に対して、ID+パスワードを自動入力させる方式です。アプリケーションを改修できない場合に選択する方式で、リバースプロキシサーバの構築が必要です。

メリット

  • アプリケーション側の改修が不要です。

デメリット

  • 自動入力させるための作り込みが必要です。
  • ID+パスワードは、構築後も別々に管理する必要があります。
  • 管理が煩雑になりやすい面があります。

【補足】リバースプロキシ方式と代理認証方式の違い

OpenAM

リバースプロキシを行う点では同じです。

リバースプロキシ方式の場合

  • アプリケーションに対する認証を行いません。
  • ログイン済みなら素通りさせます。

代理認証方式の場合

  • アプリケーションに接続するごとに裏で自動的にログインを行います。

SSO方式4「フェデレーション方式」

OpenAM

「フェデレーション方式」とは

対応アプリケーションである場合、認証DBを用意するだけで、基本的に設定のみで対応できる方式です。

主要ソーシャルアカウントはフェデレーションに対応しています。新規環境構築の場合にも有効な方式です。

メリット

  • 対応アプリケーションであれば改修は不要です。
  • 容易にサービス連携を行えます。

デメリット

  • 対応アプリケーションが限られています。
  • 「OpenID Connect」「SAML 2.0」「OAuth2」などの多様なプロトコルがあります。

※OpenAMは、これらの主要プロトコルにすべて対応しています。

SSO方式まとめ

OpenAM

ズバリ最適な方式は?

OpenAM

おわりに

第1回目となる今回は『シングルサインオン(SSO)の4方式、どの方式を選択するべきか?』の部分について紹介しました。

第2回目となる次回は『シングルサインオン(SSO)を実現する、OpenAMの概要』についての講演部分を紹介します。

講演資料について

本セミナーの講演資料は、以下のURLからダウンロードできます。

https://osslabo.doorkeeper.jp/events/54133

「OpenAMを活用したシングルサインオン環境のご相談や、価格についてはお問合せ下さい!」