全1407文字
PR

 ここまで認証をパスワードレスにする仕組みを説明してきた。しかしIDPを利用するだけではパスワードレスにはならない。社内で利用する各種サービスにログインする際の認証が別途必要となると、そこでまたパスワードが必要になってしまうからだ。

 そこで求められるのがID連携に基づくSSOである(図4-1)。社内外のサービスが認証をIDPに一任。IDPが一度利用者をパスワードレスで認証してしまえば、他のサービスを利用する際もパスワードの入力は不要になる。多くのIDPはSSOの機能も備えている。

図4-1●SSOの仕組み
図4-1●SSOの仕組み
信頼できるIDPに認証作業を委託して認証を一本化する。これにより、利用者は一度IDPで認証すれば個別の認証をせずに他のサービスを利用できる。
[画像のクリックで拡大表示]

主流はSAMLを利用した連携

 ID連携にはいくつかの方法があるが、その中でも代表的なのがSAMLを使ったID連携だ。

 SAMLはXMLで記述された認証情報をやりとりしてID連携を実現する仕組みだ(図4-2)。SAMLは異なるインターネットドメイン間で認証や属性に関する情報を安全に交換するためのプロトコルとして開発された。そのためSSOは用途の1つである。

図4-2●SAMLを使った認証の流れ
図4-2●SAMLを使った認証の流れ
SAMLはSSOの際によく使われる認証の仕組み(プロトコル)。SAMLではXMLで定義された情報を、利用者を介してIDPとサービス間でやりとりする。OpenID Connectも認証の流れはほぼ同様だ。
[画像のクリックで拡大表示]

 IDPの多くはSAMLに対応しており、連携しやすいよう工夫されている。例えばAADでSAMLを利用したSSOを設定する場合を見ると、まず連携するサービスをメニューから選択する(図4-3)。そうすると手順を次々と表示して設定項目を示してくれる。一通りこの作業が終われば、設定をまとめて表示できるようになる。

図4-3●SSOの設定
図4-3●SSOの設定
Azure ADで設定する場合のイメージを示した。最初に連携対象となるサービスを指定し、次に連携する利用者や連携に必要な情報を指定していく。SAMLを利用する場合などは連携対象となるサービス側でも設定が必要となる。
[画像のクリックで拡大表示]

 ただし当然ではあるが、連携相手となるサービスにも設定が必要となる。

 SAMLと同様に「OpenID Connect」というプロトコルも標準的に使われている。もともとFacebookなどの交流サイト(SNS)の認証を利用して、ECサイトなどのWebサービスにログインできるようにするプロトコルとして使われ始めた。OpenID ConnectもほぼSAMLと同じ手順でSSOを実現する。