設定Google Workspace與 Microsoft Entra ID 之間的同盟
本文說明將Google Workspace 設定為識別提供者 (Microsoft Entra ID 的IdP) 所需的步驟。
設定之後,使用者可以使用其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)
- 適用於環境與內部部署 AD DS 的 Microsoft Entra Connect 同步處理
- 呼叫 Microsoft Graph API 的 PowerShell 腳本
- IdP 所提供的布建工具 - Google 工作區提供 自動布建
將Google工作區設定為 Microsoft Entra ID 的 IdP
使用具有超級系統管理員許可權的帳戶登入Google工作區管理主控台
選 取 [應用程式 > ] [Web 和行動應用程式]
選 取 [新增應用程式 > 搜尋應用程式 ] 並搜尋 Microsoft
在搜尋結果頁面中,將滑鼠停留在 Microsoft Office 365 - Web (SAML) 應用程式上,然後選取 [選取
在 Google 識別提供者詳細 數據頁面上,選取 [下載元 數據],並記下儲存 IdP 元 - 數據GoogleIDPMetadata.xml - 檔案的位置,因為稍後會用來設定 Microsoft Entra ID
在 服務提供者詳細數據頁面 上
- 選取 [ 已簽署回應] 選項
- 確認名稱識別碼格式設定為 PERSISTENT
- 根據 Microsoft Entra 使用者在 Microsoft Entra ID 中布建的方式而定,您可能需要調整 名稱標識符 對應。
如果使用Google自動布建,請選取 [基本資訊 > 主要電子郵件] - 選取 [繼續]
在 [ 屬性對應] 頁面上,將Google屬性對應至 Microsoft Entra 屬性
Google Directory 屬性 Microsoft Entra 屬性 基本資訊:主要電子郵件 應用程式屬性:IDPEmail 重要
您必須確定 Microsoft Entra 使用者帳戶的電子郵件符合 Google 工作區中的電子郵件。
選取 [完成]
既然已設定應用程式,您必須為 Google Workspace 中的使用者啟用它:
- 使用具有超級系統管理員許可權的帳戶登入Google工作區管理主控台
- 選 取 [應用程式 > ] [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 並登入