SAML認証 【SAML authentication】
概要
SAML認証(SAML authentication)とは、システム間で利用者の認証や権限に関する情報を交換するSAMLを用いてユーザー認証を行うこと。一度の認証で様々なシステムを横断的に利用できる「シングルサインオン」(SSO)の実装などに用いられる。SAML(Security Assertion Markup Language)はXMLベースのデータ形式の標準の一つで、複数の互いに独立したシステムの間で、利用者の認証要求や認証の可否、利用者の属性、認可された権限などについての情報(「アサーション」と呼ばれる)をやり取りするためのデータ形式を定めている。
SAML認証では、利用者は自らがアカウントを保有しているシステム(IdP:Identity Provider)にログインすると、連携している他のシステム(SP:Service Provider)にもログインすることができる。利用者はSPにアカウントを作る必要はなく、IdPからSPにパスワードなどの秘密の情報が送られることもない。
SAML認証の流れ
認証の流れにはいくつかの類型があるが、よく用いられるのは利用者がSPにアクセスし、SPがIdPに資格情報を請求する方式である。利用者がSPにアクセスし、自分がアカウントを持つIdPを指定すると、SPはIdPに通知を送り、利用者にIdPからの確認画面を表示する。
そこで利用者がIdPにログインし、SPに連携を許可する操作を行えば、IdPはSAMLによるアサーション情報を作成してSPに送り、利用者はSPでもログイン済みの状態となる。一連の流れでIdPのログインに必要なパスワードなどがSPに通知されることはなく、SPが悪意ある攻撃者であったり、攻撃を受けて情報漏洩などを起こしてもIdPのアカウント情報が被害に遭うことはない。
(2024.7.19更新)