本指南說明如何撤銷工作人員使用者 (也稱為工作人員主體) 的有效工作階段和短期憑證。
撤銷工作階段會立即讓有效工作階段和憑證失效。 不過,如果使用者在身分識別提供者 (IdP) 中仍處於活躍狀態,系統就不會刪除使用者中繼資料或資源,也不會禁止後續登入。
在下列情況下,撤銷工作階段非常實用:
- 懷疑憑證遭盜用:您懷疑使用者的有效工作階段或憑證遭盜用,必須立即切斷存取權。
- 離職或角色異動:使用者離職或角色異動時,您必須立即終止其存取權,同時刪除身分或更新群組。由於刪除使用者會啟動為期 30 天的非同步軟刪除程序,因此請撤銷工作階段,立即終止使用者的有效存取權。
- 立即強制執行政策:您在 IdP 中修改了使用者權限或群組成員資格,並希望使用者立即重新驗證身分,以便更新工作階段屬性和群組成員資格。
事前準備
安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:
gcloud init如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
必要的角色
如要取得撤銷工作團隊使用者工作階段所需的權限,請要求管理員授予您組織或工作團隊集區的工作團隊集區管理員 (roles/iam.workforcePoolAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備 iam.googleapis.com/workforcePoolSubjects.revokeSessions 權限,可撤銷員工使用者工作階段。
撤銷使用者工作階段
撤銷員工使用者的工作階段後,所有運作中的Google Cloud 控制台工作階段、工作階段 Cookie、短期 OAuth 2.0 存取權杖,以及為該使用者主體核發的憑證都會立即失效,使用者必須向身分識別提供者 (IdP) 重新驗證身分。
如要撤銷員工使用者的工作階段,請按照下列步驟操作:
gcloud
gcloud iam workforce-pools subjects revoke-sessions
指令會撤銷工作團隊集區主體的有效工作階段和短期憑證。
使用下列任何指令資料之前,請先替換以下項目:
-
SUBJECT_ID:要撤銷工作階段的使用者主體 ID。如要從 Cloud 稽核記錄或 IAM 允許政策擷取使用者身分,主體 ID 是使用者主體 ID 的最後一段,格式如下:principal://iam.googleapis.com/locations/LOCATION/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_ID。 -
WORKFORCE_POOL_ID:工作團隊集區 ID。
執行下列指令:
Linux、macOS 或 Cloud Shell
gcloud iam workforce-pools subjects revoke-sessions \ SUBJECT_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=global
Windows (PowerShell)
gcloud iam workforce-pools subjects revoke-sessions ` SUBJECT_ID ` --workforce-pool=WORKFORCE_POOL_ID ` --location=global
Windows (cmd.exe)
gcloud iam workforce-pools subjects revoke-sessions ^ SUBJECT_ID ^ --workforce-pool=WORKFORCE_POOL_ID ^ --location=global
REST
locations.workforcePools.subjects.revokeSessions
方法會撤銷工作人員集區主體的有效工作階段和短期憑證。
使用任何要求資料之前,請先修改下列項目的值:
-
SUBJECT_ID:要撤銷工作階段的使用者主體 ID。如要從 Cloud 稽核記錄或 IAM 允許政策擷取使用者身分,主體 ID 是使用者主體 ID 的最後一段,格式如下:principal://iam.googleapis.com/locations/LOCATION/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_ID。 -
WORKFORCE_POOL_ID:工作團隊集區 ID。
HTTP 方法和網址:
POST https://iam.googleapis.com/v1/locations/global/workforcePools/WORKFORCE_POOL_ID/subjects/SUBJECT_ID:revokeSessions
請展開以下其中一個選項,以傳送要求:
如果要求成功,回應主體會是空白。
{}