Privileged Access Manager で権限付与を取り消す

プリンシパルが利用資格に対して権限付与をリクエストして、権限付与が有効になると、適切な権限を持つプリンシパルが権限付与を取り消すことができます。有効なステータスがない権限付与は取り消せません。

始める前に

Privileged Access Manager を有効にして、権限を設定していることを確認します。

Google Cloud コンソールを使用して権限付与を取り消す

利用資格に対して行われた特定の権限付与を取り消す手順は次のとおりです。

  1. [Privileged Access Manager] ページに移動します。

    Privileged Access Manager に移動

  2. 権限を取り消す組織、フォルダ、またはプロジェクトを選択します。

  3. [権限付与] タブをクリックし、[すべてのユーザーに対する権限付与] タブをクリックします。これには、すべてのリクエスト元のすべての権限付与、権限付与ステータス、関連する利用資格の詳細が含まれます。

  4. 表で、取り消す権限と同じ行にある その他のオプション)をクリックします。

  5. 有効な権限付与を取り消すには、[権限付与を取り消す] をクリックします。

利用資格に対して行われたすべての有効な権限付与を取り消すには、次の手順を完了します。

  1. [Privileged Access Manager] ページに移動します。

    Privileged Access Manager に移動

  2. [利用資格] タブ、[すべてのユーザーを対象とした利用資格] タブの順にクリックします。ここでは、利用可能な利用資格、付与されるロール、有効なリクエスト元と承認者を確認できます。

  3. 表で、権限付与を取り消す利用資格と同じ行にある その他のオプション)をクリックします。

  4. [すべての権限を取り消す] をクリックします。

プログラムで権限を取り消す

gcloud

gcloud beta pam grants revoke コマンドは、有効な権限付与を取り消します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • GRANT_ID: 取り消す権限付与の ID。ID は、権限付与を表示することで取得できます。
  • ENTITLEMENT_ID: 権限付与の利用資格の ID。
  • REVOKE_REASON: 権限付与が取り消された理由。
  • RESOURCE_TYPE: 省略可。利用資格が属するリソースタイプ。値 organizationfolder、または project を使用します。
  • RESOURCE_ID: RESOURCE_TYPE とともに使用します。利用資格を管理する Google Cloud プロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。

次のコマンドを実行します。

Linux、macOS、Cloud Shell

gcloud beta pam grants revoke \
     GRANT_ID \
    --entitlement=ENTITLEMENT_ID \
    --reason="REVOKE_REASON" \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows(PowerShell)

gcloud beta pam grants revoke `
     GRANT_ID `
    --entitlement=ENTITLEMENT_ID `
    --reason="REVOKE_REASON" `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows(cmd.exe)

gcloud beta pam grants revoke ^
     GRANT_ID ^
    --entitlement=ENTITLEMENT_ID ^
    --reason="REVOKE_REASON" ^
    --location=global ^
    --RESOURCE_TYPE=RESOURCE_ID

次のようなレスポンスが返されます。

auditTrail:
  accessGrantTime: '2024-04-05T00:29:16.703069535Z'
  accessRemoveTime: '2024-04-05T00:29:55.815041079Z'
createTime: '2024-04-05T00:27:43.822053968Z'
justification:
  unstructuredJustification: Renaming a file to mitigate issue #312
name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID
privilegedAccess:
  gcpIamAccess:
    resource: //cloudresourcemanager.googleapis.com/projects/my-project
    resourceType: cloudresourcemanager.googleapis.com/Project
    roleBindings:
    - role: roles/storage.admin
requestedDuration: 2700s
requester: cruz@example.com
state: REVOKED
timeline:
  events:
  - eventTime: '2024-04-05T00:27:44.014277946Z'
    requested:
      expireTime: '2024-04-06T00:27:44.014277946Z'
  - approved:
      actor: alex@example.com
      reason: Access allowed under existing policy
    eventTime: '2024-04-05T00:29:14.921828714Z'
  - eventTime: '2024-04-05T00:29:14.921763008Z'
    scheduled:
      scheduledActivationTime: '2024-04-05T00:29:14.921763008Z'
  - activated: {}
    eventTime: '2024-04-05T00:29:16.703069535Z'
  - eventTime: '2024-04-05T00:29:55.815041079Z'
    revoked:
      actor: alex@example.com
      reason: Revoking due to new access policy

REST

Privileged Access Manager API の revokeGrant メソッドは、有効な権限付与を取り消します。

リクエストのデータを使用する前に、次のように置き換えます。

  • SCOPE: 利用資格が含まれる組織、フォルダ、またはプロジェクト。organizations/ORGANIZATION_IDfolders/FOLDER_ID、または projects/PROJECT_ID の形式です。プロジェクト ID は英数字からなる文字列です(例: my-project)。フォルダ ID と組織 ID は数値です(例: 123456789012)。
  • ENTITLEMENT_ID: 権限付与の利用資格の ID。
  • GRANT_ID: 取り消す権限付与の ID。ID は、権限付与を表示することで取得できます。
  • REVOKE_REASON: 権限付与が取り消された理由。

HTTP メソッドと URL:

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:revoke

リクエストの本文(JSON):

{
  "reason": "REVOKE_REASON"
}

リクエストを送信するには、次のいずれかのオプションを開きます。

次のような JSON レスポンスが返されます。

{
  "name": "projects/my-project/locations/global/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.privilegedaccessmanager.v1beta.OperationMetadata",
    "createTime": "2024-03-06T23:07:48.716396505Z",
    "target": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1beta"
  },
  "done": false
}

取り消しオペレーションの進行状況を確認するには、次のエンドポイントに GET リクエストを送信します。

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations/OPERATION_ID

次のエンドポイントに GET リクエストを送信して、すべてのオペレーションのリストを取得します。

https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/operations