SAMLとは何か、どのように機能するのか?

Security Assertion Markup Language (SAML) は、ID プロバイダ (IdP) がサービス プロバイダ (SP) に認証クレデンシャルを渡すためのオープン スタンダードです。 この専門用語が意味するのは、多くの異なる Web サイトにログインするために、1 組の認証情報を使用できるということです。 電子メール、顧客関係管理 (CRM) ソフトウェア、Active Directory などへの個別のログインを管理するよりも、ユーザーごとに 1 つのログインを管理する方がはるかに簡単です。

SAML トランザクションでは、拡張マークアップ言語 (XML) を使用して、ID プロバイダとサービス プロバイダ間の標準的な通信が行われます。

Get the Free Pen Testing Active Directory Environments EBook

“This really opened my eyes in a way defensive work did never” (AD security in a way defensive work didn’t do).

OASIS Consortium は、2005 年に SAML 2.0 を承認しました。 この標準は 1.1 から大幅に変更され、バージョンに互換性がないほどです。

SAML はシングルサインオン (SSO) を可能にします。これは、ユーザーが一度ログインすれば、同じ認証情報を再利用して他のサービスプロバイダにログインできることを意味します。

SAMLは、IDプロバイダとサービスプロバイダが互いに別々に存在できるようにするソリューションを提供し、ユーザー管理を一元化してSaaSソリューションへのアクセスを提供します。

SAMLは、IDプロバイダとサービスプロバイダ間でユーザー認証と承認を渡すための安全な方法を実装します。 ユーザーが SAML 対応アプリケーションにログインすると、サービスプロバイダは適切な ID プロバイダから認証を要求する。

SAML 認証は、ユーザーの ID と資格情報(パスワード、2 要素認証など)を確認するプロセスです。 SAML 認証は、認証されたユーザーにどのようなアクセスを許可するかをサービスプロバイダに伝えます。

SAML プロバイダとは

SAML プロバイダの 2 種類
SAML プロバイダは、ユーザーが必要とするサービスにアクセスできるよう支援するシステムです。

サービス プロバイダは、ユーザーに承認を与えるために ID プロバイダからの認証が必要です。

ID プロバイダは、エンド ユーザーが本人であるという認証を行い、そのデータをサービスに対するユーザーのアクセス権とともにサービス プロバイダに送信します。

Microsoft Active Directory や Azure は一般的な ID プロバイダです。Salesforce やその他の CRM ソリューションは通常サービス プロバイダで、ユーザー認証のために ID プロバイダに依存しています。

SAML アサーションとは何ですか

SAML アサーションは、ID プロバイダがサービス プロバイダに送る、ユーザー認証を含む XML ドキュメントです。

  • 認証アサーションは、ユーザーの識別を証明し、ユーザーがログインした時刻と使用した認証方法(例, SAML 属性は、ユーザーに関する情報を提供する特定のデータ部分である。
  • 承認決定アサーションは、ユーザーがサービスの使用を許可されているか、またはパスワードの失敗やサービスに対する権利の欠如により識別プロバイダが要求を拒否したかを言う。

SAMLはどのように機能するか

SAMLは、ユーザー、ログインおよび属性に関する情報を識別プロバイダとサービスプロバイダ間で渡すことにより機能する。 各ユーザーは、ID プロバイダでシングルサインオンに一度ログインし、その後、ユーザーがこれらのサービスにアクセスしようとすると、ID プロバイダは SAML 属性をサービスプロバイダに渡すことができる。 サービス・プロバイダは、識別プロバイダに対して認証と認可を要求する。

各IDプロバイダーとサービスプロバイダーは、SAMLの設定に合意する必要があります。

SAML 例手順

SAML 例

  1. Frodo(ユーザー)は朝一番に SSO にログインします
  2. Frodo は次に彼の CRM への Web ページを開こうと試みました。
  3. CRM(サービスプロバイダー)は、IDプロバイダーにフロドの資格情報を確認します。
  4. IDプロバイダーは、承認および認証メッセージをサービスプロバイダーに送り返し、フロドはCRMにログインできるようになります。
    フロドはCRMを使用して仕事をこなすことができます。
  5. 「厳しいプロジェクトに8人のボランティアが必要です。

SAML vs. OAuth

OAuth は少し新しい規格で、合理的なインターネット ログインを可能にするために Google と Twitter によって共同開発されました。 OAuth は、ログイン情報を共有するために SAML と同様の方法論を使用します。 SAML は、SSO ログインをより安全に保つために、企業により多くのコントロールを提供しますが、OAuth はモバイルに適しており、JSON を使用します。

Facebook と Google は、他のインターネット サイトにログインするために使用する OAuth プロバイダーです。

SAML チュートリアル

SAML を実装する方法を正確に調べるのに役立つリソース:

  • Salesforce に SAML を設定する
  • SAML IDP として OKTA を設定する
  • OneLogin には 5 種類のプログラミング言語での例がある

SAML と SSO はあらゆる企業のサイバーセキュリティ戦略で重要なものです。 アイデンティティ管理のベスト プラクティスでは、ユーザー アカウントは、ユーザーが仕事をするために必要なリソースのみに制限され、中央で監査および管理されることが必要です。 SSO ソリューションを使用すると、1 つのシステムからアカウントを無効にして、利用可能なすべてのリソースへのアクセスを一度に削除することができ、データを盗難から保護できます。