TL;DR

認証・属性・認可に関する情報を XML でエンコードした「アサーション」と、それを伝えるプロトコルの構文と意味を定めた標準規格。OASIS(Organization for the Advancement of Structured Information Standards)が策定した。主に SSO や認証連携(フェデレーション)に使う。

仕組み

SAML には 3 つの登場人物がいる。Subject(Principal)は認証される主体で、ユーザやコンピュータなど、ドメイン内で ID を持つエンティティである。IdP は ID を管理し、ユーザを認証してアサーションを発行する。SP(Service Provider)は Subject がアクセスしたいサービスで、受け取ったアサーションを検証してアクセスを許可する。

構成要素は、アサーション、プロトコル、バインディング、プロファイルの 4 つである。アサーションは、IdP が認証・属性・認可のデータを SP に送るための XML で、IdP が署名する。認証ステータスやタイムスタンプ、名前、メールアドレスなどの属性を含み、次の 3 種類のステートメントで構成される。

  • 認証ステートメント(<AuthnStatement>)
  • 属性ステートメント(<AttributeStatement>)
  • 認可判断ステートメント(<AuthzDecisionStatement>)

関連

出典