この記事を読むと、、
- 「関連用語」を使って「SSO」を説明できるようになる
- 「SSO」がもっと好きになる(多分)
関連用語
federation / SAML 2.0 / OIDC / JWT / OAuth 2.0
[復習用] 記事の内容を見る前に上記の言葉で「SSO」を説明してみよう!
企画説明
- クラウドって何?って人に聞かれて説明してるけど俺もよく知らないや、、
- ドキュメント読んでみてるけど半分くらい何言ってるか分かんない、、
- 今日の夕飯はナスの炒めものにしよっかな〜、あれ、NASってなんだっけ?
みたいなことが結構あったので、知ったかしていたIT用語を毎日一個ずつちゃんと学んでいこうっていう企画です!
昨日の記事はこちら↓
SSOとは
SSO = Single Sign-On = 一度の認証処理で複数のアプリケーションを利用できる仕組み
-
アプリごとにパスワードを作りまくらなくてよくなる👏
-
federation = 連邦化 = 管理ドメインをまたがって個人のdigital identityを結びつけること
- SSOはfederationの仕組みの一つ
-
cf. Authentication = 認証 = 本人確認のこと
- 以下の3つの方法で確認する
- something you know
- ex. パスワード
- something you have
- ex. スマートカード
- something you are
- ex. 生体認証
- something you know
- 以下の3つの方法で確認する
-
cf. Authorization = 認可 = ユーザーごとに適切な権限をわたすこと
- ex. 部長は編集+閲覧可、それ以外は閲覧のみ可
SSOの代表的な実装
-
SAML 2.0 = Security Assertion Markup Language 2.0
- 認証、認可を行うためのXMLベースの規格
-
OIDC = OpenID Connect
- 認証もできるようにしたOAuth 2.0の拡張規格
- Access Tokenに加えて電子署名されたID Tokenも発行することで認証する
- ID TokenはJWT = Json Web Tokenという形式で書かれていて以下の情報などを持つ
- tokenの発行者
- tokenの貰い手
- tokenの有効期限
- 署名アルゴリズム
- 電子署名した文字列
- cf. OAuth 2.0
- 認可を行うためのオープンスタンダード
- 認可サーバーからAccess Tokenをもらうことでリソースにアクセスできる
- OAuthだけでは認証ができない
- 具体的には、Access Tokenを使いまわしてなりすましができちゃったりする