SlideShare a Scribd company logo
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
シングルサインオンの歴史と
SAMLへの道のり
Mashmatrix, Inc.
www.mashmatrix.com
!
Shinichi Tomita
stomita@mashmatrix.com
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
この資料は、株式会社ウフル (http://uhuru.co.jp/) の
社内セミナーにて使用した資料です。ウフル様のご好意
により、公開の許諾を得ましたので、公開いたします。
!
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
自己紹介
• 冨田 慎一 Shinichi Tomita (@stomita)
• 株式会社マッシュマトリックス 代表取締役社長
• Ex-salesforce.com
• Ex-OracleJapan
• 主業務:自社パッケージ製品の開発販売、クラウドサービスの
テクノロジーリサーチおよびコンサルティング
• デジタルアイデンティティ愛好家
• JavaScript エンジニア
• 調査対象テクノロジー領域:Node.js, Force.com, Heroku,
Sencha Ext JS などなど
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
本日の主題
シングルサインオン
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
シングルサインオン(SSO)
1度のユーザ認証で複数のシステムを利用可能にするシステ
ムあるいはその仕組みのこと
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
そもそも話
ユーザの認証って、どうやってるの?
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
基本中の基本:

クライアント/サーバ アーキテクチャ
サーバ
リクエスト
レスポンス
クライアント
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
ユーザエージェント
(ユーザエージェント)
サーバユーザ
リクエスト
レスポンス
クライアント
?
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
クレデンシャル 

(Credential/資格証明)
(ユーザエージェント)
サーバユーザ
リクエスト
レスポンス
検証
クライアント
クレデンシャル

(資格証明)
!
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
クレデンシャルの例
• パスワード
• 簡易・簡便ゆえに、ゴールデンスタンダードとして君臨。種々の問題の元凶にも
• 「本人しか知りえない知識を提示」できることで認証する
• クライアント証明書(ICカード内に保管)
• 「本人しか持っていない所有物を提示」できることで認証する
• セッションID
• 他の方式(パスワードなど)で認証を受けた後、資格証明の検証を簡略化するための工
夫
• セッションIDの値は他の人に知られてはいけない。簡単に推測できてはいけない
• セッションIDに紐付いているユーザが現在アクセスしているものとみなす
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
そもそも話:その2
シングルサインオンして

何かメリットあるの?
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
ユーザ側のメリット
• 複数パスワードを覚えないで済む
• 単一パスワードの使い回しはご法度
• ログインする手間をかけることなく、複数のシステムをシー
ムレスに行き来できる
• 代理人となるサービスを利用して、作業を効率化できる
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
システム開発側のメリット
• 信頼できる強固なシステムに、ユーザの認証を任せること
ができる
• パスワードを安全にDBに保管していますか?ハッシュ化、ソルトなどについて知っ
ていますか?
• 攻撃者が用いる攻撃手法について、オンライン・オフラインの双方にわたって、
熟知していますか?
• パスワードでは不十分なとき、多要素認証のシステムを最初から作れますか?
すべてのアプリケーションに上記を求めるのは、酷である
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
よくある疑問
“認証機能を一箇所に集
めてしまって、もしそこ
のパスワードが漏れちゃっ
たら、だめなんじゃない
の?”
https://www.flickr.com/photos/sylvain_masson/4195880838
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
逆に考える
• 守るべき点がただひとつに絞られる、と考える
• ほとんどのユーザはシステムごとに複数のパスワードを使いわ
けていない(共通パスワードを使いまわして利用)という現状
• すべてのサーバでユーザ認証機能をもつ

最もセキュリティ的に弱いサーバに引きずられる(Weakest
Link)
• 中小企業の場合は、認証サーバにクラウドを活用す
るのも1つの策
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
サービス連携とSSO
(ユーザエージェント)
サーバAユーザ
リクエスト
レスポンス
クライアント
サーバB サーバC
サーバD
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
サービス連携とSSO
(ユーザエージェント)
サービスAユーザ
リクエスト
レスポンス
クライアント
サービスB サービスC
サービスD
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
サービスの時代 =「代理人」の時代
あなたの「代理人(エージェン
ト)」となるシステムが、あな
たの代わりにシステムに対して
作業を行う
https://www.flickr.com/photos/thebaffled/6855905810
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
代理人にパスワードを渡す?
• アクセスされるシステムから見たら、どちらも「本人」に
見える
• 監査ができない
• 段階的な権限の委譲することが不可能

(ALL or NOTHING)
代理人へは「認可」を渡すのが基本
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
「認証」と「認可」
• 認証(Authentication)と認可(Authorization)
• 認証:「あなたは〇〇さんですね」
• 認可:「あなたは△△してもいいですよ」
• ユーザには、どちらもシングルサインオンのエクスペリエ
ンスとして認識されることが多い
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
「認可」の形式いろいろ
• (署名なし)トークン形式
• 認可情報に紐付けられた割符のようなもの
• トークンを持っていればアクセス許可されている、とみなす
• アサーション形式
• 認可情報を文書として記述し、発行者の署名つきで渡す
• 電子署名されているので、認可情報は改ざんできない
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
UXからの分類
• ポータル型
• ポータルサービスへのログインで複数サービスの情報にアクセスする
• 実際にはポータルサーバへのログイン(認証)と、ポータルサーバが代理人と
なり各サービスへのアクセスするための許可(認可)が組み合わさっている
• 独立連携型
• それぞれのサービスが独立しユーザにサービスを提供するが、いずれ
かを認証サーバとして、ユーザのログインを統一している
• ディープリンクによる連携など

(例:Google Apps Calendarをクリック Salesforce Contactへ追加)
• 一方から他方への代理アクセスを許す場合も多い
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
まとめ
• シングルサインオンとは、一度のユーザ認証で複数のシステムを利用
可能にするもの
• シングルサインオンのメリット
• ユーザが複数パスワードを管理しなくて済む
• アプリで認証システムを作らなくてもよい
• セキュリティ投資を一点に集中できる
• サービス連携の可能性が生まれる
• ユーザ認証は、ユーザの資格証明(Credential)を検証することで行う
• サービス連携が必要な場合は、代理人に対して「認可」をあたえる
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
シングルサインオンの歴史
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
クライアント・サーバの時代
• Kerberos(ケルベロス)
• MITにより開発された認証プロトコル
• 共通 の仕組みを利用した認証プロトコ
ルを規定し、分散環境でのユーザ認証を
実現
• Active Directory環境におけるWindows
ログインには、Kerberosが用いられて
いる
• 最近Hadoop界隈でも使われてたりなど、
まだまだ現役
https://www.flickr.com/photos/pheezy/58429180
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
WWW/ブラウザの時代
• サービスのすべてはWebで提供されるように
• ログイン Cookie発行
• Firewallの普及、HTTPポートのみが生き残る
• Cookieは単一ホスト(ドメイン)にのみ有
効
• シングルサインオンは、Cookieと密接に結びつい
たものに
• HTTP + Cookie上でシングルサインオンを実
現する必要性
https://www.flickr.com/photos/johnkay/3182986643
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
.NET Passport
• マイクロソフトが提唱した、インターネットでのシングル
サインオンを実現するための仕組み
• 中央集権的
• シングルサインオンのみならず、課金サービスなどの提供
にも意欲的だったが、あまり普及せず
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
Liberty Alliance
• WWWの普及を踏まえ、インターネット規模でのシングルサイ
ンオン+Webサービス連携を実現するプロトコルを定めるため
に生まれたプロジェクト
• Sun Microsystemsなどが中心となり、

.NET Passportに対抗、分散型、非中央集権を目指す
• Circle of Trustの概念
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAML
• 「アサーション」を記述するためのXMLベースの仕様
• アサーションは認証・認可・属性の交換に利用できる
• メッセージ内容をXML-Signatureを利用して署名することによって実
現
• バージョン番号に注意
• 1.0時代はシングルサインオンのプロファイルとマークアップ、スキー
マ仕様
• そののちLiberty Allianceの成果(ID-FF)と合流し、シングルサイン
オンフローに加えメタデータなどを標準化、SAML2.0となる
• 現在はSAMLといえばほぼSAML2.0を指す
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAMLによる

シングルサインオンの基本
• IdP=アイデンティティプロバイダ

( 認証サーバ)
• SP=サービスプロバイダ

( 連携するWebアプリケーション)
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAMLによる
シングルサインオン:基本フロー
ユーザエージェントユーザ
1. リクエスト
2. SAMLリクエストを付与して

IdPへリダイレクト
SP
IdP
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAMLによる
シングルサインオン:基本フロー
ユーザエージェントユーザ SP
IdP
2.ユーザのログイン処理
3. SPへの連携に対するユーザへの
同意画面画面の提示
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAMLによる
シングルサインオン:基本フロー
ユーザエージェントユーザ SP
IdP
6. レスポンス
4. SAMLアサーションを付与して

SPへリダイレクト
5. 検証
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAMLのなにがよかったの?
• シングルサインオンのプロトコルが標準仕様として策定され
た
• それまで:特定製品のプロプライエタリなプロトコルが主流
• 企業内ネットワークだけではなく、インターネットサービス
に利用できる
• ASP連携も重視 後のクラウドサービスでの採用につながる
• メタデータの標準化
• 設定ファイルの交換だけで、シングルサインオンサーバとの接続
定義を設定可能
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAMLを使うには
• OpenAM
• アイデンティティ・アクセス管理のオープンソースソフトウェア
• Sun(現Oracle)が開発していたOpenSSOをForkしたうえで、
ForgeRock社が提供
• 事実上の標準に近い。多数のWebサービスが内部で採用している
• Salesforce Identity Connectもこちらを利用しているとのこと
http://forgerock.com/news-articles/forgerock-announces-new-oem-agreement-to-deliver-
salesforce-identity-connect/
• Microsoft Active Directory Federation Service
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
SAMLをサポートするクラウド
• Google Apps:SPの機能を提供
• Salesforce:IdP、SPの機能を提供
• Windows Azure Active Directory: IdP
• Microsoft Office 365: SPの機能を提供
• Amazon Web Services:SPの機能を提供。
• Amazon STSを経由してサービス連携も可能(S3, DynamoDBなど)
• Cybozu.com:SP
• PingOne : Ping Identity社。IdPの機能を提供
• OneLogin: OneLogin 社。IdPの機能を提供
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
まとめ
• クライアント/サーバ時代からシングルサインオンは必要と
されており、それを実現する技術としてKerberosがあった。
今でも広く利用されている。
• WWW時代には、HTTPでCookieを使ってユーザ認証する
のが主流となったため、ブラウザ&HTTP上で利用できるシ
ングルサインオンプロトコルを提唱する企業が多く現れた
• Liberty Allianceは、Webで利用できるシングルサインオン
のプロトコルの標準化を実現し、SAML2.0の仕様へと結実
した
©Copyright 2014 Mashmatrix, Inc. All rights reserved.
補遺:演習的なものへのリンク
• PingOneをIdPとして、SalesforceにSAMLでシングルサインオンできるように設定
する
• https://www.pingidentity.com/support/solutions/index.cfm/PingOne-Configuring-
Salesforce-com-to-use-the-Federated-ID-for-SSO
• Window Azure Active Direcotry をIdPとして、Salesforceにシングルサインオンで
きるように設定する
• http://msdn.microsoft.com/library/azure/dn308593.aspx
• SalesforceをIdPとして、Google Appsにシングルサインオンできるように設定する
• https://developer.salesforce.com/page/Configuring-SAML-SSO-to-GoogleApps
• SalesforceをIdPとしてAmazon AWS Consoleにシングルサインオンできるように
設定する
• https://developer.salesforce.com/page/Configuring-SAML-SSO-to-AWS

More Related Content

シングルサインオンの歴史とSAMLへの道のり

  • 1. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. シングルサインオンの歴史と SAMLへの道のり Mashmatrix, Inc. www.mashmatrix.com ! Shinichi Tomita [email protected]
  • 2. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. この資料は、株式会社ウフル (http://uhuru.co.jp/) の 社内セミナーにて使用した資料です。ウフル様のご好意 により、公開の許諾を得ましたので、公開いたします。 !
  • 3. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 自己紹介 • 冨田 慎一 Shinichi Tomita (@stomita) • 株式会社マッシュマトリックス 代表取締役社長 • Ex-salesforce.com • Ex-OracleJapan • 主業務:自社パッケージ製品の開発販売、クラウドサービスの テクノロジーリサーチおよびコンサルティング • デジタルアイデンティティ愛好家 • JavaScript エンジニア • 調査対象テクノロジー領域:Node.js, Force.com, Heroku, Sencha Ext JS などなど
  • 4. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 本日の主題 シングルサインオン
  • 5. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. シングルサインオン(SSO) 1度のユーザ認証で複数のシステムを利用可能にするシステ ムあるいはその仕組みのこと
  • 6. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. そもそも話 ユーザの認証って、どうやってるの?
  • 7. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 基本中の基本:
 クライアント/サーバ アーキテクチャ サーバ リクエスト レスポンス クライアント
  • 8. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. ユーザエージェント (ユーザエージェント) サーバユーザ リクエスト レスポンス クライアント ?
  • 9. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. クレデンシャル 
 (Credential/資格証明) (ユーザエージェント) サーバユーザ リクエスト レスポンス 検証 クライアント クレデンシャル
 (資格証明) !
  • 10. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. クレデンシャルの例 • パスワード • 簡易・簡便ゆえに、ゴールデンスタンダードとして君臨。種々の問題の元凶にも • 「本人しか知りえない知識を提示」できることで認証する • クライアント証明書(ICカード内に保管) • 「本人しか持っていない所有物を提示」できることで認証する • セッションID • 他の方式(パスワードなど)で認証を受けた後、資格証明の検証を簡略化するための工 夫 • セッションIDの値は他の人に知られてはいけない。簡単に推測できてはいけない • セッションIDに紐付いているユーザが現在アクセスしているものとみなす
  • 11. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. そもそも話:その2 シングルサインオンして
 何かメリットあるの?
  • 12. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. ユーザ側のメリット • 複数パスワードを覚えないで済む • 単一パスワードの使い回しはご法度 • ログインする手間をかけることなく、複数のシステムをシー ムレスに行き来できる • 代理人となるサービスを利用して、作業を効率化できる
  • 13. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. システム開発側のメリット • 信頼できる強固なシステムに、ユーザの認証を任せること ができる • パスワードを安全にDBに保管していますか?ハッシュ化、ソルトなどについて知っ ていますか? • 攻撃者が用いる攻撃手法について、オンライン・オフラインの双方にわたって、 熟知していますか? • パスワードでは不十分なとき、多要素認証のシステムを最初から作れますか? すべてのアプリケーションに上記を求めるのは、酷である
  • 14. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. よくある疑問 “認証機能を一箇所に集 めてしまって、もしそこ のパスワードが漏れちゃっ たら、だめなんじゃない の?” https://www.flickr.com/photos/sylvain_masson/4195880838
  • 15. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 逆に考える • 守るべき点がただひとつに絞られる、と考える • ほとんどのユーザはシステムごとに複数のパスワードを使いわ けていない(共通パスワードを使いまわして利用)という現状 • すべてのサーバでユーザ認証機能をもつ
 最もセキュリティ的に弱いサーバに引きずられる(Weakest Link) • 中小企業の場合は、認証サーバにクラウドを活用す るのも1つの策
  • 16. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. サービス連携とSSO (ユーザエージェント) サーバAユーザ リクエスト レスポンス クライアント サーバB サーバC サーバD
  • 17. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. サービス連携とSSO (ユーザエージェント) サービスAユーザ リクエスト レスポンス クライアント サービスB サービスC サービスD
  • 18. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. サービスの時代 =「代理人」の時代 あなたの「代理人(エージェン ト)」となるシステムが、あな たの代わりにシステムに対して 作業を行う https://www.flickr.com/photos/thebaffled/6855905810
  • 19. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 代理人にパスワードを渡す? • アクセスされるシステムから見たら、どちらも「本人」に 見える • 監査ができない • 段階的な権限の委譲することが不可能
 (ALL or NOTHING) 代理人へは「認可」を渡すのが基本
  • 20. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 「認証」と「認可」 • 認証(Authentication)と認可(Authorization) • 認証:「あなたは〇〇さんですね」 • 認可:「あなたは△△してもいいですよ」 • ユーザには、どちらもシングルサインオンのエクスペリエ ンスとして認識されることが多い
  • 21. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 「認可」の形式いろいろ • (署名なし)トークン形式 • 認可情報に紐付けられた割符のようなもの • トークンを持っていればアクセス許可されている、とみなす • アサーション形式 • 認可情報を文書として記述し、発行者の署名つきで渡す • 電子署名されているので、認可情報は改ざんできない
  • 22. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. UXからの分類 • ポータル型 • ポータルサービスへのログインで複数サービスの情報にアクセスする • 実際にはポータルサーバへのログイン(認証)と、ポータルサーバが代理人と なり各サービスへのアクセスするための許可(認可)が組み合わさっている • 独立連携型 • それぞれのサービスが独立しユーザにサービスを提供するが、いずれ かを認証サーバとして、ユーザのログインを統一している • ディープリンクによる連携など
 (例:Google Apps Calendarをクリック Salesforce Contactへ追加) • 一方から他方への代理アクセスを許す場合も多い
  • 23. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. まとめ • シングルサインオンとは、一度のユーザ認証で複数のシステムを利用 可能にするもの • シングルサインオンのメリット • ユーザが複数パスワードを管理しなくて済む • アプリで認証システムを作らなくてもよい • セキュリティ投資を一点に集中できる • サービス連携の可能性が生まれる • ユーザ認証は、ユーザの資格証明(Credential)を検証することで行う • サービス連携が必要な場合は、代理人に対して「認可」をあたえる
  • 24. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. シングルサインオンの歴史
  • 25. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. クライアント・サーバの時代 • Kerberos(ケルベロス) • MITにより開発された認証プロトコル • 共通 の仕組みを利用した認証プロトコ ルを規定し、分散環境でのユーザ認証を 実現 • Active Directory環境におけるWindows ログインには、Kerberosが用いられて いる • 最近Hadoop界隈でも使われてたりなど、 まだまだ現役 https://www.flickr.com/photos/pheezy/58429180
  • 26. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. WWW/ブラウザの時代 • サービスのすべてはWebで提供されるように • ログイン Cookie発行 • Firewallの普及、HTTPポートのみが生き残る • Cookieは単一ホスト(ドメイン)にのみ有 効 • シングルサインオンは、Cookieと密接に結びつい たものに • HTTP + Cookie上でシングルサインオンを実 現する必要性 https://www.flickr.com/photos/johnkay/3182986643
  • 27. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. .NET Passport • マイクロソフトが提唱した、インターネットでのシングル サインオンを実現するための仕組み • 中央集権的 • シングルサインオンのみならず、課金サービスなどの提供 にも意欲的だったが、あまり普及せず
  • 28. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. Liberty Alliance • WWWの普及を踏まえ、インターネット規模でのシングルサイ ンオン+Webサービス連携を実現するプロトコルを定めるため に生まれたプロジェクト • Sun Microsystemsなどが中心となり、
 .NET Passportに対抗、分散型、非中央集権を目指す • Circle of Trustの概念
  • 29. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAML • 「アサーション」を記述するためのXMLベースの仕様 • アサーションは認証・認可・属性の交換に利用できる • メッセージ内容をXML-Signatureを利用して署名することによって実 現 • バージョン番号に注意 • 1.0時代はシングルサインオンのプロファイルとマークアップ、スキー マ仕様 • そののちLiberty Allianceの成果(ID-FF)と合流し、シングルサイン オンフローに加えメタデータなどを標準化、SAML2.0となる • 現在はSAMLといえばほぼSAML2.0を指す
  • 30. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる
 シングルサインオンの基本 • IdP=アイデンティティプロバイダ
 ( 認証サーバ) • SP=サービスプロバイダ
 ( 連携するWebアプリケーション)
  • 31. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる シングルサインオン:基本フロー ユーザエージェントユーザ 1. リクエスト 2. SAMLリクエストを付与して
 IdPへリダイレクト SP IdP
  • 32. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる シングルサインオン:基本フロー ユーザエージェントユーザ SP IdP 2.ユーザのログイン処理 3. SPへの連携に対するユーザへの 同意画面画面の提示
  • 33. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる シングルサインオン:基本フロー ユーザエージェントユーザ SP IdP 6. レスポンス 4. SAMLアサーションを付与して
 SPへリダイレクト 5. 検証
  • 34. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLのなにがよかったの? • シングルサインオンのプロトコルが標準仕様として策定され た • それまで:特定製品のプロプライエタリなプロトコルが主流 • 企業内ネットワークだけではなく、インターネットサービス に利用できる • ASP連携も重視 後のクラウドサービスでの採用につながる • メタデータの標準化 • 設定ファイルの交換だけで、シングルサインオンサーバとの接続 定義を設定可能
  • 35. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLを使うには • OpenAM • アイデンティティ・アクセス管理のオープンソースソフトウェア • Sun(現Oracle)が開発していたOpenSSOをForkしたうえで、 ForgeRock社が提供 • 事実上の標準に近い。多数のWebサービスが内部で採用している • Salesforce Identity Connectもこちらを利用しているとのこと http://forgerock.com/news-articles/forgerock-announces-new-oem-agreement-to-deliver- salesforce-identity-connect/ • Microsoft Active Directory Federation Service
  • 36. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLをサポートするクラウド • Google Apps:SPの機能を提供 • Salesforce:IdP、SPの機能を提供 • Windows Azure Active Directory: IdP • Microsoft Office 365: SPの機能を提供 • Amazon Web Services:SPの機能を提供。 • Amazon STSを経由してサービス連携も可能(S3, DynamoDBなど) • Cybozu.com:SP • PingOne : Ping Identity社。IdPの機能を提供 • OneLogin: OneLogin 社。IdPの機能を提供
  • 37. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. まとめ • クライアント/サーバ時代からシングルサインオンは必要と されており、それを実現する技術としてKerberosがあった。 今でも広く利用されている。 • WWW時代には、HTTPでCookieを使ってユーザ認証する のが主流となったため、ブラウザ&HTTP上で利用できるシ ングルサインオンプロトコルを提唱する企業が多く現れた • Liberty Allianceは、Webで利用できるシングルサインオン のプロトコルの標準化を実現し、SAML2.0の仕様へと結実 した
  • 38. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 補遺:演習的なものへのリンク • PingOneをIdPとして、SalesforceにSAMLでシングルサインオンできるように設定 する • https://www.pingidentity.com/support/solutions/index.cfm/PingOne-Configuring- Salesforce-com-to-use-the-Federated-ID-for-SSO • Window Azure Active Direcotry をIdPとして、Salesforceにシングルサインオンで きるように設定する • http://msdn.microsoft.com/library/azure/dn308593.aspx • SalesforceをIdPとして、Google Appsにシングルサインオンできるように設定する • https://developer.salesforce.com/page/Configuring-SAML-SSO-to-GoogleApps • SalesforceをIdPとしてAmazon AWS Consoleにシングルサインオンできるように 設定する • https://developer.salesforce.com/page/Configuring-SAML-SSO-to-AWS