本文說明如何擴充Microsoft Entra ID (先前稱為 Azure AD) 使用者佈建和單一登入,為 Microsoft Entra ID B2B 協作使用者啟用單一登入 (SSO)。
本文假設貴機構使用 Microsoft Office 365 或 Microsoft Entra ID,且您已設定Microsoft Entra ID 使用者帳戶佈建和單一登入,如以下圖表所示。
在這張圖中,來自外部識別資訊提供者 (IdP) 和其他 Microsoft Entra ID 租戶的使用者,會透過 B2B 登入 Microsoft Entra ID 租戶。
目標
- 擴充 Microsoft Entra ID 使用者帳戶佈建設定,涵蓋 Microsoft Entra B2B 客戶使用者。
- 擴充 Microsoft Entra ID 單一登入設定,涵蓋 Microsoft Entra B2B 訪客使用者。
- 設定 Cloud Identity,限制訪客使用者的工作階段長度。
事前準備
請確認您已設定 Microsoft Entra ID 使用者佈建與單一登入。
Microsoft Entra B2B 訪客使用者
Microsoft Entra ID 可讓您邀請外部使用者以訪客身分加入 Microsoft Entra ID 用戶群。邀請外部使用者時,Microsoft Entra ID 會在您的租戶中建立訪客使用者帳戶。這些訪客使用者帳戶與一般 Microsoft Entra ID 使用者帳戶有許多不同之處:
- 訪客使用者沒有密碼,登入時,系統會自動將訪客使用者重新導向至其主租戶,或邀請他們加入的外部識別資訊提供者 (IdP)。
- 訪客使用者帳戶的使用者主要名稱 (UPN) 會使用受邀者電子郵件地址衍生的前置字串,再加上用戶群的初始網域,例如:
prefix#EXT#@tenant.onmicrosoft.com
。 - 如果您從其他 Microsoft Entra ID 租戶邀請使用者,且該使用者稍後在其主租戶中遭到刪除,則該客體使用者帳戶在您的 Microsoft Entra ID 租戶中仍會保持有效。
這些差異會影響使用者佈建和單一登入的設定方式:
由於
onmicrosoft.com
是 Microsoft 擁有的 DNS 網域,因此您無法將tenant.onmicrosoft.com
新增為 Cloud Identity 或 Google Workspace 帳戶的次要網域。這項附註表示在將使用者佈建至 Cloud Identity 或 Google Workspace 時,您無法使用訪客使用者的 UPN 做為主要電子郵件地址。如要將訪客使用者佈建至 Cloud Identity 或 Google Workspace,您必須設定對應,將訪客使用者的 UPN 轉換為 Cloud Identity 或 Google Workspace 帳戶使用的網域。
本文將說明如何設定 UPN 對應,如下表所示。
Microsoft Entra ID 中的原始 UPN Cloud Identity 或 Google Workspace 中的主要電子郵件地址 一般使用者 alice@example.com
alice@example.com
Microsoft Entra ID 訪客 charlie@altostrat.com
charlie_altostrat.com@example.com
外部邀請對象 user@hotmail.com
user_hotmail.com@example.com
如果使用者在主租戶中遭到刪除,Microsoft Entra ID 不會停權 Cloud Identity 或 Google Workspace 中對應的使用者。這會造成安全風險:雖然這類使用者無法使用單一登入,但現有的瀏覽器工作階段和重新整理權杖 (包括 Google Cloud CLI 使用的權杖) 可能會維持有效數天或數週,讓使用者繼續存取資源。
您可以按照本文介紹的方法,將訪客使用者佈建至 Cloud Identity 或 Google Workspace 中的專屬機構單位,並套用將工作階段長度限制為 8 小時的政策,藉此降低這項風險。這項政策可確保在使用者從住家租戶中刪除後,瀏覽器工作階段和現有重新整理權杖最多會在 8 小時內失效,有效撤銷所有存取權。不過,在您從 Microsoft Entra ID 帳戶刪除訪客使用者之前,Cloud Identity 或 Google Workspace 中的使用者會保持有效狀態。
準備 Cloud Identity 或 Google Workspace 帳戶
在 Cloud Identity 或 Google Workspace 帳戶中建立機構單位,所有訪客使用者都會佈建至該機構單位。
- 開啟管理控制台,並使用您申請 Cloud Identity 或 Google Workspace 時建立的超級管理員使用者登入。
- 在選單中,依序前往「目錄」> 機構單位。
- 按一下「建立機構單位」,然後提供機構單位的名稱和說明:
- 機構單位名稱:
guests
- 說明:
Microsoft Entra B2B guest users
- 機構單位名稱:
- 點選「建立」。
對機構單位套用政策,將工作階段長度限制為 8 小時。工作階段長度不僅適用於瀏覽器工作階段,也會限制 OAuth 更新權杖的生命週期。
- 在管理控制台中,依序前往「安全性」>「存取權與資料控管」>「Google Cloud 工作階段控制設定」。
選取「訪客」機構單位,然後套用下列設定:
- 重新驗證政策:需要重新驗證
重新驗證頻率:8 小時。
這段時間反映了在 Microsoft Entra ID 中暫停後,訪客使用者可能仍可存取 Google Cloud 資源的最長時間。
重新驗證方式:密碼。
這項設定可確保使用者在工作階段過期後,必須使用 Microsoft Entra ID 重新驗證。
按一下 [覆寫]。
設定 Microsoft Entra ID 佈建
您現在可以調整現有的 Microsoft Entra ID 設定,支援佈建 B2B 訪客使用者。
- 在 Azure 入口網站中,依序前往「Microsoft Entra ID」>「Enterprise applications」。
- 選取用於佈建使用者帳戶的企業應用程式「Google Cloud (Provisioning)」。
- 依序點選「管理」>「佈建」。
- 按一下「編輯佈建」。
- 在「Mappings」(對應) 底下,點選「Provision Microsoft Entra ID Users」(佈建 Microsoft Entra ID 使用者)。
- 選取「userPrincipalName」userPrincipalName列。
在「Edit Attribute」(編輯屬性) 對話方塊中,套用下列變更:
- 「對應類型」:從「直接」變更為「運算式」。
Expression:
Replace([originalUserPrincipalName], "#EXT#@TENANT_DOMAIN", , , "@PRIMARY_DOMAIN", , )
更改下列內容:
TENANT_DOMAIN
:Microsoft Entra ID 租戶的.onmicrosoft.com
網域,例如tenant.onmicrosoft.com
。PRIMARY_DOMAIN
:Cloud Identity 或 Google Workspace 帳戶使用的主要網域名稱,例如example.org
。
按一下 [確定]。
選取「新增對應」。
在「編輯屬性」對話方塊中,設定下列屬性:
- 「Mapping type」(對應類型):[Expression] (運算式)。
Expression:
IIF(Instr([originalUserPrincipalName], "#EXT#", , )="0", "/", "/guests")
目標屬性:OrgUnitPath
按一下 [確定]。
按一下 [儲存]。
按一下「是」,確認儲存變更後會重新同步處理使用者和群組。
關閉「Attribute Mapping」(屬性對應) 對話方塊。
設定 Microsoft Entra ID 處理單一登入
為確保訪客使用者可以透過單一登入服務驗證身分,您現在要擴充現有的 Microsoft Entra ID 設定,為訪客啟用單一登入服務:
- 在 Azure 入口網站中,依序前往「Microsoft Entra ID」>「Enterprise applications」(企業應用程式)。
- 選取用於單一登入的 Google Cloud 企業應用程式。
- 依序點選「管理」>「單一登入」。
- 在候選畫面上,按一下 [SAML] 資訊卡。
- 在「User Attributes & Claims」(使用者屬性與宣告) 資訊卡上,按一下「編輯」。
- 選取標示為「Unique User Identifier (Name ID)」的資料列。
- 選取「聲明條件」。
- 為外部邀請對象新增條件式聲明:
- 使用者類型:外部訪客
- 來源:轉換
- 轉換:RegexReplace()
- 參數 1:屬性
- 屬性:user.userprincipalname
- Regex 模式:
(?'username'^.*?)#EXT#@(?i).*\.onmicrosoft\.com$
- 取代模式:
{username}@PRIMARY_DOMAIN
,將PRIMARY_DOMAIN
取代為 Cloud Identity 或 Google Workspace 帳戶使用的主要網域名稱。
- 按一下「新增」。
為來自不同租戶的 Microsoft Entra ID 訪客新增條件式聲明:
- 使用者類型:Microsoft Entra 訪客
- 來源:轉換
- 轉換:RegexReplace()
- 參數 1:屬性
屬性:user.localuserprincipalname
Regex 模式:
(?'username'^.*?)#EXT#@(?i).*\.onmicrosoft\.com$
取代模式:
{username}@PRIMARY_DOMAIN
,將PRIMARY_DOMAIN
取代為 Cloud Identity 或 Google Workspace 帳戶使用的主要網域名稱。
按一下「新增」。
為一般 Microsoft Entra ID 使用者新增條件式聲明:
- 使用者類型:成員
- 來源:屬性
- 「Value」(值):user.userprincipalname
按一下 [儲存]。
測試單一登入
如要確認設定是否正常運作,您需要在 Microsoft Entra ID 用戶端中建立三位測試使用者:
- 一般的 Microsoft Entra ID 使用者。
- Microsoft Entra ID 訪客使用者。這是從其他 Microsoft Entra ID 租戶受邀的使用者。
- 外部邀請對象使用者。這是使用非 Microsoft Entra ID 電子郵件地址 (例如
@hotmail.com
地址) 邀請的使用者。
請為每位使用者執行下列測試:
- 以無痕模式開啟新的瀏覽器視窗,然後前往 https://console.cloud.google.com/。
在顯示的 Google 登入頁面上,輸入使用者電子郵件地址,該地址會顯示在先前表格的「Cloud Identity 或 Google Workspace 中的主要電子郵件地址」欄中。請參閱該表格,瞭解 Cloud Identity 或 Google Workspace 中的電子郵件地址如何衍生自使用者主體名稱。
系統會將您重新導向至 Microsoft Entra ID,並顯示另一個登入提示。
在登入提示中,輸入使用者的 UPN,然後按照操作說明進行驗證。
成功驗證之後,Microsoft Entra ID 會將您重新導向回 Google 登入。由於這是您第一次透過該使用者的身分登入,系統會要求您接受《Google 服務條款》和《隱私權政策》。
如果您同意條款,請點選 [Accept] (接受)。
系統會將您重新導向至 Google Cloud 主控台,並要求您確認偏好設定,並接受 Google Cloud 《服務條款》。
如果您同意條款,請按一下「是」,然後點選「同意並繼續」。
按一下顯示圖片圖示,然後點選「登出」。
系統會將您重新導向至 Microsoft Entra ID 頁面,確認您已成功登出。