Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】【SAML】SAMLとかSSOってよく聞くけどなに??

2025年10月03日に「Qiita」が公開したITニュース「【SAML】SAMLとかSSOってよく聞くけどなに??」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

SAML(Security Assertion Markup Language)は、異なるサービス間で認証情報を安全に交換する技術規格。SSO(シングルサインオン)は、SAMLなどを利用し一度のログインで複数のシステムを使える機能だ。本記事では、具体的な実装ではなく、SAMLやSSOの基本的な概念をシステムエンジニアを目指す初心者向けに分かりやすく解説する。

ITニュース解説

複数のサービスを利用する現代において、それぞれのサービスで異なるIDとパスワードを管理し、毎回ログイン操作を行うのは非常に手間がかかり、セキュリティリスクも伴う問題だ。このような課題を解決するのがシングルサインオン(SSO)である。SSOとは、一度の認証で複数の異なるサービスやアプリケーションにログインできる仕組みを指す。これにより、ユーザーは複数のパスワードを覚える必要がなくなり、ログインの手間も大幅に削減されるため、利便性が大きく向上する。また、企業にとっても、ID管理の煩雑さが減り、セキュリティポリシーの一元化がしやすくなるというメリットがある。

SSOを実現するための技術はいくつか存在するが、その中でも特に広く利用されているのがSAML(Security Assertion Markup Language)である。SAMLは、セキュリティに関する認証情報や属性情報を、Webブラウザを介して安全に交換するためのXMLベースの標準規格である。SAMLの目的は、異なるドメイン間での認証連携を可能にすることにある。つまり、あるサービスで認証された情報を、別のサービスが信頼して受け入れるための「共通の言語」のような役割を果たす。

SAMLが動作する上で重要なのは、IDプロバイダー(IdP)とサービスプロバイダー(SP)という二つの役割を理解することだ。IDプロバイダーは、ユーザーの認証を行う主体であり、ユーザーが「何者であるか」を証明する役割を担う。例えば、会社の認証システムや、GoogleやMicrosoftのような大規模な認証サービスなどがこれにあたる。一方、サービスプロバイダーは、ユーザーが利用したいサービスを提供する主体である。SaaS(Software as a Service)形式で提供される各種の業務アプリケーションなどがこれに該当する。ユーザーはSPを利用したいが、認証はIdPが行う、という関係性でSSOが実現される。

ユーザーがサービスプロバイダー(SP)にアクセスしようとするところからSAMLの認証フローは始まる。SPは、ユーザーがまだ認証されていないことを確認すると、ユーザーをIDプロバイダー(IdP)へとリダイレクトする。このとき、SPはIdPに対して、ユーザーを認証してほしいというリクエストを送る。IdPは、ユーザーからの認証リクエストを受け取ると、自身の認証システムを使ってユーザーのIDとパスワードを確認し、認証処理を行う。ユーザーが正しく認証されると、IdPは「SAMLアサーション」と呼ばれるXML形式のデータを生成する。このSAMLアサーションには、認証が成功したこと、ユーザーの識別情報、その他の必要な属性情報などが記述されている。IdPは、このSAMLアサーションを、ユーザーのWebブラウザを介してサービスプロバイダー(SP)に送り返す。

SPは、IdPから受け取ったSAMLアサーションを受け取ると、その内容を検証する。この検証は、SAMLアサーションが本当に信頼できるIdPから発行されたものであり、途中で改ざんされていないことを確認するために非常に重要である。具体的には、SAMLアサーションにはデジタル署名が施されており、SPはその署名を検証することで、データの真正性と完全性を確認する。検証が成功すれば、SPはSAMLアサーションに記述された情報に基づいて、ユーザーを自社のサービスにログインさせる。これにより、ユーザーはSPのサービスをスムーズに利用できるようになる。この一連のやり取りにおいて、ユーザーはIdPで一度認証を行うだけで、SPでの個別のログイン操作が不要になるのだ。

SAMLを利用する最大のメリットは、やはりユーザーの利便性向上である。複数のサービスにアクセスする際のパスワード管理やログインの手間が劇的に軽減される。企業にとっては、セキュリティの強化という側面も大きい。認証を一元化することで、セキュリティポリシーをIdP側で集中管理できるようになり、サービスごとのパスワード強度管理などの負担が軽減される。また、従業員の入社・退社時のアカウント管理もIdPで一元的に行えるため、管理工数の削減にもつながる。

しかし、SAMLの導入にはいくつかの課題も存在する。設定が比較的複雑であることがその一つだ。IDプロバイダーとサービスプロバイダーの間で、さまざまな設定項目(エンドポイントURL、公開鍵証明書など)を正確に合わせる必要があるため、専門的な知識が求められる場合がある。また、一度IdPがダウンしてしまうと、それに連携しているすべてのSPにログインできなくなるという単一障害点のリスクも考慮する必要がある。

このように、SAMLは、現代の多様なWebサービスを利用する上で、ユーザーの利便性と企業のセキュリティ・管理効率を向上させるために不可欠な技術である。システムエンジニアを目指す上で、SSOとSAMLの基本的な概念、その仕組み、そしてメリット・デメリットを理解しておくことは、クラウドサービス連携や企業システムの設計を考える上で非常に役立つだろう。

関連コンテンツ

関連IT用語