Active Directory のシングル サインオン

Last reviewed 2023-02-27 UTC

この記事では、Microsoft Active Directory フェデレーション サービス(AD FS)と SAML フェデレーションを使用して、Active Directory 環境と Cloud Identity または Google Workspace アカウントの間のシングル サインオンを設定する方法について説明します。

この記事は、Active Directory ID 管理を Google Cloud に拡張する方法を理解している状態であり、ユーザー プロビジョニングを構成済みであることを前提としています。また、この記事では、Windows Server 2016 以降の Windows Server で稼働している AD FS 4.0 サーバーがあることを前提としています。

このガイドに従うには、Active Directory Domain Services と AD FS に関する知識が必要です。また、特権管理者権限を持つ Cloud Identity または Google Workspace のユーザーと、AD FS サーバーへの管理者権限を持つ Active Directory のユーザーが必要です。

目標

  • Cloud Identity または Google Workspace が ID プロバイダとして使用できるように AD FS サーバーを構成する。
  • Active Directory と Cloud Identity または Google Workspace の間の ID に一致する要求発行ポリシーを作成する。
  • 認証を AD FS に委任するように Cloud Identity または Google Workspace アカウントを構成する。

費用

Cloud Identity Free Edition を使用している場合、この記事では Google Cloud の課金対象となるコンポーネントを使用しません。

始める前に

  1. AD FS サーバーが Windows Server 2016 以降で稼働していることを確認します。以前のバージョンの Windows Server と AD FS を使用してシングル サインオンを構成することもできますが、必要な構成手順はこの記事とは異なります。
  2. Active Directory ID 管理を Google Cloud に拡張する方法を十分に理解します。
  3. Active Directory と Cloud Identity または Google Workspace の間のユーザー プロビジョニングを構成します。
  4. AD FS が単一障害点にならないよう、サーバー ファーム構成での AD FS のセットアップを検討します。シングル サインオンを有効にした後、AD FS の可用性により、ユーザーが Google Cloud コンソールにログインできるかどうかが決まります。

シングル サインオンについて

Google Cloud Directory Sync を使用することで、すでにユーザーの作成とメンテナンスが自動化され、ライフサイクルが Active Directory のユーザーに結び付けられました。

Google Cloud Directory Sync ではユーザー アカウントの詳細がプロビジョニングされますが、パスワードは同期されません。ユーザーが Google Cloud で認証を必要とするときは常に Active Directory に認証を委任する必要があります。これは、AD FS と Security Assertion Markup Language(SAML)プロトコルが使用されます。この設定により、Active Directory が唯一、ユーザー認証情報にアクセスして既存のポリシーや多要素認証(MFA)メカニズムを適用することが確実になります。さらに、この設定ではオンプレミス環境と Google の間でのシングル サインオンも確立されます。

シングル サインオンの詳細については、シングル サインオンをご覧ください。

AD FS の構成

Cloud Identity または Google Workspace でシングル サインオンを有効にする前に、AD FS を構成する必要があります。

証明書利用者信頼を作成する

次の手順で新しい証明書利用者信頼を作成します。

  1. AD FS サーバーにログインして、AD FS 管理 MMC スナップインを開きます。
  2. [AD FS] > [証明書利用者信頼] を選択します。
  3. [アクション] ペインで、[証明書利用者信頼の追加] をクリックします。
  4. ウィザードの [ようこそ] のページで、[要求に対応する] を選択してから [開始] をクリックします。
  5. [データソースの選択] ページで、[証明書利用者についてのデータを手動で入力する] をオンにして [次へ] をクリックします。
  6. [表示名の指定] ページで Google Cloud などの名前を入力し、[次へ] をクリックします。
  7. [証明書の構成] ページで [次へ] をクリックします。
  8. [URL の構成] ページで [SAML 2.0 WebSSO プロトコルのサポートを有効にする] をオンにして、次の SSO サービス URL を入力します。

    https://www.google.com/a/DOMAIN/acs

    DOMAIN を Cloud Identity アカウントまたは Google Workspace アカウントのプライマリ ドメインに置き換え、[次へ] をクリックします。

    SAML 2.0 WebSSO プロトコルのサポートを有効にする

  9. [識別子の構成] ページで、次の 2 つの識別子を追加します。

    • google.com/a/DOMAINDOMAIN は、Cloud Identity または Google Workspace アカウントのプライマリ ドメインに置き換えます。
    • google.com

    [次へ] をクリックします。

    証明書利用者信頼 ID

  10. [アクセス制御ポリシーの選択] ページで適切なアクセス ポリシーを選択し、[次へ] をクリックします。

  11. [信頼の追加の準備完了] ページで、設定内容を確認してから [次へ] をクリックします。

  12. 最後のページで、[このアプリケーションの要求発行ポリシーを構成する] チェックボックスをオフにしてからウィザードを閉じます。

    証明書利用者信頼のリストに、新しく作成したエントリが表示されます。

ログアウト URL を構成する

ユーザーが複数のアプリケーションでシングル サインオンを使用できるようにする場合は、ユーザーが複数のアプリケーションでログアウトできるようにすることも重要です。

  1. AD FS 管理コンソールで、[証明書利用者信頼] にリストされている前の手順で作成した信頼を右クリックし、[プロパティ] をクリックします。
  2. [エンドポイント] タブで、[SAML の追加] をクリックします。
  3. [エンドポイントの追加] ダイアログで、次の設定を構成します。

    1. エンドポイントの種類: SAML ログアウト
    2. バインディング: POST
    3. 信頼できる URL: https://ADFS/adfs/ls/?wa=wsignout1.0

      ADFS は、AD FS サーバーの完全修飾ドメイン名に置き換えてください。

      エンドポイントの追加。

  4. [OK] をクリックします。

  5. [OK] をクリックしてダイアログを閉じます。

要求のマッピングを構成する

AD FS はユーザーを認証すると、SAML アサーションを発行します。このアサーションは、認証が正常に行われた証拠としての役割を果たします。アサーションでは、認証されたユーザーが識別されている必要があります。その目的を果たすのが、NameID 要求です。

Google ログインで NameID とユーザーを関連付けるには、NameID にそのユーザーのメインのメールアドレスを含める必要があります。Active Directory と Cloud Identity または Google Workspace 間のユーザーのマッピング方法に応じて、NameID には UPN または Active Directory ユーザーのメールアドレスを含めて、必要に応じてドメイン置換を適用する必要があります。

UPN

  1. 証明書利用者信頼のリストで、作成した信頼を選択し、[要求発行ポリシーの編集] をクリックします。
  2. [規則の追加] をクリックします。
  3. [Add transform claim rule] ウィザードの [Choose rule type] ページで、[Transform an incoming claim] を選択して、[次へ] をクリックします。
  4. [要求規則の構成] ページで、次の設定を構成します。

    • 要求規則名: Name Identifier
    • 入力方向の要求の種類: UPN
    • 出力方向の要求の種類: 名前 ID
    • Outgoing name ID format: メール
  5. [すべての要求値をパス スルーする] を選択し、[終了] をクリックします。

  6. [OK] をクリックして、要求発行ポリシーのダイアログを閉じます。

UPN: ドメイン置換

  1. 証明書利用者信頼のリストで、作成した信頼を選択し、[要求発行ポリシーの編集] をクリックします。
  2. [規則の追加] をクリックします。
  3. [Add transform claim rule] ウィザードの [Choose rule type] ページで、[Transform an incoming claim] を選択して、[次へ] をクリックします。
  4. [要求規則の構成] ページで、次の設定を構成します。

    • 要求規則名: Name Identifier
    • 入力方向の要求の種類: UPN
    • 出力方向の要求の種類: 名前 ID
    • Outgoing name ID format: メール
  5. [入力方向の電子メール サフィックスの要求を新しい電子メール サフィックスに置き換える] を選択し、以下の設定を構成します。

    • New e-mail suffix: Cloud Identity または Google Workspace アカウントで使用されるドメイン名。
  6. [完了] をクリックしてから [OK] をクリックします。

メールアドレス

  1. 証明書利用者信頼のリストで、作成した信頼を選択し、[要求発行ポリシーの編集] をクリックします。
  2. 次の手順でメールアドレスを検索するルールを追加します。
    1. 表示されるダイアログで、[規則の追加] をクリックします。
    2. [LDAP 属性を要求として送信] をオンにしてから [次へ] をクリックします。
    3. 次のページでは、以下の設定を適用します。
      1. 要求規則名: Email address
      2. 属性ストア: Active Directory
    4. LDAP 属性マッピングのリストに行を追加します。
      1. LDAP 属性: E-Mail-Addresses
      2. 出力方向の要求の種類: メールアドレス
    5. [完了] をクリックします。
  3. 次の手順で別のルールを追加して、NameID を設定します。

    1. [規則の追加] をクリックします。
    2. [Add transform claim rule] ウィザードの [Choose rule type] ページで、[Transform an incoming claim] を選択して、[次へ] をクリックします。
    3. [要求規則の構成] ページで、次の設定を構成します。

      • 要求規則名: Name Identifier
      • 入力方向の要求の種類: メールアドレス
      • 出力方向の要求の種類: 名前 ID
      • Outgoing name ID format: メール
    4. [すべての要求値をパス スルーする] を選択し、[終了] をクリックします。

    5. [OK] をクリックして、要求発行ポリシーのダイアログを閉じます。

メール: ドメイン置換

  1. 証明書利用者信頼のリストで、作成した信頼を選択し、[要求発行ポリシーの編集] をクリックします。
  2. 次の手順でメールアドレスを検索するルールを追加します。
    1. 表示されるダイアログで、[規則の追加] をクリックします。
    2. [LDAP 属性を要求として送信] をオンにしてから [次へ] をクリックします。
    3. 次のページでは、以下の設定を適用します。
      1. 要求規則名: Email address
      2. 属性ストア: Active Directory
    4. LDAP 属性マッピングのリストに行を追加します。
      1. LDAP 属性: E-Mail-Addresses
      2. 出力方向の要求の種類: メールアドレス
    5. [完了] をクリックします。
  3. 次の手順で別のルールを追加して、NameID 値を設定します。

    1. [規則の追加] をクリックします。
    2. [Add transform claim rule] ウィザードの [Choose rule type] ページで、[Transform an incoming claim] を選択して、[次へ] をクリックします。
    3. [要求規則の構成] ページで、次の設定を構成します。

      • 要求規則名: Name Identifier
      • 入力方向の要求の種類: メールアドレス
      • 出力方向の要求の種類: 名前 ID
      • Outgoing name ID format: メール
  4. [入力方向の電子メール サフィックスの要求を新しい電子メール サフィックスに置き換える] を選択し、以下の設定を構成します。

    • New e-mail suffix: Cloud Identity または Google Workspace アカウントで使用されるドメイン名。
  5. [完了] をクリックして、[OK] をクリックします。

AD FS トークン署名証明書をエクスポートする

AD FS はユーザーの認証後に、SAML アサーションを Cloud Identity または Google Workspace に渡します。Cloud Identity と Google Workspace がそのアサーションの整合性と信頼性を検証できるように、AD AF は特別なトークン署名鍵を使用してアサーションに署名し、証明書を提供します。Cloud Identity または Google Workspace は、この証明書を使用して署名の検証を行います。

ここで、AD FS から署名証明書をエクスポートします。

  1. AD FS 管理コンソールで、[サービス] > [証明書] をクリックします。
  2. [トークン署名] にリストされている証明書を右クリックし、[証明書の表示] をクリックします。
  3. [詳細] タブを選択します。
  4. [Copy to File] をクリックして証明書エクスポート ウィザードを開きます。
  5. [Welcome to the certificate export wizard] で [次へ] をクリックします。
  6. [Export private key] ページで [No, do not export the private key] を選択します。
  7. [Export file format] ページで [Base-64 encoded X.509 (.CER)] を選択して、[次へ] をクリックします。
  8. [File to export] ページでローカル ファイル名を入力して [次へ] をクリックします。
  9. [完了] をクリックして、ダイアログを閉じます。
  10. エクスポートされた証明書をローカル パソコンにコピーします。

Cloud Identity アカウントまたは Google Workspace アカウントを構成する

AD FS の構成が完了したら、Cloud Identity または Google Workspace アカウントでシングル サインオンを構成できます。

  1. 管理コンソールを開いて、[サードパーティの IdP による SSO] に移動します。

    [サードパーティの IdP による SSO] に移動

  2. [SSO プロファイルを追加] をクリックします。

  3. [サードパーティの ID プロバイダで SSO を設定する] を [有効] に設定します。

  4. 次の設定を入力します。すべての URL で、ADFS を AD FS サーバーの完全修飾ドメイン名に置き換えてください。

    1. ログインページの URL: https://ADFS/adfs/ls/
    2. ログアウト ページの URL: https://ADFS/adfs/ls/?wa=wsignout1.0
    3. パスワード変更用 URL: https://ADFS/adfs/portal/updatepassword/
  5. [認証の確認] で [証明書をアップロード] をクリックし、前にダウンロードしたトークン署名証明書を選択します。

  6. [保存] をクリックします。

  7. 管理コンソールからログアウトします。

シングル サインオンのテスト

これで、AD FS と Cloud Identity または Google Workspace の両方でシングル サインオンの構成が完了しました。シングル サインオンが意図したとおりに機能するかどうかを確認するには、次のテストを実行します。

  1. 以前に Cloud Identity または Google Workspace にプロビジョニングされていて、特権管理者権限が割り当てられていない Active Directory ユーザーを選択します。特権管理者権限を持つユーザーは常に Google 認証情報を使用してログインする必要があるため、シングル サインオンのテストには適していません。
  2. 新しいブラウザ ウィンドウを開き、https://console.cloud.google.com/ に移動します。
  3. 表示される Google ログインページで、ユーザーのメールアドレスを入力し、[次へ] をクリックします。ドメイン置換を使用する場合は、その置換をメールアドレスに適用する必要があります。

    ユーザーのメールアドレスを入力する

    AD FS にリダイレクトされます。フォームベースの認証を使用するように AD FS を構成した場合は、この時点でログインページが表示されます。

  4. Active Directory ユーザーの UPN とパスワードを入力し、[ログイン] をクリックします。

    Active Directory ユーザーの UPN とパスワードを入力する。

  5. 認証が成功すると、AD FS によって再び Google Identity Platform にリダイレクトされます。このユーザーがログインするのは今回が初めてのため、Google 利用規約とプライバシー ポリシーに同意するよう求められます。

  6. 利用規約に同意する場合は、[同意する] をクリックします。

  7. Google Cloud コンソールにリダイレクトされ、設定を確認して Google Cloud の利用規約に同意するよう求められます。利用規約に同意する場合は、[はい] をクリックしてから [同意して続行] をクリックします。

  8. 左上にあるアバター アイコンをクリックし、[ログアウト] をクリックします。

    これにより、ユーザーが正常にログアウトされたことを確認する AD FS ページにリダイレクトされます。

ログインできない場合は、AD FS 管理ログで追加情報を確認できます。

特権管理者権限を持つユーザーはシングル サインオンから除外されるため、管理コンソールを使用して設定を確認または変更できます。

クリーンアップ

組織でシングル サインオンを有効にしない場合は、次の手順で Cloud Identity または Google Workspace でシングル サインオンを無効にします。

  1. 管理コンソールで、[セキュリティ] > [設定] をクリックします。
  2. [サードパーティの ID プロバイダを使用したシングル サインオン(SSO)の設定] をクリックします。
  3. [サードパーティの ID プロバイダで SSO を設定する] チェックボックスをオフにします。
  4. [保存] をクリックします。

AD FS で構成をクリーンアップするには、次の手順に従います。

  1. AD FS サーバーにログインし、AD FS MMC スナップインを開きます。
  2. 左側のメニューで、[証明書利用者信頼] フォルダを右クリックします。
  3. 証明書利用者信頼のリストで、[Cloud Identity] を右クリックし、[削除] をクリックします。
  4. [はい] をクリックして削除を確定します。

次のステップ