SAML とは?

業界標準のプロトコルである Security Assertion Markup Language (SAML) が、どのようにセキュリティ対策を強化し、サインイン エクスペリエンスを向上させるかを解説します。

SAML とは

SAML とは、1 組の資格情報を使用して 1 回サインインすれば複数のアプリケーションにアクセスできるようにするための基盤テクノロジです。サービス プロバイダーが運営するサイト、サービス、またはアプリへのアクセスを希望するユーザーがサインインするときに、Azure Active Directory (Azure AD) のような ID (アイデンティティ) プロバイダーがそのユーザーを確認し、その認証データをサービス プロバイダーに渡すときに SAML が使用されます。

SAML の用途

SAML は、企業のセキュリティを強化するとともに従業員、パートナー、顧客のサインイン プロセスをシンプルにするのに役立ちます。これを使用すると、シングル サインオンが可能になります。つまり、1 つのユーザー名とパスワードを使用して複数のサイト、サービス、アプリにアクセスすることができます。記憶が必要なパスワードの数が少なくなれば、ユーザーにとって便利なだけでなく、パスワードが盗まれるリスクも減ります。また、組織が使用する SAML 対応のアプリすべての認証に関するセキュリティ標準を設定することもできます。たとえば、オンプレミスのネットワークやアプリ (Salesforce、Concur、Adobe など) にアクセスするユーザーに、最初に多要素認証を要求することができます。 

 

SAML は、組織が次のようなユース ケースに対処するのに役立ちます。

 

ID (アイデンティティ) およびアクセス管理の一元化:

認証と認可を 1 つのシステムで管理するので、IT チームがユーザーのプロビジョニングと ID (アイデンティティ) エンタイトルメントに費やす時間を大幅に短縮できます。

 

ゼロ トラストを可能にする:

ゼロ トラストというセキュリティ戦略では、組織がすべてのアクセス要求を確認することと、機密情報へのアクセスを必要性のある人だけに制限することが必須となります。SAML を使用すると、多要素認証や条件付きアクセスなどのポリシーを、組織で使用されるすべてのアプリに対して設定することができます。また、より厳格なセキュリティ対策も実施できるようになります。たとえば、ユーザーの行動、デバイス、場所に基づいてリスクが高まったと判断されたときにパスワードのリセットを強制します。

 

従業員エクスペリエンスを豊かにする:

従業員のためにアクセスをシンプルにすることに加えて、IT チームはサインイン ページをブランディングしてすべてのアプリでエクスペリエンスを統一することができます。また、セルフサービスでパスワードを簡単にリセットできるので、従業員の時間の節約になります。

SAML プロバイダーとは

SAML プロバイダーは 1 つのシステムであり、ID (アイデンティティ) の認証と認可のデータを他のプロバイダーと共有します。SAML プロバイダーには、次の 2 つの種類があります。

  • ID (アイデンティティ) プロバイダー: ユーザーの認証と認可を行います。ユーザーが資格情報を入力するためのサインイン ページを用意します。また、セキュリティ ポリシーを施行します。たとえば、多要素認証やパスワードのリセットを必須にします。ユーザーが認可されると、ID (アイデンティティ) プロバイダーはそのデータをサービス プロバイダーに渡します。 
  • サービス プロバイダー: ユーザーがアクセスしようとするアプリや Web サイトのことです。個々のアプリに個別にユーザーをサインインさせる代わりに、サービス プロバイダーは、SAML 認可を信頼するように自身のソリューションを構成し、ID (アイデンティティ) の確認とアクセスの認可は ID (アイデンティティ) プロバイダーに任せます。 

SAML 認証のしくみ

SAML 認証では、サービス プロバイダーと ID (アイデンティティ) プロバイダーがサインインとユーザー データを共有します。この目的は、アクセスを要求している人が認証済みであることの確認です。これは一般的に、次の手順で行われます。

  1. 従業員は作業を開始するために、ID (アイデンティティ) プロバイダーが用意したログイン ページを使ってサインインします。
  2. ID (アイデンティティ) プロバイダーは、その従業員が名乗るとおりの人物であることを証明するために、さまざまな認証情報の組み合わせを確認します。たとえば、ユーザー名、パスワード、PIN、デバイス、生体認証データです。
  3. 従業員は、サービス プロバイダーのアプリ (たとえば Microsoft Word や Workday) を起動します。 
  4. サービス プロバイダーは ID (アイデンティティ) プロバイダーと通信して、その従業員がそのアプリへのアクセスを認可されていることを確認します。
  5. ID (アイデンティティ) プロバイダーから、認可と認証が送り返されます。
  6. 従業員はそのアプリに、2 回目のサインインは不要でアクセスできます。
     

SAML アサーションとは

SAML アサーションは、サインインする人が認証済みであることをサービス プロバイダーに対して認めるデータが記録されている XML ドキュメントです。

 

次の 3 つの種類があります。

  • 認証アサーション: そのユーザーが誰であるかを表します。この中には、その人がサインインした時間と、使用した認証の種類 (たとえばパスワードや多要素認証) も含まれます。
  • 属性アサーション: SAML トークンをプロバイダーに渡します。このアサーションには、ユーザーに関する特定のデータが含まれます。
  • 認可判断アサーション: そのユーザーが認証されたか、それとも資格情報の問題や、そのサービスを利用する許可がないなどの理由で拒否されたかをサービス プロバイダーに伝えます。 

SAML と OAuth

SAML と OAuth はどちらも、複数のサービスに個別にサインインすることなく簡単にアクセスできるようにするものですが、この 2 つのプロトコルはそれぞれ異なる技術とプロセスを使用しています。SAML では、同じ資格情報を使用して複数のサービスにアクセスできるようにするために XML が使用されますが、OAuth では認可データの受け渡しに JWT (JavaScript Object Notation) が使用されます。


OAuth では、サービスを利用する人が、そのサービスのための新しいユーザー名とパスワードを作成する代わりに、サードパーティの認証 (たとえば Google や Facebook のアカウント) を使用してサービスにサインインすることを選択します。認可の情報が伝達されますが、ユーザーのパスワードは保護されます。

企業における SAML の役割

SAML は、企業がハイブリッド ワークプレイスで生産性とセキュリティの両方を向上できるようにするのに役立ちます。リモート ワークが増えているため、リモート ワーカーが会社のリソースにどこからでも簡単にアクセスできるようにすることが重要ですが、適切なセキュリティ制御が実施されていなければ、アクセスの簡単さが侵害のリスクを高めることになります。SAML を利用すると、組織が従業員のサインイン プロセスを効率化すると同時に、従業員が使用するアプリに対して多要素認証や条件付きアクセスなどの強力なポリシーを適用することができます。


組織での導入を開始するには、初めに Azure AD のような ID (アイデンティティ) プロバイダー ソリューションを用意します。Azure AD は、組み込みのセキュリティでユーザーとデータを保護し、ID (アイデンティティ) の管理を単一のソリューションに統合します。セルフサービスとシングル サインオンで、従業員が簡単かつ便利に生産性を維持することができます。さらに Azure AD には、Zoom、DocuSign、SAP Concur、Workday、アマゾン ウェブ サービス (AWS) など、多数のアプリケーションとの SAML 統合があらかじめ組み込まれています。

Microsoft Security についてさらに学ぶ

よく寄せられる質問

|

SAML には、以下の構成要素があります。

  • ID (アイデンティティ) サービス プロバイダー: ユーザーの認証と認可を行います。ユーザーが資格情報を入力するためのサインイン ページを用意するとともに、セキュリティ ポリシーを施行します。たとえば、多要素認証やパスワードのリセットを必須にします。ユーザーが認可されると、そのデータが ID (アイデンティティ) プロバイダーからサービス プロバイダーに渡されます。
  • サービス プロバイダー: ユーザーがアクセスしようとするアプリや Web サイトのことです。個々のアプリに個別にユーザーをサインインさせる代わりに、サービス プロバイダーは、SAML 認可を信頼するように自身のソリューションを構成し、ID (アイデンティティ) の確認とアクセスの認可は ID (アイデンティティ) プロバイダーに任せます。
  • メタデータ: ID (アイデンティティ) プロバイダーとサービス プロバイダーがアサーションをどのように交換するかを表します。これにはエンドポイントとテクノロジも含まれます。
  • アサーション: サインインする人が認証済みであることをサービス プロバイダーに対して証明する認証データです。
  • 署名証明書: ID (アイデンティティ) プロバイダーとサービス プロバイダーの間の信頼を確立するために、アサーションがその 2 つのプロバイダー間を移動する間に操作されていないことを証明します。
  • システム クロック: サービス プロバイダーと ID (アイデンティティ) プロバイダーの時間が同じであることを確認します。この目的は、リプレイ攻撃から保護することです。

SAML には、組織、その従業員、およびパートナーにとって以下のような利点があります。

  • ユーザー エクスペリエンスの向上。SAML でシングル サインオンが可能になります。つまり、組織の従業員とパートナーは 1 回サインインすれば自分に必要なすべてのアプリにアクセスできるようになります。これで作業がしやすくなり、利便性も向上します。覚える必要のあるパスワードが少なくなり、ツールを切り替えるたびにサインインする必要がなくなるからです。
  • セキュリティの向上。パスワードの数が少なくなるため、アカウント侵害のリスクが縮小します。さらに、セキュリティ チームは SAML を使用して強力なセキュリティ ポリシーをすべてのアプリに適用することができます。たとえば、サインイン時に多要素認証を必須にすることや、条件付きアクセス ポリシーを適用して、ユーザーがアクセスできるアプリとデータを制限することができます。 
  • 統合型の管理。SAML を使用すると、ID (アイデンティティ) とセキュリティ ポリシーの管理を 1 つのソリューションでできるようになります。つまり、アプリごとに個別の管理コンソールを使用する必要はありません。これで、ユーザー プロビジョニングが大幅にシンプルになります。

SAML は、Azure Active Directory (Azure AD) のような ID (アイデンティティ) プロバイダーからサービス プロバイダー (たとえば SaaS アプリ) に認証データを渡すための、オープン標準の XML 技術です。

 

シングル サインオンとは、一度サインインすれば複数の異なる Web サイトやアプリにアクセスできるようになることです。SAML でシングル サインオンを実現できますが、他のテクノロジでシングル サインオンをデプロイすることもできます。

LDAP (Lightweight Directory Access Protocol) は、ユーザー ID (アイデンティティ) の認証と認可に使用される ID (アイデンティティ) 管理プロトコルです。多くのサービス プロバイダーが LDAP をサポートしているため、シングル サインオンに適したソリューションと言えますが、旧式のテクノロジであるため、Web アプリケーションではあまりうまく機能しません。

 

これよりも新しいテクノロジである SAML は、Web とクラウドの多数のアプリケーションで利用できるため、集中型 ID (アイデンティティ) 管理のためのより一般的な選択肢となっています。

多要素認証 (MFA) は、本人であることを証明するために複数の要素を使用することをユーザーに要求するセキュリティ対策です。一般的には、その個人が持っているもの (たとえばデバイス) に加えて、その人が知っているもの (たとえばパスワードや PIN) を要求します。SAML を利用すると、技術チームが多要素認証を複数の Web サイトやアプリに適用することができます。SAML と統合されたすべてのアプリにこのレベルの認証を適用することも、多要素認証を一部のアプリだけに適用して他のアプリには適用しないことも可能です。