いまさら聞けない「シングルサインオンの
基本」と、社員1万人の大企業における
OpenAM導入事例紹介
~Webアプリケーションに手をいれることなく、
認証連携を実現する方法~
株式会社オージス総研
テミストラクトソリューション部
会社概要
代表者:
代表取締役社長 平山 輝
設 立:
1983年6月29日
資本金:
4億円
(大阪ガス株式会社100%出資)
事業内容:
システム開発、プラットフォームサービス、
コンピュータ機器・ソフトウェアの販売、
コンサルティング、研修・トレーニング
主な事業所
本 社:
大阪府 大阪市西区千代崎3-南2-37 ICCビル
東京本社:
東京都 港区港南2-15-1 品川インターシティA棟
名古屋オフィス: 愛知県 名古屋市中区錦1-17-13 名興ビル
売上実績:
567億円
(連結)
298億円
(単体)
(2013年度)
従業員数:
3,104名
(連結)
1,283名
(単体)
関連会社:
さくら情報システム(株)、 (株)宇部情報システム、 (株)システムアンサー、
OGIS International,Inc、上海欧計斯軟件有限公司(中国)
オージス総研グループ 売上構成比
(連結)
取得許可認定
株式会社オージス総研
シングルサインオンの基礎
導入事例
テミストラクトの紹介
シングルサインオンとは
シングルサインオンでない状態
シングルサインオン導入後
クラウドサービス
グループウェア
業務システム
クラウドサービス
グループウェア
業務システム
各システムに
都度ログイン・・・
SSO
1回のログインで
アクセス可能!
なぜ、シングルサインオンが必要なのか 其の壱
ユーザーにとって・・・
システムが増える = 業務は楽になる + 認証は不便になる
このシステムは
このパスワードで・・・
ID/パスワードが増える
昨日もパスワード
変更したのに・・・
システム毎にパスワード変更
またログイン画面か・・・
システム毎にログイン
・ログインは
一回でOK!
・ID/パスワードは
一個覚えればOK!
・パスワード変更は
一カ所でOK!
つまり、
ユーザの利便性が向上
する!
シングルサインオンを実現すると・・・
なぜ、シングルサインオンが必要なのか 其の弐
認証・認可の実装は、意外と大変。
セキュアなシステムかどうかは、システム開発者の技量に依存する。
・SSOシステムに任せれば、
アクセス制御の一元管理
が可能。
⇒既存システムへの
アプリ単位のアクセス制御を一カ所で管理
できる。
⇒新規システムを開発しても、
アクセス制御の実装が楽
になる。
・認証の
セキュリティレベル統一
が可能。
つまり、
セキュリティが向上し、開発/運用コスト削減に役立つ
!
アクセス制御が未実装
制御ルールがバラバラ
あれ?ちゃんと制御できてる?
設定ミスしたかな・・・
シングルサインオンを実現すると・・・
他部署の機密文書が
参照できてしまう・・・
製造部
営業部用
アプリ
なぜ、シングルサインオンが必要なのか 其の参
セキュリティや運用の観点では・・・
システムが増える = セキュリティリスクUP + 運用負荷UP
・ID/パスワードは一個だから、管理しやすい。
⇒
パスワード漏えいを回避
するために、
十分な対策
をとれる。
・
認証ログを一カ所で管理
でき、
監査対象を一つ
にできる。
⇒
運用がシンプル
になる。
つまり、
セキュリティが向上し、運用負荷が下がる!
パスワード多すぎて
覚えられないから
付箋にメモしておこう
セキュリティリスク
--- --- --- ID 12345 PW abcde♪
運用負荷
全アプリケーションの
ログ管理なんてできない!!
シングルサインオンを実現すると・・・
シングルサインオンで目指すべき形
「社内アプリ」と「クラウドサービス」の両方を利用する構成で
・ユーザの利便性向上
・セキュリティ向上
を実現するシングルサインオンが、
将来目指すべき形
。
SSO
RP
セキュリティ強化は
SSOシステムだけやればOK
認証は一回だけ
アプリの認証に
パスワードを使わない
シングルサインオン実現のための「3ステップ」
シングルサインオン実現方式
ID/パスワード ワンタイム パスワード デスクトップ SSOStep1
エージェント型? リバースプロキシ型? SAML型?Step2
Step3
認証方法を決める
連携方式を決める
SSO?
SSO?
アプリのログイン方式
を決める
HTTPヘッダ連携? Cookie連携? 代理認証?
ユーザーが行う認証の方法を決定する
シングルサインオン実現方式 ~認証方法を決める~
「
セキュリティリスクの高さ
」を考慮し、
「
利便性
」・「
セキュリティ
」・「
コスト
」
のバランスを考えて決定する
社内からしかアクセス
できないのに、複雑な認証方法
社外から重要情報にアクセス
するのに、簡単な認証方法
セキュアにしたはいいけど、
導入コストが高すぎる
ワンタイム
パスワード
統合Windows
認証
社外からは
多要素認証
証明書認証
ID/パスワード
シングルサインオン実現方式 ~認証方法を決める~
証明書認証
認証サーバ
たとえば、
・社内ユーザにとっての利便性を低下させたくない
・社外からアクセスには、セキュリティを高めたい
・社外からのアクセスのみ多要素認証させる
・多要素認証に証明書認証を使う
• ブラウザにインストールしたクライ
アント証明書をもとに、端末を認証
する。
シングルサインオン実現方式 ~認証方法を決める~
たとえば、
・社内からのアクセスしかない(社外公開していない)
・とにかく便利にしたい
・統合Windows認証にする
統合Windows認証
認証サーバ
① Windowsドメインログオン
ActiveDirectory
② ドメインログオン情報を
使って認証(自動処理)
• Windowsドメインにログオンして
いれば、システムへのログインを自
動で行う認証方法
• ユーザがID/パスワードを入力する
のは、ドメインログオン時のみ。
シングルサインオン実現方式 ~連携方式を決める~
SSO対象アプリケーションと認証サーバをどのように連携
するかを決定する
社内アプリ
アプリアクセスの手前で認証
・エージェント型
・リバースプロキシ型
クラウドサービス
認証情報を安全な方法で渡す
・フェデレーション型
SSO
SSO
シングルサインオン実現方式 ~連携方式を決める~
エージェント型
Webサーバー、アプリケーションサーバーに直接エージェントを導入する方法。
エージェントごとにSSOサーバーとの通信が発生する。
SSO対象 アプリA
SSO対象 アプリB
SSO
利用者
ログイン
SSO対象アプリに
アクセス
SSO対象アプ
リに認証済み
情報を連携
①
②
③
認証済みであれば
アプリを利用可能
④
シングルサインオン実現方式 ~連携方式を決める~
リバースプロキシ型
リバースプロキシサーバーにエージェントを導入し、アプリケーションへのアク
セスをリバースプロキシサーバー経由にする方法。
SSOサーバーとのやりとりをリバースプロキシサーバーに任せる。
SSO対象 アプリA
SSO対象 アプリB
リバースプロキシ
SSO
利用者
アプリ A 用の
仮想ホスト
OR
仮想パス
アプリ B 用の
仮想ホスト
OR
仮想パス
ログイン
リバースプロキシ
サーバーにアクセス
SSO対象アプ
リに認証済み
情報を連携
①
②
③
認証済みであればSSO対
象アプリに接続
④
シングルサインオン実現方式 ~連携方式を決める~
フェデレーション型
安全な方法でクラウドサービスとのSSOを実現するために、SAMLやOpenID
Connectなどのフェデレーション(認証連携)用のプロトコルを利用する方式。
利用者
利用者情報 なまえ 利用者 メール [email protected] 電話 0x0-1234-5678 利用者情報 name themistruct mail [email protected]address Tokyo Japan