本文說明如何使用 Microsoft Entra ID 識別資訊提供者 (IdP) 設定員工身分聯盟,以及如何管理Cloud de Confiance by S3NS的存取權。聯合使用者隨後即可存取 Cloud de Confiance 支援員工身分聯盟的服務。您可以使用 OIDC 或 SAML 2.0 通訊協定,進行身分同盟。
事前準備
- 確認您已設定 Cloud de Confiance 組織。
-
將
GOOGLE_CLOUD_UNIVERSE_DOMAIN環境變數設為s3nsapis.fr。 -
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud init - 在 Microsoft Entra ID 中,請確認已為隱含流程啟用 ID 權杖。詳情請參閱「啟用 ID 權杖隱含授權」。
- 如要登入,IdP 必須提供已簽署的驗證資訊:OIDC IdP 必須提供 JWT,且 SAML IdP 回應必須經過簽署。
- 如要接收有關組織或Cloud de Confiance 產品異動的重要資訊,請務必提供重要聯絡人。詳情請參閱「員工身分聯盟總覽」。
費用
員工身分聯盟是免付費功能。不過,員工身分聯盟詳細稽核記錄會使用 Cloud Logging。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。
必要的角色
如要取得設定員工身分聯盟所需的權限,請要求管理員授予您組織的 IAM 工作團隊集區管理員 (roles/iam.workforcePoolAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如果您是在開發或測試環境 (而非正式環境) 中設定權限,可以授予 IAM 擁有者 (roles/owner) 基本角色,其中也包含員工身分聯盟的權限。
建立 Microsoft Entra ID 應用程式
本節說明如何使用 Microsoft Entra 系統管理中心建立 Microsoft Entra ID 應用程式。或者,您也可以更新現有應用程式。詳情請參閱「在 Microsoft Entra ID 生態系統中建立應用程式」。員工身分集區支援使用 OIDC 和 SAML 通訊協定的聯盟。
OIDC
如要建立使用 OIDC 通訊協定的 Microsoft Entra ID 應用程式註冊,請按照下列步驟操作:
登入 Microsoft Entra 系統管理中心。
依序前往「Entra ID」>「App registrations」。
如要開始設定應用程式註冊,請按照下列步驟操作:
按一下 [新增註冊]。
輸入應用程式名稱。
在「Supported account types」中選取所需選項。
在「Redirect URI」(重新導向 URI) 區段,從「Select a platform」(選取平台) 下拉式選單中選取「Web」(網頁)。
在文字欄位中輸入重新導向網址。使用者成功登入後,系統會將他們重新導向這個網址。如果您要設定控制台 (聯合) 的存取權,請使用下列網址格式:
https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID更改下列內容:
WORKFORCE_POOL_ID:員工身分集區 ID,在本文稍後建立員工身分集區時會用到,例如entra-id-oidc-pool。WORKFORCE_PROVIDER_ID:員工身分集區提供者 ID,在本文稍後建立員工身分集區提供者時會用到,例如entra-id-oidc-pool-provider。如要瞭解如何設定 ID 格式,請參閱 API 說明文件的「查詢參數」一節。
如要建立應用程式註冊,請按一下「Register」(註冊)。
如要使用本文稍後提供的範例屬性對應,您必須建立自訂
department屬性。
建議做法:為遵循安全性最佳做法,建議您按照下列步驟設定群組憑證:
前往 Microsoft Entra ID 應用程式註冊頁面。
按一下「Token configuration」。
按一下「Add groups claim」。
選取要傳回的群組類型。詳情請參閱「設定群組選用宣告」。
SAML
如要建立使用 SAML 通訊協定的 Microsoft Entra ID 應用程式註冊,請按照下列步驟操作:
登入 Microsoft Entra 系統管理中心。
依序前往「Entra ID」>「Enterprise applications」。
如要開始設定企業應用程式,請按照下列步驟操作:
依序點選「New application」>「Create your own application」。
在隨即顯示的「Create your own application」(建立自己的應用程式) 窗格中,輸入應用程式名稱。
點選「建立」。
依序前往「Single sign-on」>「SAML」。
按照下列步驟更新「Basic SAML Configuration」:
在「Identifier (Entity 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。如要瞭解 ID 格式設定方式,請參閱 API 說明文件中的「查詢參數」一節。
在「Reply URL (Assertion Consumer Service URL)」(回覆網址 (宣告客戶服務網址)) 欄位中,輸入重新導向網址。使用者成功登入後,系統會將他們重新導向至這個網址。如果您要設定控制台 (聯合) 的存取權,請使用下列網址格式:
https://auth.cloud.s3nscloud.fr/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.s3nscloud.fr/如要儲存 SAML 應用程式設定,請按一下「儲存」。
如要使用本文稍後提供的範例屬性對應,您必須建立自訂
department屬性。
建議做法:為遵循安全性最佳做法,建議您按照下列步驟設定群組憑證:
前往 Microsoft Entra ID 應用程式。
點選 [Single sign-on] (單一登入)。
在「Attributes & Claims」部分,按一下「Edit」。
按一下「Add a group claim」。
選取要傳回的群組類型。詳情請參閱「使用單一登入設定,將群組聲明新增至 SAML 應用程式的權杖」。
建立工作團隊身分集區
gcloud
執行下列指令,建立員工身分集區:
gcloud iam workforce-pools create WORKFORCE_POOL_ID \
--organization=ORGANIZATION_ID \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--session-duration=SESSION_DURATION \
--location=global
更改下列內容:
WORKFORCE_POOL_ID:您選擇用來代表 Cloud de Confiance 員工集區的 ID。集區 ID 在 Cloud de Confiance的所有員工身分集區中不得重複。如要瞭解如何設定 ID 格式,請參閱 API 說明文件中的「查詢參數」一節。ORGANIZATION_ID:您的 Cloud de Confiance 員工身分集區的組織 ID。員工身分集區適用於機構中的所有專案和資料夾。DISPLAY_NAME:選用。員工身分集區的顯示名稱。DESCRIPTION:選用。員工身分集區說明。SESSION_DURATION:選用。工作階段持續時間,以數字加上s表示,例如3600s。工作階段持續時間決定了這個工作團隊集區的 Cloud de Confiance 存取權杖、控制台 (聯合) 登入工作階段和 gcloud CLI 登入工作階段的有效時間。工作階段持續時間預設為一小時 (3600 秒)。工作階段持續時間值必須介於 15 分鐘 (900 秒) 至 12 小時 (43,200 秒) 之間。
控制台
如要建立員工身分集區,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:
選取員工身分集區所屬的組織。員工身分集區適用於組織中的所有專案和資料夾。
按一下「Create pool」(建立集區),然後執行下列操作:
在「Name」(名稱) 欄位中,輸入集區的顯示名稱。系統會在您輸入名稱時自動衍生集區 ID,並顯示在「名稱」欄位下方。如要更新集區 ID,請按一下集區 ID 旁的「Edit」(編輯)。
選用:在「Description」(說明) 中輸入集區說明。
如要建立員工身分集區,請按「Next」(下一步)。
員工身分集區的工作階段持續時間預設為一小時 (3600 秒)。 工作階段持續時間會決定 Cloud de Confiance 存取權杖、控制台 (聯合),以及這個工作團隊集區的 gcloud CLI 登入工作階段有效時間。建立集區後,您可以更新集區,設定自訂工作階段持續時間。工作階段持續時間必須介於 15 分鐘 (900 秒) 至 12 小時 (43,200 秒) 之間。
建立 Microsoft Entra ID 員工身分集區提供者
本節說明如何建立員工身分集區提供者,讓 IdP 使用者存取 Cloud de Confiance。您可以將提供者設為使用 OIDC 或 SAML 通訊協定。
建立 OIDC 工作團隊身分集區提供者
如要使用 OIDC 通訊協定,為 Microsoft Entra ID Application Integration 建立工作團隊身分集區 provider,請按照下列步驟操作:
如要取得 Microsoft Entra ID 應用程式的核發者 URI,請按照下列步驟操作:
- 前往 Microsoft Entra ID 應用程式註冊的「Overview」(總覽) 頁面。
- 按一下 [端點]。
找出 OpenID Connect 中繼資料文件端點。核發機構 URI 是 OpenID Connect 中繼資料文件 URI,但省略了尾端的
/.well-known/openid-configuration。舉例來說,如果 OpenID Connect 中繼資料文件 URI 是
https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/.well-known/openid-configuration,則核發者 URI 為https://login.microsoftonline.com/d41ad248-019e-49e5-b3de-4bdfe1fapple/v2.0/。或者,您也可以複製 OpenID Connect 中繼資料文件網址,在瀏覽器分頁中開啟,然後從 JSON 回應中複製issuer的值。
如要取得 Microsoft Entra ID 應用程式的用戶端 ID,請按照下列步驟操作:
- 前往 Microsoft Entra ID 應用程式註冊的「Overview」(總覽) 頁面。
- 複製「應用程式 (用戶端) ID」中的值。
如要建立 OIDC 工作團隊身分集區提供者,以便進行網頁式登入,請按照下列步驟操作:
gcloud
如要建立支援 OIDC 通訊協定的提供者,請按照下列步驟操作:
代碼流程
如要建立使用授權碼流程的 OIDC 提供者,以便透過網頁式登入,請按照下列步驟操作:
如要取得 Microsoft Entra ID 應用程式的用戶端密鑰,請按照下列步驟操作:
前往 Microsoft Entra ID 應用程式註冊頁面。
在「Certificates & secrets」中,按一下「用戶端密鑰」分頁標籤。
如要新增用戶端密鑰,請按一下「+ New client secret」。
在「新增用戶端密鑰」對話方塊中,視需要輸入資訊。
按一下「Add」,建立用戶端密鑰。
在「Client secrets」分頁中,找出新的用戶端密鑰。
在新的用戶端密鑰「Value」(值) 欄中,按一下 content_copy「Copy」(複製)。
如要建立供應商,請執行下列指令:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \
--vendor-type="entra-id" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=global替換下列內容:
WORKFORCE_PROVIDER_ID:員工身分集區提供者的專屬 ID。前置字元gcp-為保留字,不得用於員工身分集區或員工身分集區提供者 ID。WORKFORCE_POOL_ID:要連結 IdP 的員工身分集區 ID。DISPLAY_NAME:提供者的選用易記顯示名稱,例如idp-eu-employees。DESCRIPTION:選用的工作團隊提供者說明,例如IdP for Partner Example Organization employees。ISSUER_URI:OIDC 核發者 URI,格式必須有效,且開頭為https,例如https://example.com/oidc。注意:基於安全考量,ISSUER_URI必須使用 HTTPS 配置。OIDC_CLIENT_ID:向 OIDC IdP 註冊的 OIDC 用戶端 ID;該 ID 必須與 IdP 核發的 JWTaud宣告相符。OIDC_CLIENT_SECRET:OIDC 用戶端密鑰。WEB_SSO_ADDITIONAL_SCOPES:選用的額外範圍,用於傳送至 OIDC IdP,以便透過控制台 (聯合) 或 gcloud CLI 瀏覽器登入。ATTRIBUTE_MAPPING:屬性對應。 如果是採用 OIDC 驗證機制的 Microsoft Entra ID,建議使用下列屬性對應:google.subject=assertion.oid, google.groups=assertion.groups, google.display_name=assertion.preferred_username這個範例會將 IdP 屬性
assertion.oid、assertion.groups和assertion.preferred_username分別對應至 Cloud de Confiance屬性google.subject、google.groups和google.display_name。ATTRIBUTE_CONDITION:屬性條件;例如,如要將ipaddr屬性限制在特定 IP 範圍,您可以設定條件assertion.ipaddr.startsWith('98.11.12.')。JWK_JSON_PATH:在本機上傳的 OIDC JWK 選用路徑。如果未提供這個參數, Cloud de Confiance 會改用 IdP 的/.well-known/openid-configuration路徑,取得含有公開金鑰的 JWK。如要進一步瞭解本機上傳的 OIDC JWK,請參閱「管理 OIDC JWK」。-
員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Logging。詳細稽核記錄可協助您排解工作團隊身分集區提供者設定的問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。
如要為工作團隊身分集區提供者停用詳細稽核記錄功能,請在執行
gcloud iam workforce-pools providers create時省略--detailed-audit-logging旗標。如要停用詳細稽核記錄,您也可以更新供應商。
--web-sso-assertion-claims-behavior旗標可控管 OIDC 宣告如何納入用於屬性對應和屬性條件的assertion物件。如果是授權碼流程 (--web-sso-response-type="code"),您可以將這個旗標設為下列其中一個值:-
merge-user-info-over-id-token-claims:將 OIDCUserInfo端點的憑證資訊與 ID 權杖的憑證資訊合併。如果兩者包含相同的聲明名稱,系統會優先採用UserInfo聲明值。如果 IdP 從UserInfo端點傳回額外的使用者屬性或群組宣告,請使用這個值。 -
only-id-token-claims:僅包含 ID 權杖中的要求。 如果屬性對應和條件所需的所有憑證資訊都已存在於 ID 權杖中,請使用這個值。
locations/global/workforcePools/enterprise-example-organization-employees。
隱含流程
如要建立使用隱含流程的 OIDC 供應商,以便進行網頁登入,請按照下列步驟操作:
如要在 Microsoft Entra ID 應用程式中啟用 ID 權杖,請按照下列步驟操作:
- 前往 Microsoft Entra ID 應用程式註冊頁面。
- 在「Authentication」(驗證) 中,勾選「ID token」(ID 權杖) 核取方塊。
- 按一下 [儲存]。
如要建立供應商,請執行下列指令:
gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --display-name="DISPLAY_NAME" \ --description="DESCRIPTION" \ --issuer-uri="ISSUER_URI" \ --client-id="OIDC_CLIENT_ID" \
--vendor-type="entra-id" \ --web-sso-response-type="id-token" \ --web-sso-assertion-claims-behavior="only-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=global替換下列內容:
WORKFORCE_PROVIDER_ID:員工身分集區提供者的專屬 ID。前置字元gcp-為保留字,不得用於員工身分集區或員工身分集區提供者 ID。WORKFORCE_POOL_ID:要連結 IdP 的員工身分集區 ID。DISPLAY_NAME:提供者的選用易記顯示名稱,例如idp-eu-employees。DESCRIPTION:選用的工作團隊提供者說明,例如IdP for Partner Example Organization employees。ISSUER_URI:OIDC 核發者 URI,格式必須有效,且開頭為https,例如https://example.com/oidc。注意:基於安全考量,ISSUER_URI必須使用 HTTPS 配置。OIDC_CLIENT_ID:向 OIDC IdP 註冊的 OIDC 用戶端 ID;該 ID 必須與 IdP 核發的 JWTaud宣告相符。WEB_SSO_ADDITIONAL_SCOPES:選用的額外範圍,用於傳送至 OIDC IdP,以便透過控制台 (聯合) 或 gcloud CLI 瀏覽器登入。ATTRIBUTE_MAPPING:屬性對應。 如果是採用 OIDC 驗證機制的 Microsoft Entra ID,建議使用下列屬性對應:google.subject=assertion.oid, google.groups=assertion.groups, google.display_name=assertion.preferred_username這個範例會將 IdP 屬性
assertion.oid、assertion.groups和assertion.preferred_username分別對應至 Cloud de Confiance屬性google.subject、google.groups和google.display_name。ATTRIBUTE_CONDITION:屬性條件;例如,如要將ipaddr屬性限制在特定 IP 範圍內,可以設定assertion.ipaddr.startsWith('98.11.12.')條件。JWK_JSON_PATH:在本機上傳的 OIDC JWK 選用路徑。如果未提供這個參數, Cloud de Confiance 會改用 IdP 的/.well-known/openid-configuration路徑,取得含有公開金鑰的 JWK。如要進一步瞭解本機上傳的 OIDC JWK,請參閱「管理 OIDC JWK」。-
員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄可協助您排解工作團隊身分集區提供者設定的問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。
如要為工作團隊身分集區提供者停用詳細稽核記錄功能,請在執行
gcloud iam workforce-pools providers create時省略--detailed-audit-logging旗標。如要停用詳細稽核記錄,您也可以更新供應商。
如果是隱含流程 (
在指令回應中,POOL_RESOURCE_NAME 是集區名稱,例如--web-sso-response-type="id-token"),您必須將--web-sso-assertion-claims-behavior旗標設為only-id-token-claims,這只會納入assertion物件中 ID 權杖的宣告。隱含流程不支援merge-user-info-over-id-token-claims值。locations/global/workforcePools/enterprise-example-organization-employees。
控制台
代碼流程
如要建立使用授權碼流程的 OIDC 提供者,以進行網頁式登入,請執行下列步驟:
如要取得 Microsoft Entra ID 用戶端密鑰,請按照下列步驟操作:
前往 Microsoft Entra ID 應用程式註冊頁面。
在「Certificates & secrets」中,按一下「用戶端密鑰」分頁標籤。
如要新增用戶端密鑰,請按一下「+ New client secret」。
在「新增用戶端密鑰」對話方塊中,視需要輸入資訊。
按一下「Add」,建立用戶端密鑰。
在「Client secrets」分頁中,找出新的用戶端密鑰。
在新的用戶端密鑰「Value」(值) 欄中,按一下 content_copy「Copy」(複製)。
- 前往 Cloud de Confiance 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:
- 在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。
- 在「Providers」部分,按一下「Add Provider」。
- 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。
如果您的 IdP 未列出,請選取「Generic Identity Provider」。
- 在「選取驗證通訊協定」中,選取「OpenID Connect (OIDC)」。
- 在「Create a provider」(建立提供者) 區段中,執行下列操作:
- 在「名稱」中,輸入供應商名稱。
- 在「說明」中,輸入提供者的說明。
- 在「核發者 (網址)」中輸入核發者 URI。OIDC 核發者 URI 必須採用有效的 URI 格式,且開頭為
https,例如https://example.com/oidc。 - 在「Client ID」(用戶端 ID) 中,輸入向 OIDC IdP 註冊的 OIDC 用戶端 ID;該 ID 必須與 IdP 核發的 JWT
aud宣告相符。 - 如要建立已啟用的提供者,請確認「啟用提供者」已開啟。
- 按一下「繼續」。
- 在「與 IdP 分享提供者資訊」部分,複製網址。在 IdP 中,將這個網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。
- 按一下「繼續」。
- 在「設定 OIDC 網頁登入功能」部分,執行下列操作:
- 在「Flow type」(流程類型) 清單中,選取「Code」(程式碼)。
- 在「Assertion claims behavior」(斷言宣告行為) 清單中,選取下列其中一個選項:
- 使用者資訊和 ID 權杖:合併
UserInfo端點和 ID 權杖的憑證資訊,並優先採用UserInfo憑證資訊值 (如果憑證名稱相同)。如果 IdP 從UserInfo端點傳回額外使用者屬性或群組憑證附加資訊,請選取這個選項。 - 僅限 ID 權杖:僅包含 ID 權杖中的宣告。如果屬性對應和條件所需的所有要求都已存在於 ID 權杖中,請選取這個選項。
- 使用者資訊和 ID 權杖:合併
- 在「Client secret」(用戶端密鑰) 欄位中,輸入 IdP 的用戶端密鑰。
- 按一下「繼續」。
- 在「Configure provider」(設定供應商) 部分,按一下「Detailed logging」(詳細記錄) 下方的「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕。
員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄可協助您排解工作團隊身分集區提供者設定的問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。
如要停用員工身分集區提供者的詳細稽核記錄,請在建立提供者時,將「啟用屬性值稽核記錄」切換鈕設為關閉。如要停用詳細稽核記錄,您也可以更新供應商。
- 按一下「Submit」(提交),建立提供者。
建立供應商後,系統會將您重新導向至供應商屬性頁面。
如要設定屬性對應和條件,請按照下列步驟操作:
- 系統提示時,請登入外部 IdP,驗證預設屬性對應。
- 在提供者屬性頁面中,查看及編輯屬性對應和條件:
- 如要新增或編輯屬性對應,請按照下列步驟操作:
- 按一下「新增對應」新增對應,或編輯現有對應。
- 在「Google n」欄位中 (n 為數字),選取 Cloud de Confiance支援的金鑰。
- 在對應的「OIDC n」欄位中,輸入
IdP 屬性名稱或 CEL 運算式。
如果是採用 OIDC 驗證機制的 Microsoft Entra ID,建議使用下列屬性對應:
google.subject=assertion.oid, google.groups=assertion.groups, google.display_name=assertion.preferred_username這個範例會將 IdP 屬性
assertion.oid、assertion.groups和assertion.preferred_username分別對應至 Cloud de Confiance屬性google.subject、google.groups和google.display_name。
- 如要增加群組數量,請按照下列步驟操作:
- 按一下「啟用」即可取得額外屬性。
- 在開啟的子工作中,輸入下列詳細資料:
- 在「Extra Attributes Issuer URI」(額外屬性核發者 URI) 欄位中,輸入核發者網址。
- 在「Extra Attributes Client ID」欄位中,輸入用戶端 ID。
- 在「額外屬性用戶端密鑰」欄位中,輸入用戶端密鑰。
- 在「額外屬性類型」清單中,選取額外屬性的屬性類型。
- 在「Extra Attributes Filter」欄位中,輸入透過 Microsoft Graph API 查詢群組時使用的篩選運算式。
- 按一下「啟用」。
啟用額外屬性後,您可以按一下「編輯」重新開啟子任務並編輯詳細資料,或按一下「停用」關閉額外屬性。
- 如要新增屬性條件,請按照下列步驟操作:
- 按一下「新增條件」。
- 在「Attribute Conditions」(屬性條件) 欄位中,以 CEL 格式輸入條件。舉例來說,如要將
ipaddr屬性限制在特定 IP 範圍,您可以設定assertion.ipaddr.startsWith('98.11.12.')條件。
- 如要新增或編輯屬性對應,請按照下列步驟操作:
- 如要驗證對應關係,請按一下「Save and refetch token」(儲存並重新擷取權杖)。
- 按一下「儲存並結束」,完成設定。
隱含流程
如要建立使用隱含流程的 OIDC 供應商,以供網頁登入,請按照下列步驟操作:
如要在 Microsoft Entra ID 應用程式中啟用 ID 權杖,請執行下列步驟:
- 前往 Microsoft Entra ID 應用程式註冊頁面。
- 在「Authentication」(驗證) 中,勾選「ID token」(ID 權杖) 核取方塊。
- 按一下 [儲存]。
- 前往 Cloud de Confiance 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:
- 在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。
- 在「Providers」部分,按一下「 Add Provider」。
- 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。
如果您的 IdP 未列出,請選取「Generic Identity Provider」。
- 在「選取驗證通訊協定」中,選取「OpenID Connect (OIDC)」。
- 在「Create a provider」(建立提供者) 區段中,執行下列操作:
- 在「名稱」中,輸入供應商名稱。
- 在「說明」中,輸入提供者的說明。
- 在「核發者 (網址)」中輸入核發者 URI。OIDC 核發者 URI 必須採用有效的 URI 格式,且開頭為
https,例如https://example.com/oidc。 - 在「Client ID」(用戶端 ID) 中,輸入向 OIDC IdP 註冊的 OIDC 用戶端 ID;該 ID 必須與 IdP 核發的 JWT
aud宣告相符。 - 如要建立已啟用的提供者,請確認「啟用提供者」已開啟。
- 按一下「繼續」。
- 在「與 IdP 分享提供者資訊」部分,複製網址。在 IdP 中,將這個網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。
- 按一下「繼續」。
- 在「Configure OIDC Web Sign-in」(設定 OIDC 網頁登入) 部分,執行下列操作:
- 在「Flow type」(流程類型) 清單中,選取「ID Token」(ID 權杖)。
- 在「Assertion claims behavior」(斷言宣告行為) 清單中,選取「ID token」(ID 權杖)。
- 按一下「繼續」。
- 在「Configure provider」(設定供應商) 部分的「Detailed logging」(詳細記錄) 中,按一下「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕。
員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄可協助您排解工作團隊身分識別集區提供者設定問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。
如要停用員工身分集區提供者的詳細稽核記錄,請在建立提供者時,將「啟用屬性值稽核記錄」切換鈕設為關閉。如要停用詳細稽核記錄,您也可以更新供應商。
- 按一下「Submit」(提交),建立提供者。
建立供應商後,系統會將您重新導向至供應商屬性頁面。
如要設定屬性對應和條件,請按照下列步驟操作:
- 系統提示時,請登入外部 IdP,驗證預設屬性對應。
- 在提供者屬性頁面中,查看及編輯屬性對應和條件:
- 如要新增或編輯屬性對應,請按照下列步驟操作:
- 按一下「新增對應」,即可新增對應或編輯現有對應。
- 在「Google n」欄位中 (n 為數字),選取 Cloud de Confiance支援的金鑰。
- 在對應的「OIDC n」欄位中,輸入
IdP 屬性名稱或 CEL 運算式。
如果是採用 OIDC 驗證機制的 Microsoft Entra ID,建議使用下列屬性對應:
google.subject=assertion.oid, google.groups=assertion.groups, google.display_name=assertion.preferred_username這個範例會將 IdP 屬性
assertion.oid、assertion.groups和assertion.preferred_username分別對應至 Cloud de Confiance屬性google.subject、google.groups和google.display_name。
- 如要增加群組數量,請按照下列步驟操作:
- 按一下「啟用」,取得額外屬性。
- 在開啟的子工作中輸入詳細資料:
- 在「額外屬性核發者 URI」欄位中, 輸入核發者網址。
- 在「Extra Attributes Client ID」欄位中,輸入用戶端 ID。
- 在「額外屬性用戶端密鑰」欄位中,輸入用戶端密鑰。
- 在「額外屬性類型」清單中,選取額外屬性的屬性類型。
- 在「Extra Attributes Filter」欄位中,輸入透過 Microsoft Graph API 查詢群組時使用的篩選運算式。
- 按一下「啟用」。
啟用額外屬性後,您可以按一下「編輯」重新開啟子任務並編輯詳細資料,或按一下「停用」關閉額外屬性。
- 如要新增屬性條件,請按照下列步驟操作:
- 按一下「新增條件」。
- 在「Attribute Conditions」(屬性條件) 欄位中,以 CEL 格式輸入條件。舉例來說,如要將
ipaddr屬性限制在特定 IP 範圍,您可以設定assertion.ipaddr.startsWith('98.11.12.')條件。
- 如要新增或編輯屬性對應,請按照下列步驟操作:
- 如要驗證對應關係,請按一下「Save and refetch token」(儲存並重新擷取權杖)。
- 按一下「儲存並結束」,完成設定。
建立 SAML 2.0 工作團隊身分集區提供者
在 SAML IdP 中,註冊 Cloud de Confiance員工身分聯盟的新應用程式。
設定 SAML 宣告的目標對象。 通常是 IdP 設定中的「
SP Entity ID」欄位。請務必將其設為下列網址:https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID設定重新導向網址,也稱為宣告客戶服務 (ACS) 網址。如要設定重新導向網址,請在 SAML IdP 中找到重新導向網址欄位,然後執行下列其中一項操作:
如要透過 Cloud de Confiance 控制台或其他瀏覽器登入方式,設定瀏覽器登入功能,請輸入下列網址:
https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID更改下列內容:
WORKFORCE_POOL_ID:員工身分集區 IDWORKFORCE_PROVIDER_ID:您稍後在本文件中建立的員工身分集區提供者 ID。
如要透過 IdP 設定程式輔助登入,請輸入下列網址:
localhost
如要進一步瞭解如何設定控制台登入,請參閱「設定控制台的使用者存取權」。
在 Cloud de Confiance中,使用 IdP 的 SAML 中繼資料文件,建立 SAML 員工身分集區提供者。您可以從 IdP 下載 SAML 中繼資料 XML 文件。文件至少須包含下列內容:
- IdP 的 SAML 實體 ID。
- IdP 的單一登入網址。
- 至少一個簽署公開金鑰。如要瞭解簽署金鑰的詳細資訊,請參閱本指南稍後的「重要規定」。
gcloud
如要儲存 Microsoft Entra ID 應用程式的 SAML 中繼資料並建立提供者,請按照下列步驟操作:
- 前往 Microsoft Entra ID 應用程式。
- 點選 [Single sign-on] (單一登入)。
- 在「SAML Certificates」(SAML 憑證) 區段中,下載「Federation Metadata XML」(同盟中繼資料 XML)。
- 將中繼資料儲存為本機 XML 檔案。
如要建立 SAML 工作團隊身分集區提供者,請執行下列指令:
gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
--workforce-pool="WORKFORCE_POOL_ID" \
--display-name="DISPLAY_NAME" \
--description="DESCRIPTION" \
--idp-metadata-path="XML_METADATA_PATH" \
--attribute-mapping="ATTRIBUTE_MAPPING" \
--attribute-condition="ATTRIBUTE_CONDITION" \
--vendor-type="entra-id" \
--detailed-audit-logging \
--location=global
更改下列內容:
WORKFORCE_PROVIDER_ID:供應商 ID。WORKFORCE_POOL_ID:員工身分集區 ID。DISPLAY_NAME:顯示名稱。DESCRIPTION:說明。XML_METADATA_PATH:XML 格式中繼資料檔案的路徑,其中包含 SAML 識別資訊提供者的設定中繼資料。ATTRIBUTE_MAPPING:屬性對應,例如:google.subject=assertion.attributes['http://schemas.microsoft.com/identity/claims/objectidentifier'], attribute.costcenter=assertion.attributes.costcenter[0]這個範例會將
assertion.attributes['http://schemas.microsoft.com/identity/claims/objectidentifier']IdP 屬性對應至google.subject,並將assertion.attributes.costcenter[0]IdP 屬性對應至attribute.costcenter。詳情請參閱「屬性對應」。
ATTRIBUTE_CONDITION:選用的屬性條件。 舉例來說,如要將ipaddr屬性限制在特定 IP 範圍,可以設定assertion.attributes.ipaddr.startsWith('98.11.12.')條件。這個範例條件可確保只有 IP 位址開頭為98.11.12.的使用者,才能透過這個工作團隊提供者登入。
-
員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Logging。詳細稽核記錄可協助您排解工作團隊身分集區提供者設定的問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。
如要停用工作團隊身分集區提供者的詳細稽核記錄,請在執行
gcloud iam workforce-pools providers create時省略--detailed-audit-logging旗標。如要停用詳細稽核記錄,您也可以更新供應商。
選用:接受來自 IdP 的加密 SAML 宣告
如要讓 SAML 2.0 IdP 產生員工身分聯盟可接受的加密 SAML 聲明,請按照下列步驟操作:
- 在員工身分聯盟中,執行下列操作:
- 為工作團隊身分集區提供者建立非對稱金鑰組。
- 下載內含公開金鑰的憑證檔案。
- 設定 SAML IdP,使用公開金鑰加密其核發的 SAML 宣告。
- 在 IdP 中執行下列操作:
- 啟用斷言加密 (也稱為權杖加密)。
- 上傳您在員工身分聯盟中建立的公開金鑰。
- 確認 IdP 會產生加密的 SAML 斷言。
建立員工身分聯盟 SAML 斷言加密金鑰
本節將引導您建立非對稱金鑰組,讓員工身分聯盟接受加密的 SAML 斷言。
Cloud de Confiance by S3NS 會使用私密金鑰解密 IdP 核發的 SAML 宣告。如要建立非對稱金鑰組,以用於 SAML 加密,請執行下列指令。詳情請參閱「支援的 SAML 加密演算法」。
gcloud iam workforce-pools providers keys create KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --use encryption \ --spec KEY_SPECIFICATION
取代下列項目:
KEY_ID:您選擇的金鑰名稱WORKFORCE_POOL_ID:集區 IDWORKFORCE_PROVIDER_ID:員工身分集區提供者 ID-
KEY_SPECIFICATION:金鑰規格,可以是rsa-2048、rsa-3072和rsa-4096其中之一。
建立金鑰組後,請執行下列指令,將公開金鑰下載至憑證檔案。只有員工身分聯盟可以存取私密金鑰。
gcloud iam workforce-pools providers keys describe KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global \ --format "value(keyData.key)" \ > CERTIFICATE_PATH
替換下列內容:
KEY_ID:金鑰名稱WORKFORCE_POOL_ID:集區 IDWORKFORCE_PROVIDER_ID:員工身分集區提供者 IDCERTIFICATE_PATH:憑證寫入路徑,例如saml-certificate.cer或saml-certificate.pem
設定符合 SAML 2.0 規範的 IdP,以便核發加密的 SAML 宣告
如要設定 Microsoft Entra ID 加密 SAML 權杖,請參閱<a href="https://learn.microsoft.com/en-us/azure/active-directory/manage-apps/howto-saml-token-encryption?tabs=azure-portal"
設定 Azure Active Directory SAML 權杖加密。
將 IdP 設定為加密 SAML 判斷後,建議您檢查 IdP 產生的判斷是否確實經過加密。即使已設定 SAML 聲明加密,員工身分聯盟仍可處理明文聲明。
刪除員工身分聯盟加密金鑰
如要刪除 SAML 加密金鑰,請執行下列指令: gcloud iam workforce-pools providers keys delete KEY_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider WORKFORCE_PROVIDER_ID \ --location global替換下列內容:
KEY_ID:金鑰名稱WORKFORCE_POOL_ID:集區 IDWORKFORCE_PROVIDER_ID:員工身分集區提供者 ID
支援的 SAML 加密演算法
員工身分聯盟支援下列金鑰傳輸演算法:
- http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
- http://www.w3.org/2009/xmlenc11#rsa-oaep"
- http://www.w3.org/2001/04/xmlenc#rsa-1_5"
員工身分聯盟支援下列區塊加密演算法:
控制台
如要使用 Cloud de Confiance 控制台設定 SAML 供應商,請按照下列步驟操作:
- 在 Cloud de Confiance 控制台中,前往「Workforce Identity Pools」(員工身分集區) 頁面:
- 在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。
- 在「Providers」部分,按一下「Add Provider」。
- 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。
如果清單中沒有您的 IdP,請選取「Generic Identity Provider」。
- 在「選取驗證通訊協定」中,選取「SAML」。
- 在「Create a provider」(建立提供者) 區段中,執行下列操作:
- 在「Name」中輸入供應商名稱。
- 選用:在「Description」(說明) 中輸入提供者的說明。
- 在「IdP metadata file (XML)」中,選取您先前按照本指南產生的中繼資料 XML 檔案。
- 如要建立已啟用的提供者,請確認「啟用提供者」已開啟。
- 按一下「繼續」。
- 在「Share your provider information」部分,複製網址。在 IdP 中,將第一個網址設為實體 ID,以便向 IdP 識別應用程式。將其他網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。
- 按一下「繼續」。
- 在「Configure provider」(設定供應商) 部分的「Detailed logging」(詳細記錄) 中,按一下「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕。
員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Logging。詳細稽核記錄可協助您排解工作團隊身分集區提供者設定的問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。
如要停用員工身分集區提供者的詳細稽核記錄,請在建立提供者時,將「啟用屬性值稽核記錄」切換鈕設為關閉。如要停用詳細稽核記錄,您也可以更新供應商。
- 如要建立提供者,請按一下「提交」。
建立供應商後,系統會將您重新導向至供應商屬性頁面。
如要設定屬性對應和條件,請按照下列步驟操作:
- 系統提示時,請登入外部 IdP,驗證預設屬性對應。
- 在提供者屬性頁面,查看及編輯屬性對應和條件:
- 如要新增或編輯屬性對應,請按照下列步驟操作:
- 按一下「Add mapping」(新增對應) 即可新增對應,或編輯現有對應。
- 在「Google n」欄位中 (n 為數字), 選取 Cloud de Confiance 支援的鍵。
- 在對應的 「SAML n」欄位中,輸入 IdP 屬性名稱或 CEL 運算式,例如:
google.subject=assertion.attributes['http://schemas.microsoft.com/identity/claims/objectidentifier'], attribute.costcenter=assertion.attributes.costcenter[0]這個範例會將
assertion.attributes['http://schemas.microsoft.com/identity/claims/objectidentifier']IdP 屬性對應至google.subject,並將assertion.attributes.costcenter[0]IdP 屬性對應至attribute.costcenter。
- 如要增加群組數量,請按照下列步驟操作:
- 按一下「啟用」,取得額外屬性。
- 在開啟的子工作中輸入詳細資料:
- 在「額外屬性核發者 URI」欄位中, 輸入核發者網址。
- 在「Extra Attributes Client ID」欄位中,輸入用戶端 ID。
- 在「額外屬性用戶端密鑰」欄位中,輸入用戶端密鑰。
- 在「Extra Attributes Type」(額外屬性類型) 清單中,選取額外屬性的屬性類型。
- 在「Extra Attributes Filter」欄位中,輸入透過 Microsoft Graph API 查詢群組時使用的篩選運算式。
- 按一下「啟用」。
啟用額外屬性後,您可以按一下「編輯」重新開啟子任務並編輯詳細資料,或按一下「停用」關閉額外屬性。
- 如要新增屬性條件,請按照下列步驟操作:
- 按一下「新增條件」。
- 在「屬性條件」欄位中,以 CEL 格式輸入條件,例如:
舉例來說,如要將
ipaddr屬性限制在特定 IP 範圍內,可以設定assertion.attributes.ipaddr.startsWith('98.11.12.')條件。這個範例條件可確保只有 IP 位址開頭為98.11.12.的使用者,才能透過這個工作團隊提供者登入。
- 如要新增或編輯屬性對應,請按照下列步驟操作:
- 如要驗證對應關係,請按一下「Save and refetch token」(儲存並重新擷取權杖)。
- 如要完成設定,請按一下「儲存並結束」。
驗證提供者設定
測試使用者登入流程前,請先確認提供者設定正確無誤,且 Cloud de Confiance by S3NS 可以與 IdP 交換權杖。
Cloud de Confiance 控制台的「驗證供應商屬性」頁面包含屬性檢視器,可讓您以互動方式測試設定,並偵錯通用運算式語言 (CEL) 運算式。您可以使用屬性檢視器執行下列操作:
- 查看 IdP 聲明中傳送的原始屬性。
- 確認屬性對應和條件能正確轉換這些屬性。
- 即時偵錯複雜的 CEL 運算式。
如要驗證供應商設定,請按照下列步驟操作:
- 如要為員工身分聯盟啟用瀏覽器登入流程,請將
https://auth.cloud.s3nscloud.fr/signin-callback/locations/global/workforcePools/POOL_ID/providers/PROVIDER_ID新增至 IdP 的允許重新導向 URI 清單。 -
在 Cloud de Confiance 控制台中,前往「Workforce Identity Pools」(員工身分集區)。
前往「Workforce Identity Pools」(員工身分集區) 頁面 - 在集區清單中,按一下要驗證的集區名稱。
- 在「Workforce pool details」(員工集區詳細資料) 頁面中,按一下要驗證的 IdP 名稱。
- 在「Provider Details」頁面中,按一下「Debug IdP token」。
- 在「Sign in」(登入) 對話方塊中,以測試使用者身分登入 IdP。
「Validate your provider attributes」(驗證提供者屬性) 頁面會顯示對應的屬性和屬性條件結果。
「IdP 權杖中的對應屬性」部分會顯示 Google 屬性 (例如 google.subject) 如何根據對應設定,從 IdP 權杖填入。如果對應不正確,系統會顯示錯誤圖示。
「屬性條件」部分會顯示條件的布林結果。如果條件評估結果為 false,系統就會封鎖登入作業。
如要查看完整斷言權杖,請點選「查看完整權杖」。這會顯示 IdP 的原始 JSON 物件。請使用 assertion.PROPERTY_NAME 格式,在對應中參照頂層屬性。
編輯提供者設定
如要修正錯誤,請編輯設定:
- 在「驗證提供者屬性」頁面,按一下「 編輯」。
- 進行必要變更。
- 如要開始新的測試並查看更新後的結果,請按一下「Save and refetch token」(儲存並重新擷取權杖)。
管理 Cloud de Confiance 資源的存取權
本節提供範例,說明如何管理員工身分聯盟使用者對Cloud de Confiance 資源的存取權。
在本範例中,您將授予範例專案的 Identity and Access Management (IAM) 角色。使用者可以登入並透過這項專案存取 Cloud de Confiance 產品。
您可以管理單一身分、一組身分或整個集區的 IAM 角色。詳情請參閱「允許政策的工作團隊主體 ID」。
使用對應群組
如要將 Storage 管理員角色 (roles/storage.admin) 授予專案 TEST_PROJECT_ID 的群組 GROUP_ID 內所有身分,請執行下列指令:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
更改下列內容:
TEST_PROJECT_ID:測試專案 IDWORKFORCE_POOL_ID:員工身分集區 IDGROUP_ID:對應google.groups附加資訊中的群組。
單一識別身分
如要將 Storage 管理員 (roles/storage.admin) 角色授予專案 TEST_PROJECT_ID 的單一身分,請執行下列指令:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"
更改下列內容:
TEST_PROJECT_ID:測試專案 IDWORKFORCE_POOL_ID:員工身分集區 IDSUBJECT_VALUE:使用者身分
使用對應的部門屬性
如要為專案 TEST_PROJECT_ID 中特定部門的所有身分授予「Storage 管理員」角色 (roles/storage.admin),請執行下列指令:
gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
--role="roles/storage.admin" \
--member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"
更改下列內容:
TEST_PROJECT_ID:測試專案 IDWORKFORCE_POOL_ID:員工身分集區 IDDEPARTMENT_VALUE:對應的attribute.department值
登入並測試存取權
在本節中,您將以工作團隊身分集區使用者身分登入,並測試您是否能存取 Cloud de Confiance 資源。
登入
本節說明如何以同盟使用者身分登入,並存取Cloud de Confiance 資源。
控制台 (聯合) 登入
如要登入 Cloud de Confiance by S3NS 員工身分聯盟控制台 (又稱聯合控制台),請按照下列步驟操作:
-
前往控制台 (聯合) 登入頁面。
-
輸入提供者名稱,格式如下:
locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
如果系統提示,請在 Microsoft Entra ID 中輸入使用者憑證。
如要啟動 IdP 啟動的登入程序,請使用下列轉送網址:https://console.cloud.s3nscloud.fr/。
gcloud CLI 瀏覽器登入
如要使用瀏覽器登入流程登入 gcloud CLI,請按照下列步驟操作:
建立設定檔
執行下列指令,建立登入設定檔:
Linux 和 macOS
gcloud iam workforce-pools create-login-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --output-file=LOGIN_CONFIG_PATH
Windows (PowerShell)
gcloud iam workforce-pools create-login-config ` locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID ` --output-file=LOGIN_CONFIG_PATH
更改下列內容:
WORKFORCE_POOL_ID:員工身分聯盟集區 ID。WORKFORCE_PROVIDER_ID:員工身分聯盟提供者 ID。-
LOGIN_CONFIG_PATH::寫入登入設定檔 的路徑。例如:login-config.json。
登入設定檔包含 gcloud CLI 啟動瀏覽器式驗證流程時使用的端點,並將對象設為工作團隊身分集區提供者中設定的 IdP。檔案不含機密資訊。
登入設定檔內容類似於下列範例:
{ "universe_domain": "s3nsapis.fr", "universe_cloud_web_domain": "cloud.s3nscloud.fr", "type": "external_account_authorized_user_login_config", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "auth_url": "https://auth.cloud.s3nscloud.fr/authorize", "token_url": "https://sts.s3nsapis.fr/v1/oauthtoken", "token_info_url": "https://sts.s3nsapis.fr/v1/introspect" }
使用瀏覽器驗證登入
使用環境變數、有效 gcloud CLI 設定中的屬性,指向登入設定檔,或直接搭配 gcloud auth login 指令使用:
環境變數
如要搭配環境變數使用登入設定檔,請完成下列操作說明:
-
將
CLOUDSDK_AUTH_LOGIN_CONFIG_FILE環境變數設為登入設定檔的路徑。 -
執行下列指令:
gcloud auth login
- gcloud CLI 會參照環境變數來尋找登入設定檔,然後啟動驗證程序。按照瀏覽器流程驗證及授權 gcloud CLI,以便日後代表您存取資源。
如要停止使用 gcloud auth login 指令的登入設定檔,請清除 CLOUDSDK_AUTH_LOGIN_CONFIG_FILE 環境變數。
gcloud CLI 設定
如要搭配使用登入設定檔和 gcloud CLI 設定屬性,請完成下列操作:
-
使用下列指令,將有效 gcloud CLI 設定的
auth/login_config_file屬性設為登入設定檔的路徑:gcloud config set auth/login_config_file LOGIN_CONFIG_PATH
-
執行下列指令:
gcloud auth login
- gcloud CLI 會參照設定屬性來尋找登入設定檔,然後啟動驗證程序。按照瀏覽器流程進行驗證,並授權 gcloud CLI 代表您存取資源,以便日後執行指令。
如要停止使用 gcloud auth login 指令的登入設定檔,請使用下列指令取消設定屬性:
gcloud config unset auth/login_config_file
gcloud auth login
如要直接搭配 gcloud auth login 指令使用登入設定檔,請完成下列操作說明:
-
如果您在建立登入設定檔時使用
--activate旗標,請執行下列指令:gcloud auth login
-
如果您在建立登入設定檔時未使用
--activate旗標,請執行下列指令:Linux 和 macOS
gcloud auth login \ --login-config=LOGIN_CONFIG_PATH
Windows (PowerShell)
gcloud auth login ` --login-config=LOGIN_CONFIG_PATH
將 LOGIN_CONFIG_PATH 替換為登入設定檔的路徑。
gcloud auth login 指令會將存取憑證儲存在主目錄中。通過驗證的主體會成為有效 gcloud CLI 設定中的有效主體。除非遭到覆寫,否則 gcloud CLI 會使用這些儲存的憑證存取 Cloud de Confiance by S3NS。
gcloud CLI 無頭登入
如要使用 gcloud CLI 登入 Microsoft Entra ID,請完成下列步驟:
OIDC
按照「傳送登入要求」中的步驟操作。 使用 OIDC,透過 Microsoft Entra ID 將使用者登入應用程式。
從重新導向網址的
id_token參數複製 ID 權杖,並儲存到本機電腦安全位置的檔案中。在後續步驟中,您會將 PATH_TO_OIDC_ID_TOKEN 設為這個檔案的路徑。執行下列指令,產生與本步驟後續範例類似的設定檔:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:id_token \ --credential-source-file=PATH_TO_OIDC_ID_TOKEN \ --workforce-pool-user-project=WORKFORCE_POOL_USER_PROJECT \ --output-file=config.json更改下列內容:
WORKFORCE_POOL_ID:員工身分集區 ID。WORKFORCE_PROVIDER_ID:員工身分集區提供者 ID。PATH_TO_OIDC_ID_TOKEN:IdP 權杖儲存位置的檔案路徑。WORKFORCE_POOL_USER_PROJECT:用於配額和計費的專案編號或 ID。主體必須具備這項專案的serviceusage.services.use權限。
指令完成後,Microsoft Entra ID 會建立下列設定檔:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:id_token", "token_url": "https://sts.googleapis.com/v1/token", "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT", "credential_source": { "file": "PATH_TO_OIDC_CREDENTIALS" } }開啟 gcloud CLI 並執行下列指令:
gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALS將 PATH_TO_OIDC_CREDENTIALS 替換為先前步驟的輸出檔案路徑。
gcloud CLI 會將您的憑證透明地發布至 Security Token Service 端點。在端點中,授權碼會換成臨時 Cloud de Confiance 存取權杖。
您現在可以執行 gcloud CLI 指令,Cloud de Confiance。
SAML
讓使用者登入 Microsoft Entra ID 應用程式,並取得 SAML 回應。
將 Microsoft Entra ID 傳回的 SAML 回應儲存在本機的安全位置,然後依下列方式儲存路徑:
SAML_ASSERTION_PATH=SAML_ASSERTION_PATH如要產生憑證設定檔,請執行下列指令:
gcloud iam workforce-pools create-cred-config \ locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \ --subject-token-type=urn:ietf:params:oauth:token-type:saml2 \ --credential-source-file=SAML_ASSERTION_PATH \ --workforce-pool-user-project=PROJECT_ID \ --output-file=config.json更改下列內容:
WORKFORCE_PROVIDER_ID:您在本指南稍早建立的工作團隊身分集區提供者 IDWORKFORCE_POOL_ID:您在本指南稍早建立的員工身分集區 IDSAML_ASSERTION_PATH:SAML 聲明檔案的路徑PROJECT_ID:專案 ID
產生的設定檔大致如下:
{ "type": "external_account", "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2", "token_url": "https://sts.googleapis.com/v1/token", "credential_source": { "file": "SAML_ASSERTION_PATH" }, "workforce_pool_user_project": "PROJECT_ID" }如要使用員工身分聯盟權杖交換功能登入 gcloud CLI,請執行下列指令:
gcloud auth login --cred-file=config.json接著,gcloud CLI 會將您的 Microsoft Entra ID 憑證,透明地交換為臨時 Cloud de Confiance 存取權杖。存取權杖可讓您存取 Cloud de Confiance。
畫面會顯示類似以下內容的輸出:
Authenticated with external account user credentials for: [principal://iam.googleapis.com/locations/global/workforcePools/
WORKFORCE_POOL_ID/subject/USER_ID].如要列出已通過驗證的帳戶和有效帳戶,請執行下列指令:
gcloud auth list
測試存取權
您現在可以存取 Cloud de Confiance 支援員工身分聯盟,且您已獲得存取權的產品。在本文件的稍早部分,您已將 Storage 管理員角色 (roles/storage.admin) 授予gcloud projects add-iam-policy-binding專案 TEST_PROJECT_ID 中指定群組 ID 內的所有身分。
現在可以列出 Cloud Storage bucket,測試是否具備存取權。
控制台 (聯合)
如要使用控制台 (聯合) 測試存取權,請執行下列操作:
前往「Cloud Storage」頁面。
確認您可以看到
TEST_PROJECT_ID的現有 bucket 清單。
gcloud CLI
如要測試是否能使用 gcloud CLI 存取,可以列出您有權存取的專案 Cloud Storage bucket 和物件。請執行下列指令來進行這項操作。主體必須具備指定專案的 serviceusage.services.use 權限。
gcloud storage ls --project="TEST_PROJECT_ID"
刪除使用者
員工身分聯盟會為聯合使用者身分建立使用者中繼資料和資源。如果您選擇刪除 IdP 中的使用者,也必須在 Cloud de Confiance中明確刪除這些資源。如要這麼做,請參閱「刪除員工身分聯盟使用者及其資料」。
您可能會看到資源仍與已刪除的使用者相關聯。這是因為刪除使用者中繼資料和資源需要長時間執行的作業。在您啟動刪除使用者身分的程序後,使用者在刪除前啟動的程序可以繼續執行,直到程序完成或取消為止。
後續步驟
- 在 Microsoft Entra ID 中設定 SCIM
- 刪除員工身分聯盟使用者及其資料
- 瞭解哪些 Cloud de Confiance 產品支援員工身分聯盟
- 設定使用者對控制台 (聯合) 的存取權