はじめに
方式がいろいろあったのでサマって整理します。
適宜更新します。
シングルサインオンとは
SSO方式
エージェント方式
- 認証対象のWebサーバにエージェント(専用ソフトウェア)を導入する。
- リバースプロキシ方式に比べ、アクセス集中によるボトルネックが発生しづらい。
リバースプロキシー方式
- リバースプロキシ(中継サーバ)を介在させて処理する。
- クライアントはエージェントを導入する必要がない。
- すべてのアクセスがリバースプロキシ経由であり、ボトルネックになる場合がある。
- エージェント方式よりも短期導入が可能。
代理認証方式
- クライアントPCに導入したエージェントがログイン画面の認証情報を代行入力する。
- 認証情報はサーバー上のアカウントDBなどに保持しており、エージェントはDBに接続し情報を取得する。
- 導入は比較的容易。
フェデレーション方式
- クラウド間(異なるドメイン間)で認証情報を連携する方式。
- パスワードなどの認証情報を利用しない。
- 対応しているクラウドサービスは限られている(Google Apps、Salesforce、Office365など)。
透過型方式
- クライアントとWebシステムの通信を監視する方式。
- 認証が必要な場合のみ、認証情報をWebシステムに送信します。
SAML認証方式
- Security Assertion Markup Language
- 異なるインターネットドメイン間でユーザー認証を行うための標準規格
- クラウドのリソースを含めたSSO実装に利用する。
- IdP(Identity Provider):認証提供側
- SP(Service Provider):サービス提供側
- SPがSAMLに対応していれば、IdPを介したSSO認証が可能。
- ユーザーはSPアクセス時にIdPへリダイレクトされる。認証情報を入力することで認証が完了し、SPにリダイレクトされサービス利用が開始できる。
ケルベロス認証
- ネットワーク認証方式の一つ。
- Kerberosは、サーバとクライアント間の身元確認のためのプロトコル。
- 1989年から使われている。
- マサチューセッツ工科大学 (MIT) のAthenaプロジェクトによる開発。仕様は RFC 4120 で標準化されている。
- マイクロソフトのActive Directoryでの推奨の認証機構となっている。(Wikipedia)
OpenID Connect
- 分権的な認証プロトコルのオープンスタンダード。
- 非営利団体のOpenID財団が標準を策定。
- 最新版は OpenID Connect (OIDC) 1.0 。(Wikipedia)
- OAuth 2.0で実装した認可のフローをそのままに、追加で「認証結果」と「属性情報」を流通させるプロトコル。(オブジェクトの広場)
その他の用語
WAM
- Web Access Management
- Webベースのアプリケーションに対するアクセス管理を行う。
- 90年代~00年代におけるWebアプリケーションの流行によりサービスが普及したが、最近のビジネス要件には対応しきれなくなっている。
IAM
- Identity and Access Management
- その名のとおり、ユーザとアクセス管理(認証・認可)を管理する。
- AWSやIBMなどの各クラウドサービスでは、権限管理のためIAMサービスが提供されている。
- 参考:https://japan.zdnet.com/article/20368582/