パートナーが運営する SAML シングル サインオン(SSO)サービス

SAML(Security Assertion Markup Language)とは、セキュアなウェブドメイン間でユーザーの認証および承認データを交換するための XML ベースの標準規格のことです。SAML を使用することで、オンラインのサービス プロバイダは別のオンライン ID プロバイダと通信し、セキュアなコンテンツにアクセスしようとしているユーザーを認証することができます。

Google では、パートナー企業がシングル サインオン(SSO)サービスを使って、ウェブベースのアプリケーション(Gmail や Google カレンダーなど)にアクセスできるホスト型ユーザー アカウントの承認および認証を完全に管理できるようにしています。SAML モデルを使用することで、Google がサービス プロバイダとして Gmail やスタートページなどのサービスを提供することになります。Google パートナーは ID プロバイダとして機能し、Google が提供するウェブ アプリケーションのユーザー認証に使用されるユーザー名やパスワードおよびその他の情報を管理します。Google サービスとの SSO の実装に役立つオープンソースおよび商用 ID プロバイダ ソリューションは、多数用意されています。

重要なのは、SSO がウェブ アプリケーションにのみ適用されるという点です。たとえば、デスクトップ クライアントからの Google サービスへのアクセス(Outlook から Gmail への POP アクセスなど)をユーザーに許可したい場合は、利用可能なパスワードをユーザーに提供し、それらのパスワードを Admin SDK の Directory API を使って内部ユーザー データベースと同期する必要があります。なお、管理コントロール パネルのログイン URL を使用したユーザー認証の仕組みを理解していると、パスワード同期の際に役立ちます。

Google の SSO サービスは SAML バージョン 2.0 の仕様に基づいています。SAML バージョン 2.0 は複数の有名なベンダーによってサポートされています。

パートナーが運営する SAML ベースの SSO について

ここでは、パートナーが運営する SAML ベースの SSO サービスを介して Google アプリケーションにログインする仕組みを説明します。

下記の図 1 は、ユーザーが SAML ベースの SSO サービスを介して Gmail などの Google アプリケーションにログインする過程を表しています。図に続くリストでは、各ステップをより詳細に説明しています。

注: このプロセスが開始される前に、パートナーは Google に SSO サービスの URL とともに Google が SAML レスポンスを確認するのに使う公開鍵を提供しなければなりません。

図 1: パートナーが運営する SAML ベースの SSO サービスを使用して Google にログインする

この図では以下のステップが解説されています。

  1. ユーザーが Google アプリケーション(Gmail やスタートページ、その他の Google サービスなど)へのアクセスを試みます。
  2. Google が SAML 認証リクエストを生成します。SAML リクエストはエンコードされ、パートナーの SSO サービスの URL に埋め込まれます。SSO URL には RelayState パラメータも埋め込まれます。このパラメータは、ユーザーがアクセスしようとしている Google アプリケーションのエンコードされた URL を含み、変更や検査なしで送り返される不透明な識別子です。
  3. Google がユーザーのブラウザにリダイレクトを送信します。リダイレクト URL にはエンコードされた SAML 認証リクエストが含まれ、これはパートナーの SSO サービスに送信されます。
  4. パートナーは SAML リクエストをデコードし、Google の ACS(Assertion Consumer Service)とユーザーの宛先 URL(RelayState パラメータ)のために URL を抽出してから、ユーザーを認証します。パートナーは、有効なログイン認証情報を要求するか、有効なセッション クッキーを確認してユーザーを認証します。
  5. パートナーは、認証されたユーザーのユーザー名が含まれる SAML レスポンスを生成します。このレスポンスは、SAML 2.0 の仕様に従ってパートナーの DSA または RSA の公開鍵と秘密鍵でデジタル署名されます。
  6. パートナーは SAML レスポンスと RelayState パラメータをエンコードして、その情報をユーザーのブラウザに返します。パートナーが提供するメカニズによって、ブラウザはその情報を Google の ACS に転送できます。たとえば、パートナーは SAML レスポンスと宛先 URL をフォームに埋め込み、クリックすると Google にフォームが送信されるボタンを表示することができます。また、自動的にフォームを Google に送信する JavaScript をページに含めることも可能です。
  7. Google の ACS は、パートナーの公開鍵を使用して SAML レスポンスを確認します。レスポンスが正常に確認されると、ACS は宛先 URL にユーザーをリダイレクトします。
  8. ユーザーは宛先 URL にリダイレクトされ、Google にログインします。
この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。
検索
検索をクリア
検索終了
Google アプリ
メインメニュー
ヘルプセンターを検索
false