SAML ベースの SSO の技術概要

シングル サインオン(SSO)を利用すると、個々にユーザー名とパスワードを入力することなく多くのアプリケーションにアクセスできます。Security Assertion Markup Language(SAML)は、保護されたウェブドメイン間でユーザーの認証と認可のデータ交換を可能にする XML の標準規格です。

サービス プロバイダと ID プロバイダの役割

Google では SAML ベースの SSO サービスを提供しています。このサービスを利用することで、パートナー企業は、ホストされたユーザーが保護されたコンテンツにアクセスしようとするときに、認証と承認を行うことができます。Google はオンラインのサービス プロバイダとして機能し、Google カレンダーや Gmail などのサービスを提供します。Google パートナーはオンラインの ID プロバイダとして機能し、Google が提供するウェブ アプリケーションのユーザーを特定、認証、承認するために使用するユーザー名やパスワードおよびその他の情報を管理します。

多くのオープンソース商用の ID プロバイダは、Google での SSO の実装に役立ちます。

SAML 検証証明書

Google がサービス プロバイダになっているサードパーティの IdP を利用して SSO を設定するには、1 つ以上の検証証明書をアップロードする必要があります。証明書には、IdP からのログインを確認する公開鍵が含まれています。

  • 組織のサードパーティ SSO プロファイルを設定する場合は、検証証明書を 1 つアップロードします。
  • 新しい SAML SSO プロファイルを作成する場合は、2 つの証明書をアップロードして、証明書をローテーションできます。

通常、これらの証明書はご利用の IdP から取得します。ただし、自分で生成することもできます。

要件

  • 証明書は、公開鍵が埋め込まれた PEM または DER 形式の X.509 証明書である必要があります。
  • 公開鍵は DSA または RSA のアルゴリズムで作成する必要があります。
  • 証明書の公開鍵は、SAML レスポンスの署名に使用される秘密鍵と一致する必要があります。

SAML v2.0 の仕様