SAML(サムル)
SAML(サムル)とは、「Security Assertion Markup Language(セキュリティ アサーション マークアップ ランゲージ)」の略で、異なるインターネットドメイン間で、ユーザーの認証情報(「誰がログインしたか」という情報)を安全にやり取りするためのXMLベースの標準規格です。
最も一般的な利用例は「シングルサインオン(SSO)」の実現です。SAMLを使うことで、ユーザーは一度ログインするだけで、複数の異なるウェブサービスやアプリケーションにログインできるようになります。
例えるなら、空港でパスポート(ID)と搭乗券(認証情報)を見せるだけで、複数の異なる航空会社(サービスプロバイダー)の飛行機に乗れるようなものです。毎回、新しい飛行機に乗るたびに身分証明書を提示する手間が省けます。
SAMLの主な構成要素
SAMLによる認証連携には、主に以下の2つの要素が登場します。
- IdP(Identity Provider:IDプロバイダー):
- ユーザーの認証を行うサービス(例:会社のログインシステム、Google Workspaceなど)。
- 「このユーザーは確かに本人です」という認証情報を発行します。Google WorkspaceをIdPとして設定することも多いです。
- SP(Service Provider:サービスプロバイダー):
- ユーザーが利用したいウェブサービスやアプリケーション(例:勤怠管理システム、経費精算システム、クラウドストレージなど)。
- IdPから受け取った認証情報に基づいて、ユーザーのアクセスを許可します。
SAML認証の仕組み(簡単な流れ)
- ユーザーがSPにアクセスしようとします。
- SPはユーザーが未認証であることを確認し、IdPに対して認証要求を送ります。
- ユーザーはIdPにリダイレクトされ、そこでログイン(IDとパスワードの入力など)を行います。
- IdPはユーザーの認証が成功したことを確認し、「SAMLアサーション」と呼ばれる認証情報(このユーザーは誰で、認証済みである、などの情報)をSPに送り返します。
- SPはSAMLアサーションを受け取り、それが信頼できるIdPからのものであることを確認し、ユーザーのアクセスを許可します。
この際、ユーザーのパスワードがSP側に渡されることはなく、認証情報は暗号化されたXML形式でやり取りされるため、高いセキュリティが保たれます。
SAMLのメリット
- ユーザーの利便性向上: 一度ログインすれば複数のサービスが利用できるため、サービスごとにIDとパスワードを入力する手間が省け、パスワード管理の負担も軽減されます。
- セキュリティの向上: 複数のサービスで同じパスワードを使い回すリスクが減り、IdP側で強力な認証(多要素認証など)を集中管理できるため、全体的なセキュリティレベルが高まります。
- 管理コストの削減: IT部門は、ユーザーのパスワード忘れによる問い合わせ対応や、複数のシステムのアクセス管理にかかる手間を削減できます。
- クラウドサービスとの親和性: 多くのクラウドサービスがSAMLをサポートしているため、企業が様々なクラウドサービスを導入する際に、スムーズな認証連携が可能です。
Google Workspaceは、自らがIdPとして機能し、他のSAML対応サービスとのSSO連携を容易に実現できるため、企業のセキュリティと利便性向上に貢献します。