權杖總覽

本文件和「權杖類型」文件涵蓋 Cloud de Confiance by S3NS 用於驗證和授權的多個權杖。這些範例適用於想瞭解權杖式驗證運作方式,或想實作驗證機制但不使用 Cloud Client Libraries 的使用者。

使用 Cloud 用戶端程式庫、 Cloud de Confiance 控制台或 Google Cloud CLI 與 Cloud de Confiance by S3NSAPI 互動時,您不需要瞭解這項資訊,系統會自動為您選取正確的權杖類型,並取得及重新整理這些權杖。

使用者驗證

當真人使用者與 Cloud de Confiance by S3NS互動時,不會直接與Cloud de Confiance by S3NS API 互動。而是使用用戶端代表他們執行動作。 他們使用的用戶端可能是網頁應用程式、桌面應用程式,或是 Google Cloud CLI 或 curl 等公用程式。

由於要求是由用戶端提出,而非使用者,因此 Cloud de Confiance by S3NS 無法直接向使用者要求身分資訊,以檢查他們是否有權使用 API。而是透過用戶端以權杖形式傳遞給 API,且每項 API 要求都會包含這個權杖。

使用者驗證權杖會編碼下列資訊:

  • 使用者的身分。

  • 用戶端的 ID。

  • 確保用戶端可代表使用者執行動作。

驗證使用者和授權用戶端涉及下列各方:

  • 使用者。

  • 代表使用者執行的用戶端。

  • 授權伺服器,Google API 會透過這個伺服器驗證用戶端。

  • 用戶端互動的 Cloud de Confiance by S3NS API。

用戶端無法自行核發權杖,而是必須與授權伺服器搭配運作,才能執行下列操作:

  1. 驗證使用者。

  2. 驗證用戶端。

  3. 授權用戶端代表使用者執行動作。

  4. 向用戶端核發權杖。

使用者透過用戶端驗證的關係圖

使用者登入 Google 帳戶進行驗證後,即為使用者主體。主體具有類似下列格式的主體 ID

user:alex@example.com

使用員工身分聯盟和外部身分識別提供者驗證身分的使用者,是員工身分集區主體。主體的主體 ID 類似於下列 ID:

principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/raha@altostrat.com

工作負載驗證

部分用戶端需要代表自己與 Google API 互動。舉例來說,排定的工作可能需要從 BigQuery 或 Cloud Storage 讀取資料,而不需要任何使用者介入。

自行代表無人值守的用戶端執行的動作稱為工作負載。與使用者驗證不同,工作負載驗證會將使用者驗證和用戶端授權合併為單一步驟。因此,工作負載驗證權杖只會編碼用戶端的 ID。

工作負載驗證和授權涉及下列各方:

  • 工作負載會同時做為用戶端和使用者,並代表自己。

  • 授權伺服器,Google API 會透過這個伺服器驗證用戶端。

  • 用戶端互動的 Cloud de Confiance by S3NS API。

如要存取 Cloud de Confiance by S3NS API,用戶端必須與授權伺服器合作,完成下列事項:

  1. 驗證用戶端。

  2. 授權用戶端。

  3. 向用戶端核發權杖。

工作負載透過用戶端驗證的關係圖

經過驗證的工作負載也稱為主體,但工作負載使用的主體 ID 與使用者不同。

使用服務帳戶驗證的工作負載是服務帳戶主體。主體的主體 ID 類似於下列 ID:

serviceAccount:my-service-account@my-project.s3ns.iam.gserviceaccount.com

使用 Workload Identity 聯盟驗證的工作負載是工作負載身分識別集區主體。主體具有類似下列的主體 ID:

principal://iam.googleapis.com/projects/PROJECT_NAME/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ATTRIBUTE_VALUE

授權伺服器

Cloud de Confiance by S3NS 與其他 Google 服務共用特定驗證和授權設施。共用設施包括「使用 Google 帳戶登入」,以及 Google Identity 提供的 OpenID ConnectOAuth 2.0 服務。

其他與驗證相關的服務 (例如 Workload Identity Federation 和 Workforce Identity Federation) 僅適用於 Cloud de Confiance by S3NS ,無法用於其他 Google 服務。

因此 Cloud de Confiance by S3NS 使用兩個授權伺服器。一個是與其他 Google 服務共用,另一個則專屬於 Cloud de Confiance by S3NS。下表說明不同伺服器及其屬性。

授權伺服器 驗證類型 驗證 API 主體
Google 授權伺服器
  • 使用者驗證
  • 工作負載驗證
Cloud de Confiance by S3NS Identity and Access Management (IAM) 授權伺服器
  • 使用者驗證
  • 工作負載驗證

授權伺服器是全球服務,可從任何Cloud de Confiance by S3NS 區域存取。不過,並非所有區域都同時部署授權伺服器:

  • Google 授權伺服器僅在特定區域提供。

  • Cloud de Confiance by S3NS IAM 授權伺服器適用於所有區域。

為提升可靠性,請盡可能使用 Cloud de Confiance by S3NS IAM 授權伺服器。

後續步驟

瞭解權杖類型