こんばんは!
今日はSSO(シングルサインオン)についてまとめていきたいと思います!
シングルサインオンとは
シングルサインオンとは簡単に言うと、「一回のログインで複数サイトにアクセス出来る仕組み」です。
要はテーマパークのフリーパスみたいな物です。
シングルサインオンは会社内でよく使うクラウドサービスなどに利用されることが多いです。
なぜならシングルサインオンを利用することで、社員には覚えるパスワードが1つで良いので楽だし、管理部もパスワード忘れの対応に追われなくて済みます。
ただし、万が一パスワードが流出してしまった場合は被害も大きくなる可能性がある点には注意が必要です。
よくネットでTwitterIDやGoogleIDでログインという仕組みもありますが、あちらはAPIなのでシングルサインオンとは異なります。
次にシングルサインオンの仕組みについてですが、何種類かあるため、今日はその中でもSAML認証という方法を解説します。
というのも唯一、別ドメインでもシングルサインオンが可能になるため、よく使用されているからです。
SAMLというのはSecurity Assertion Markup Languageの略で、要は1つのユーザー情報を様々なサイトで利用するためのルールです。
IT業界ではしばしばルールのことプロトコルと呼びます。
つまりSAML認証ではSAMLに対応したサービスならいくつでも、一度のログインで出入りできるようになる。ということです。
SAML認証ではもう一つIdPという言葉も出てきます。
IdPとはIdentify Provideの略で、直訳すると身元提供。要はユーザー情報を管理し、必要に応じて提供してくれるサービスです。
そういったサービスは総称でIDaaS(ID as a Service)と呼ばれたりします。(横文字多すぎだろ笑)
ここでようやく役者が揃ったので、SAML認証によるシングルサインオンの流れを説明します。
1、まずユーザーがSAMLに対応したクラウドサービスにアクセスします。
2、その時クラウドサービス側ではSAMLで決められた方法でIdPに認証の要求を行います。
3、IdPはそれに応じ、ユーザーへログイン画面を提供します。
ユーザーは情報を入力し、IdPがその情報で整合性を確認します。
4、問題なければSAML形式でクラウドサービスへその報告をします。
5、そこで晴れてログインが完了します。
図にすると↓具合です。(描いてみた)

以降は別サイトであってもSAMLに対応したサービスであれば、IdPと自動で確認を行い、ユーザーは情報を入力せずともログインできるようになります。(もちろんタイムアウトなどが設定されているので、時間が経つと再度入力が必要です。)
以上がSAML認証を利用したシングルサインオンの流れです。
てことで今日はシングルサインオンについてでした!
(シングルサインオンってめっちゃ打ったw)
それではまた!
2021.1.27 ガオ
コメント