SAMLによる認証・認可連携
SAML(Security Assertion Markup Language)は、XMLをベースとした標準規格であり、異なるインターネットドメインの間で認証情報を交換してシングルサインオンを実現するための仕組みである。標準化団体のOASISが策定したもので、認証の結果に加えて属性情報や認可に関する情報も安全に伝えられる点が特徴である。
企業が社内の認証基盤を使って外部のクラウドサービスへログインさせる場面など、組織の境界を越えた利用者認証の連携にSAMLは用いられる。
認証の仕組み
SAMLでは、利用者を認証する側をIdP(Identity Provider)、認証結果を受けてサービスを提供する側をSP(Service Provider)と呼ぶ。利用者がSPのサービスへアクセスすると、SPは認証を求める要求をブラウザ経由でIdPへ送る。IdPは利用者を認証し、その結果を記したアサーションを発行して、ブラウザを通じてSPへ返す。
IdPが認証を担うことで、SPは利用者のパスワードを直接扱わずに済み、認証の仕組みを個々のサービスで持つ必要がなくなる。アサーションはXML形式で表現されるため、SPは受け取った内容を構造に沿って読み取り、必要な情報を取り出して利用する。
アサーションの検証と利用の許可
アサーションは、IdPが利用者の認証結果を証明するための情報である。一般に電子署名が付与されており、SPはその署名を確認することで、内容が改ざんされていないことや発行元のIdPが信頼できることを判断する。
検証に問題がなければ、SPは利用者にサービスへのアクセスを許可する。SPが自ら利用者の認証を行わなくても、IdPの認証結果を信頼してアクセスを受け入れられるのは、この検証の仕組みがあるからである。また、SPはアサーションに含まれる属性情報をもとに、利用者に提供するサービスの範囲を決めることもできる。
この節の続き
- 実務の場面と導入の利点
- 試験で問われやすい区別
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む