SAML

2023-03-23 (木) 20:53:30

SAML とは

名称

  • Secure Assertion Markup Language
  • 呼称は「サムル」「サムエル」

概要

  • ユーザの認証情報、アクセス制御情報、属性情報等をWebサーバ間で安全に交換するための仕様。
  • アサーションを交換するための標準仕様。
  • シングルサインオンを実現するための基盤として使われる。
  • 標準化団体OASISが策定
  • SOAPXML(使用技術)
  • クッキーを使わない
  • エンタープライズ系で採用される。

アサーションの種類

  • 認証アサーション
  • 属性アサーション
  • 認可決定アサーション

SAMLの構成

  • IdP
    • Identity Provider
    • ユーザの属性情報の管理と認証を行う
  • SP
    • Service Provider
    • ユーザにサービスを提供する
    • IdPの公開鍵を保管し、IdPが発行するアサーションの署名を検証する

SAMLの仕組み

  • ID連携
    • IdPとSPは事前にアカウント情報を連携させる
  • IdPとSP間で行われる要求・応答メッセージ
    • SAMLRequest
    • SAMLResponse
  • IdPとSP間の送受信で行われるバインディング
    • SOAPバインディング
    • HTTP Redirect バインディング
    • HTTP POST バインディング
    • HTTP Artifact バインディング
  • Artifact
    • アサーションの参照情報
    • サイトの識別子
  • アサーション
    • 認証や認可に関する情報などを格納するXML形式の証明書
    • 認証に成功するとIdPが生成する

SAMLの認証フロー

  • IdP Initiated
  • SP Initiated

IdPサービス

  • Active Directory Federation Services - Microsoft
  • Azure Active Directory - Microsoft (IDaaS)

WebアプリケーションのSAML対応

OpenAMのFedlet

  • WebアプリケーションをSAMLのSPとして機能されている。 ツール

対応しているWebアプリケーション

関連サイト

関連用語