本文件分成四份章節:
- 建立 Microsoft Entra ID 應用程式 (SAML)
- 建立 GCP Workforce Identity Pools
- 建立 Microsoft Entra ID Workforce Identity Pool Provider
- 管理 Google Cloud 資源存取權
建立 Microsoft Entra ID 應用程式 (SAML)
- 登入 Microsoft Entra 系統管理入口網站。
- 在左側導覽選單中,依序前往「Entra ID」>「Enterprise Apps」。
- 如要開始設定企業應用程式,請按照下列步驟操作:
- 依序點選「新應用程式」>「建立自己的應用程式」。
- 在顯示的「Create your own application」(建立自己的應用程式) 窗格中,輸入應用程式名稱。

- 點選「建立」。
- 依序前往「單一登入」>「SAML」。

- 按照下列步驟更新「Basic SAML Configuration」(基本 SAML 設定):


在「Identifier (Entity ID)」(ID (實體 ID)) 欄位中,輸入下列值:
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
更改下列內容:
WORKFORCE_POOL_ID:工作團隊身分集區 ID,您稍後會在本文中建立工作團隊身分集區時使用,例如:entra-id-saml-pool
WORKFORCE_PROVIDER_ID:工作團隊身分集區提供者 ID,您稍後在本文件中建立工作團隊身分集區提供者時會用到,例如:entra-id-saml-pool-provider在「Reply URL (Assertion Consumer Service URL)」欄位中,輸入重新導向網址。使用者成功登入後,系統會將他們重新導向至這個網址。如要設定控制台 (聯盟) 的存取權,請使用下列網址格式:
https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
更改下列內容:
WORKFORCE_POOL_ID:員工身分集區 ID
WORKFORCE_PROVIDER_ID:工作團隊身分識別提供者 ID如要啟用 IdP 啟動的登入程序,請將「Relay State」欄位設為下列值:
https://console.cloud.google/
如要儲存 SAML 應用程式設定,請按一下「儲存」。

如要使用本文稍後提供的屬性對應範例,請務必建立自訂 department 屬性。
建議:根據安全性最佳做法,建議您設定群組聲明,方法如下:
- 前往 Microsoft Entra ID 應用程式。
- 點選 [Single sign-on] (單一登入)。
- 在「屬性與聲明」部分,按一下「編輯」。
- 按一下「新增群組聲明」。
- 選取要退貨的群組類型。詳情請參閱「使用 SSO 設定,將群組聲明新增至 SAML 應用程式的權杖」。
建立 GCP Workforce Identity Pools
- 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:
前往「Workforce Identity Pools」(員工身分集區) 頁面 - 選取員工身分集區的機構。機構中的所有專案和資料夾都可使用 Workforce 身分集區。
- 按一下「建立集區」,然後執行下列操作:

- 在「名稱」欄位中,輸入集區的顯示名稱。系統會在您輸入名稱時自動衍生集區 ID,並顯示在「名稱」欄位下方。如要更新集區 ID,請點選集區 ID 旁的「編輯」。

- 選用:在「說明」中輸入集區說明。
- 如要建立員工身分集區,請按「Next」(下一步)。
- 在「名稱」欄位中,輸入集區的顯示名稱。系統會在您輸入名稱時自動衍生集區 ID,並顯示在「名稱」欄位下方。如要更新集區 ID,請點選集區 ID 旁的「編輯」。
工作團隊身分集區的工作階段持續時間預設為一小時 (3600 秒)。 工作階段時間長度決定了這個工作團隊集區的 Google Cloud 存取權杖、控制台 (聯盟) 和 gcloud CLI 登入工作階段的有效時間。建立集區後,您可以更新集區,設定自訂工作階段時間長度。工作階段持續時間必須介於 15 分鐘 (900 秒) 至 12 小時 (43,200 秒) 之間。
建立 Microsoft Entra ID Workforce Identity Pool Provider
- 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:
前往「Workforce Identity Pools」(員工身分集區) 頁面 - 在「Workforce Identity Pools」(工作團隊身分集區) 表格中,選取要建立提供者的集區。
- 在「供應商」表格中,按一下「新增供應商」。

- 在「選取通訊協定」中,選取「SAML」。

- 在「建立集區提供者」中,執行下列操作:
- 在「名稱」部分,輸入供應商名稱。
- 選用:在「說明」中輸入供應商說明。
- 在「IdP 中繼資料檔案 (XML)」中,選取您在本指南稍早產生的中繼資料 XML 檔案。

- 確認已啟用「Enabled provider」(已啟用供應商)。

- 按一下「繼續」。
- 在「設定供應商」中,執行下列操作:
- 在「屬性對應」中,輸入 google.subject 的 CEL 運算式。

- 選用:如要輸入其他對應,請按一下「新增對應」,然後輸入其他對應,例如
google.subject=assertion.subject, google.groups=assertion.attributes['https://example.com/aliases'], attribute.costcenter=assertion.attributes.costcenter[0]
這個範例會將 IdP 屬性 assertion.subject、assertion.attributes['https://example.com/aliases'] 和 assertion.attributes.costcenter[0] 分別對應至 Google Cloud屬性 google.subject、google.groups 和 google.costcenter。 - 選用:如要新增屬性條件,請按一下「新增條件」,然後輸入代表屬性條件的 CEL 運算式。 舉例來說,如要將 ipaddr 屬性限制在特定 IP 範圍內,可以設定 assertion.attributes.ipaddr.startsWith('98.11.12.') 條件。這個範例條件可確保只有 IP 位址開頭為 98.11.12. 的使用者,才能使用這個員工身分提供者登入。
警告:如果多租戶 IdP 只有一個發行者 URI,您必須使用屬性條件 ,確保只有正確的租戶可以存取。詳情請參閱「與 GitHub 或其他多租戶身分識別提供者進行同盟時使用屬性條件」。 - 按一下「繼續」。
- 如要開啟詳細稽核記錄,請在「詳細記錄」中,點按「啟用詳細屬性值記錄」切換鈕。
員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄有助於排解工作團隊身分識別集區提供者設定問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱 Google Cloud Observability 定價。
如要停用工作團隊身分集區提供者的詳細稽核記錄功能,請在執行 gcloud iam workforce-pools providers create 時省略 --detailed-audit-logging 旗標。如要停用詳細稽核記錄,您也可以更新供應商。
- 在「屬性對應」中,輸入 google.subject 的 CEL 運算式。
- 如要建立提供者,請按一下「提交」。
管理 Google Cloud 資源存取權
在本範例中,您會授予範例專案的 Identity and Access Management (IAM) 角色。使用者即可登入並使用這個專案存取 Google Cloud 產品。
您可以管理單一身分、身分群組或整個集區的身分與存取權管理角色。
- 單一身分
principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE
更改下列內容:
WORKFORCE_POOL_ID:員工身分集區 ID
SUBJECT_VALUE:使用者身分 - 使用對應群組
principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
更改下列內容:
WORKFORCE_POOL_ID:員工身分集區 ID
GROUP_ID:對應的 google.groups 聲明中的群組。
這篇文章是否有幫助?
太棒了!
感謝您提供意見回饋
抱歉,沒能幫到您
感謝您提供意見回饋
意見已發送
感謝您的寶貴意見,我們將嘗試修改這篇文章