設定Google Workspace與 Microsoft Entra ID之間的同盟
本文說明將Google Workspace 設定為識別提供者 (IdP) Microsoft Entra ID 所需的步驟。
設定之後,使用者可以使用其 Google Workspace 認證登入 Microsoft Entra ID。
必要條件
若要將Google Workspace 設定為適用於 Microsoft Entra ID的IdP,必須符合下列必要條件:
- Microsoft Entra 租使用者,具有一或多個自定義 DNS 網域 (也就是格式不是 *.onmicrosoft.com)
- 如果尚未將同盟網域新增至 Microsoft Entra ID,您必須具有 DNS 網域的存取權,才能建立 DNS 記錄。 這是驗證 DNS 命名空間擁有權的必要專案
- 瞭解如何使用 Microsoft Entra 系統管理中心 新增自定義功能變數名稱
- 至少以外部識別提供者系統管理員身分存取 Microsoft Entra 系統管理中心
- 使用具有 超級系統管理員 許可權的帳戶存取Google工作區
若要測試同盟,必須符合下列必要條件:
- 已建立使用者的Google工作區環境
重要
使用者需要Google Workspace 中定義的電子郵件地址,用來比對 Microsoft Entra ID中的使用者。 如需身分識別比對的詳細資訊,請參閱 Microsoft Entra ID 中的身分識別比對。
- 已建立個別 Microsoft Entra 帳戶:每個Google Workspace使用者都需要在 Microsoft Entra ID 中定義的相符帳戶。 這些帳戶通常會透過自動化解決方案建立,例如:
- 學校數據同步 (SDS)
- Microsoft Entra Connect Sync for environment with on-premises AD DS
- 呼叫 Microsoft 圖形 API 的 PowerShell 腳本
- IdP 所提供的布建工具 - Google 工作區提供 自動布建
將Google工作區設定為適用於 Microsoft Entra ID的IdP
使用具有超級系統管理員權限的帳戶登入Google Workspace 管理員主控台
選 取 [應用程式 > ] [Web 和行動應用程式]
選 取 [新增應用程式 > 搜尋應用程式 ] 並搜尋 Microsoft
在搜尋結果頁面中,將滑鼠停留在 [Microsoft Office 365 - Web (SAML) 應用程式],然後選取 [選取
在 [Google 識別提供者詳細數據] 頁面上,選取 [下載元數據],並記下儲存IdP元 - 數據GoogleIDPMetadata.xml - 檔案的位置,因為稍後會用來設定 Microsoft Entra ID
在 [服務提供者詳細資料] 頁面上:
- 選取 [ 已簽署回應] 選項
- 確認名稱識別碼格式設定為 PERSISTENT
- 根據 Microsoft Entra ID 中布建 Microsoft Entra 使用者的方式,您可能需要調整名稱標識碼對應
如果使用Google自動布建,請選取 [基本資訊 > 主要電子郵件] - 選取 [繼續]
在 [屬性對應] 頁面上,將Google屬性對應至 Microsoft Entra 屬性
Google Directory 屬性 Microsoft Entra 屬性 基本資訊:主要 Email 應用程式屬性:IDPEmail 重要
您必須確定 Microsoft Entra 用戶帳戶的電子郵件符合 Google 工作區中的電子郵件。
選取 [完成]
既然已設定應用程式,您必須為 Google Workspace 中的使用者啟用它:
- 使用具有超級系統管理員權限的帳戶登入Google Workspace 管理員主控台
- 選 取 [應用程式 > ] [Web 和行動應用程式]
- 選取 [Microsoft Office 365
- 選 取 [使用者存取]
- 為所有人>選取 [開啟] [儲存]
將 Microsoft Entra ID 設定為 Google Workspace 的服務提供者 (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 工作區帳戶登入:
身為使用者名稱,請使用 Google Workspace 中定義的電子郵件
用戶會重新導向至Google Workspace以登入
在Google Workspace 驗證之後,用戶會重新導向回 Microsoft Entra ID並登入