このガイドでは、Workforce ユーザー(Workforce プリンシパルとも呼ばれます)のアクティブ セッションと有効期間の短い認証情報を取り消す方法について説明します。
セッションを取り消すと、アクティブなセッションと認証情報が直ちに無効になります。ただし、ユーザー メタデータやリソースは削除されません。また、ユーザーが ID プロバイダ(IdP)でアクティブな状態が続いている場合、後続のログインを阻止することもありません。
セッションの取り消しは、次のようなシナリオで役立ちます。
- 認証情報の不正使用の疑い: ユーザーのアクティブ セッションまたは認証情報が不正使用されている疑いがあり、直ちにアクセスを遮断する必要があります。
- 退職またはロールの移行: 組織を離れるユーザーやロールを変更するユーザーのアクセス権は、ID の削除やグループの更新が進行中の場合でも、直ちに終了する必要があります。ユーザーを削除すると、30 日間の非同期の削除プロセスが開始されるため、セッションを取り消して、ユーザーのアクティブなアクセスを直ちに終了します。
- ポリシーの即時適用: IdP でユーザー権限またはグループ メンバーシップを変更し、更新されたセッション属性とグループ メンバーシップが有効になるように、ユーザーにすぐに再認証を求める場合。
始める前に
Google Cloud CLI をインストールします。インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。
gcloud init外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
必要なロール
Workforce ユーザー セッションを取り消すために必要な権限を取得するには、組織または Workforce プールに対する Workforce プール管理者 (roles/iam.workforcePoolAdmin)の IAM ロールを付与するように管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、ワークフォース ユーザー セッションを取り消すために必要な iam.googleapis.com/workforcePoolSubjects.revokeSessions 権限が含まれています。
カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
ユーザー セッションを取り消す
ワークフォース ユーザーのセッションを取り消すと、そのユーザー サブジェクトに発行されたすべてのアクティブなGoogle Cloud コンソール セッション、セッション Cookie、有効期間の短い OAuth 2.0 アクセス トークン、認証情報が直ちに無効になります。ユーザーは、ID プロバイダ(IdP)で再認証する必要があります。
Workforce ユーザーのセッションを取り消すには、次の操作を行います。
gcloud
gcloud iam workforce-pools subjects revoke-sessions コマンドは、Workforce プール サブジェクトのアクティブなセッションと有効期間の短い認証情報を取り消します。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
SUBJECT_ID: セッションを取り消すユーザーのサブジェクト ID。Cloud Audit Logs または IAM 許可ポリシーからユーザーの ID を取得している場合、サブジェクト ID はユーザーのプリンシパル ID の最後のセグメントです。形式はprincipal://iam.googleapis.com/locations/LOCATION/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_IDです。 -
WORKFORCE_POOL_ID: Workforce プール 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 メソッドは、Workforce プール サブジェクトのアクティブなセッションと有効期間の短い認証情報を取り消します。
リクエストのデータを使用する前に、次のように置き換えます。
-
SUBJECT_ID: セッションを取り消すユーザーのサブジェクト ID。Cloud Audit Logs または IAM 許可ポリシーからユーザーの ID を取得している場合、サブジェクト ID はユーザーのプリンシパル ID の最後のセグメントです。形式はprincipal://iam.googleapis.com/locations/LOCATION/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_IDです。 -
WORKFORCE_POOL_ID: Workforce プール ID。
HTTP メソッドと URL:
POST https://iam.googleapis.com/v1/locations/global/workforcePools/WORKFORCE_POOL_ID/subjects/SUBJECT_ID:revokeSessions
リクエストを送信するには、次のいずれかのオプションを展開します。
リクエストが成功すると、レスポンスの本文は空になります。
{}
次のステップ
- Workforce Identity 連携ユーザーとそのデータを削除する
- Workforce Identity プールとプロバイダを管理する
- Workforce Identity 連携の有効期間が短い認証情報を取得する
- Workforce Identity 連携の使用に関するベスト プラクティス