■ はじめに
https://dk521123.hatenablog.com/entry/2022/06/09/174851
で、シングルサインオンのSAMLは以前取り扱ったが、 IDフェデレーションがどんなものか 理解があやふやになってきたので、メモする # 調べて余計わけわからなくなったことは否めないが # そこは徐々に修正しながらブラッシュアップしていく
目次
【1】IDフェデレーション(ID federation) 【2】目的 【3】シングルサインオン(SSO)との違い 【4】利用するプロトコルの種類 1)SAML (Security Assertion Markup Language) 2)OpenID Connect (OIDC)
【1】IDフェデレーション(ID federation)
* 外部で管理されたIDおよび認証サーバーを利用して、 認証(サインイン)する仕組み cf. federation = 連邦、連合、連盟、同盟 => ここでは「認証連携」みたいな意味
補足1:認証 (Authentication)とは?
https://dk521123.hatenablog.com/entry/2022/07/03/000000
より抜粋 ~~~~ * アクセスしたユーザに対して、 その人本人であるかの確認を取ること ~~~~ => 「認証」と「認可」の言葉の使い方が 理解する上で必要になってくる
【2】目的
* 他サービスをスムーズに使えるようになる => 何度も認証画面でログインさせてはユーザの利便性がそがれる
【3】シングルサインオン(SSO)との違い
* IDフェデレーションは、SSOを実現する方式の1つ
【4】利用するプロトコルの種類
* IDフェデレーションは、以下のプロトコルを利用して、 認証結果を伝送することで SSO を実現する ~~~~~~~~~~~~~ 1)SAML 2)OpenID Connect ~~~~~~~~~~~~~
1)SAML (Security Assertion Markup Language)
https://dk521123.hatenablog.com/entry/2022/06/09/174851
より抜粋 ~~~~~~~~~~~~~ * 読み方は「サムル」 * シングルサインオンを実現するときに使われる XML ベースの標準規格 ~~~~~~~~~~~~~ => その他詳細は、上記の関連記事を参照のこと。
2)OpenID Connect (OIDC)
* シングルサインオンを実現するときに使われる JSON ベースで、OAuth 2.0を認証のために拡張させたプロトコル => OIDC = OAuth 2.0(API連携) + OpenID Authentication 2.0(ID連携)
補足1:OAuth
* 以下の関連記事を参照のこと
https://dk521123.hatenablog.com/entry/2022/07/21/000000
補足2:OpenID Authentication
* 最初に制定された標準規格 (初版は「OpenID 1.0」) => OpenID Connect は、OpenID Authenticationの後継規格 => ただし、両者の間では互換性はない
3)比較
項目 | SAML | OIDC |
---|---|---|
伝送方法 | アサーション | ID トークン |
データ形式 | XML | JSON (JWT) |
策定年(※) | 2002年に策定(2005年にver2.0) | 2009年に策定 |
※ 策定年について
* この辺サイトによってマチマチだが SAMLよりOIDCの方が新しい技術だと思ってよさそう
参考文献
https://hogetech.info/security/sso/federation
https://qiita.com/miyuki_samitani/items/f1861c5c10738a2e3f85
OpenID
https://eset-info.canon-its.jp/malware_info/term/detail/00155.html
https://medium-company.com/openid/
関連記事
シングルサインオン ~ SAML認証方式 ~
https://dk521123.hatenablog.com/entry/2022/06/09/174851
トークン認証 ~ OAuth ~
https://dk521123.hatenablog.com/entry/2022/07/21/000000
トークン認証 ~ JWT ~
https://dk521123.hatenablog.com/entry/2022/07/20/000000
IAM ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2022/07/03/000000