LoginSignup
18
20

More than 1 year has passed since last update.

SAMLの基礎知識を調査

Posted at

これは何

SAML についての基礎知識を備忘録としてまとめたものです。

SAML とは

SAMLとは、Security Assertion Markup Language の略で、
標準化団体 OASIS によって策定された、XML をベースにした異なるインターネットドメイン間でユーザー認証を行うための標準規格。
一度のログインで複数のサービスにログインできる SSO を実現するために活用される。

SAML 認証の登場人物

SAML認証では、ユーザー・IdP・SP の三者間で認証情報をやり取りします。

ユーザー

利用者。主にブラウザを用いてのやり取りになります。

IdP

Identify Provider の略。
SSO の仕組みを提供するサービスを指す。

SP

Service Provider の略。
ログインしたいクラウドサービスを指す。

認証の流れ

SAML認証には2パターンの流れが存在します。

SP Initiated

SP を起点とした認証の流れです。

  1. ユーザーが SP にアクセスする
  2. SP がSAML認証要求を作成し、ユーザーに応答する
  3. ユーザーは SP から受け取ったSAML認証要求を IdP に送信する
  4. IdP の認証画面が表示される
  5. ユーザーは認証情報を入力して IdP との間で認証処理を行なう
  6. 認証が成功すると、IdP からSAML認証応答が発行される
  7. ユーザーは IdP から受け取ったSAML認証応答を SP に送信する
  8. SP にSAML認証応答が届くとログインができる

図にすると以下のようになります。

IdP Initiated

IdP を起点とした認証の流れです。

  1. ユーザーが IdP にアクセスする
  2. IdP の認証画面が表示される
  3. ユーザーは認証情報を入力して IdP との間で認証処理を行なう
  4. 認証が成功すると、IdPにログインできる
  5. IdP の画面からアプリケーションを選択する
  6. IdP 側でSAML認証応答が発行される
  7. ユーザーは IdP から受け取ったSAML認証応答を SP に送信する
  8. SPにSAML認証応答が届くとログインできる

図にすると以下のようになります。

SAMLアサーション

SAMLアサーションは、IdP がユーザー認可ステータスを含む SP に送信するXMLドキュメントです。
大きく分けて以下の情報が含まれています。

認証アサーション

ユーザが認証された場所や時刻等、およびユーザーを識別するための情報

属性アサーション

名前やメールアドレス等のユーザの属性情報

認可決定アサーション

ユーザに許可された操作やアクセス権限等の情報

18
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
20