設定Google Workspace與 Microsoft Entra ID之間的同盟

本文說明將Google Workspace 設定為識別提供者 (IdP) 進行 Microsoft Entra ID所需的步驟。
設定之後,使用者可以使用其 Google Workspace 認證登入 Microsoft Entra ID。

必要條件

若要將Google Workspace 設定為適用於 Microsoft Entra ID的IdP,必須符合下列必要條件:

  1. Microsoft Entra 租使用者,具有一或多個自定義 DNS 網域 (也就是格式不是 *.onmicrosoft.com)
  2. 使用具有全域管理員角色的帳戶存取 Microsoft Entra ID
  3. 使用具有 超級系統管理員 許可權的帳戶存取Google工作區

若要測試同盟,必須符合下列必要條件:

  1. 已建立使用者的Google工作區環境

    重要

    使用者需要Google Workspace 中定義的電子郵件地址,用來比對 Microsoft Entra ID中的使用者。 如需身分識別比對的詳細資訊,請參閱 Microsoft Entra ID 中的身分識別比對

  2. 已建立個別 Microsoft Entra 帳戶:每個Google Workspace使用者都需要在 Microsoft Entra ID 中定義的相符帳戶。 這些帳戶通常會透過自動化解決方案建立,例如:
    • 學校數據同步 (SDS)
    • Microsoft Entra 連線同步處理環境與內部部署 AD DS
    • 呼叫 Microsoft 圖形 API 的 PowerShell 腳本
    • IdP 所提供的布建工具 - Google 工作區提供 自動布建

將Google工作區設定為適用於 Microsoft Entra ID的IdP

  1. 使用具有超級系統管理員權限的帳戶登入Google工作區 管理員 主控台

  2. 取 [應用程式 > ] [Web 和行動應用程式]

  3. 選取 [為應用程式新增應用程式 > 搜尋],然後搜尋 Microsoft

  4. 在搜尋結果頁面中,將滑鼠停留在 [Microsoft Office 365 - Web (SAML) 應用程式],然後選取 [顯示 Google Workspace 的螢幕快照],以及 [Microsoft Office 365 SAML 應用程式的搜尋] 按鈕。

  5. [Google 識別提供者詳細數據] 頁面上,選取 [下載元數據],並記下儲存 IdP - 元數據GoogleIDPMetadata.xml - 檔案的位置,因為它稍後會用來設定 Microsoft Entra ID

  6. 服務提供者詳細數據頁面

    • 選取 [ 已簽署回應] 選項
    • 確認名稱識別碼格式設定為 PERSISTENT
    • 根據 Microsoft Entra ID 中布建 Microsoft Entra 使用者的方式,您可能需要調整名稱標識碼對應。
      如果使用Google自動布建,請選取 [基本資訊 > 主要電子郵件]
    • 選取 [繼續]
  7. 在 [屬性對應] 頁面上,將Google屬性對應至 Microsoft Entra 屬性

    Google Directory 屬性 Microsoft Entra 屬性
    基本資訊:主要 Email 應用程式屬性:IDPEmail

    重要

    您必須確定您是 Microsoft Entra 用戶帳戶電子郵件符合 Google 工作區中的使用者帳戶。

  8. 選取 [完成]

既然已設定應用程式,您必須為 Google Workspace 中的使用者啟用它:

  1. 使用具有超級系統管理員權限的帳戶登入Google工作區 管理員 主控台
  2. 取 [應用程式 > ] [Web 和行動應用程式]
  3. 取 [Microsoft Office 365
  4. 取 [使用者存取]
  5. 為所有人>選取 [開啟] [儲存]

針對Google Workspace將 Microsoft Entra ID 設定為服務提供者 (SP)

Microsoft Entra ID 組態包含變更自定義 DNS 網域的驗證方法。 您可以使用 PowerShell 來完成此設定。
使用從Google Workspace 下載的 IdP元 數據 XML 檔案,修改下列腳本 的$DomainName 變數以符合您的環境,然後在PowerShell工作階段中執行它。 當系統提示您向 Microsoft Entra ID 驗證時,請使用具有全域管理員角色之帳戶的認證。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
Install-Module Microsoft.Graph -Scope CurrentUser
Import-Module Microsoft.Graph

$domainId = "<your domain name>"

$xml = [Xml](Get-Content GoogleIDPMetadata.xml)

$cert = -join $xml.EntityDescriptor.IDPSSODescriptor.KeyDescriptor.KeyInfo.X509Data.X509Certificate.Split()
$issuerUri = $xml.EntityDescriptor.entityID
$signinUri = $xml.EntityDescriptor.IDPSSODescriptor.SingleSignOnService | ? { $_.Binding.Contains('Redirect') } | % { $_.Location }
$signoutUri = "https://accounts.google.com/logout"
$displayName = "Google Workspace Identity"
Connect-MGGraph -Scopes "Domain.ReadWrite.All", "Directory.AccessAsUser.All"

$domainAuthParams = @{
  DomainId = $domainId
  IssuerUri = $issuerUri
  DisplayName = $displayName
  ActiveSignInUri = $signinUri
  PassiveSignInUri = $signinUri
  SignOutUri = $signoutUri
  SigningCertificate = $cert
  PreferredAuthenticationProtocol = "saml"
  federatedIdpMfaBehavior = "acceptIfMfaDoneByFederatedIdp"
}

New-MgDomainFederationConfiguration @domainAuthParams

若要確認設定正確無誤,您可以使用下列 PowerShell 命令:

Get-MgDomainFederationConfiguration -DomainId $domainId |fl
ActiveSignInUri                       : https://accounts.google.com/o/saml2/idp?idpid=<GUID>
DisplayName                           : Google Workspace Identity
FederatedIdpMfaBehavior               : acceptIfMfaDoneByFederatedIdp
Id                                    : 3f600dce-ab37-4798-9341-ffd34b147f70
IsSignedAuthenticationRequestRequired :
IssuerUri                             : https://accounts.google.com/o/saml2?idpid=<GUID>
MetadataExchangeUri                   :
NextSigningCertificate                :
PassiveSignInUri                      : https://accounts.google.com/o/saml2/idp?idpid=<GUID>
PreferredAuthenticationProtocol       : saml
PromptLoginBehavior                   :
SignOutUri                            : https://accounts.google.com/logout
SigningCertificate                    : <BASE64 encoded certificate>
AdditionalProperties                  : {}

確認Google Workspace與 Microsoft Entra ID之間的同盟驗證

從私人瀏覽器會話中,流覽至 https://portal.azure.com 並使用 Google 工作區帳戶登入:

  1. 身為使用者名稱,請使用 Google Workspace 中定義的電子郵件
  2. 用戶會重新導向至Google Workspace以登入
  3. 在Google Workspace 驗證之後,用戶會重新導向回 Microsoft Entra ID並登入

GIF,顯示使用者使用 Google Workspace 同盟身分識別來驗證 Azure 入口網站。