プリンシパルが利用資格に対して権限付与をリクエストして、権限付与が有効になると、privilegedaccessmanager.grants.revoke 権限を持つプリンシパルが権限付与を取り消すことができます。有効なステータスがない権限付与は取り消せません。
始める前に
Privileged Access Manager を有効にして、権限を設定していることを確認します。
Google Cloud コンソールを使用して権限付与を取り消す
利用資格に対して行われた特定の権限付与を取り消す手順は次のとおりです。
[Privileged Access Manager] ページに移動します。
権限を取り消す組織、フォルダ、またはプロジェクトを選択します。
[権限付与] タブをクリックし、[すべてのユーザーに対する権限付与] タブをクリックします。これには、すべてのリクエスト元のすべての権限付与、権限付与ステータス、関連する利用資格の詳細が含まれます。
表で、取り消す権限と同じ行にある (その他のオプション)をクリックします。
有効な権限付与を取り消すには、[権限付与を取り消す] をクリックします。
利用資格に対して行われたすべての有効な権限付与を取り消すには、次の手順を完了します。
[Privileged Access Manager] ページに移動します。
[利用資格] タブ、[すべてのユーザーを対象とした利用資格] タブの順にクリックします。ここでは、利用可能な利用資格、付与されるロール、有効なリクエスト元と承認者を確認できます。
表で、権限付与を取り消す利用資格と同じ行にある (その他のオプション)をクリックします。
[すべての権限を取り消す] をクリックします。
プログラムで権限を取り消す
gcloud
gcloud pam grants revoke コマンドは、有効な権限付与を取り消します。
後述のコマンドデータを使用する前に、次のように置き換えます。
GRANT_ID: 取り消す権限付与の ID。ID は、権限付与を表示することで取得できます。ENTITLEMENT_ID: 権限付与の利用資格の ID。REVOKE_REASON: 権限付与が取り消された理由。RESOURCE_TYPE: 省略可。利用資格が属するリソースタイプ。値organization、folder、またはprojectを使用します。RESOURCE_ID:RESOURCE_TYPEとともに使用します。利用資格を管理する Google Cloudプロジェクト、フォルダ、または組織の ID。プロジェクト ID は英数字からなる文字列です(例:my-project)。フォルダ ID と組織 ID は数値です(例:123456789012)。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud pam grants revoke \ GRANT_ID \ --entitlement=ENTITLEMENT_ID \ --reason="REVOKE_REASON" \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows(PowerShell)
gcloud pam grants revoke ` GRANT_ID ` --entitlement=ENTITLEMENT_ID ` --reason="REVOKE_REASON" ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows(cmd.exe)
gcloud 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_ID、folders/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/v1/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.v1.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": "v1"
},
"done": false
}
取り消しオペレーションの進行状況を確認するには、次のエンドポイントに GET リクエストを送信します。
https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations/OPERATION_ID
次のエンドポイントに GET リクエストを送信して、すべてのオペレーションのリストを取得します。
https://privilegedaccessmanager.googleapis.com/v1/SCOPE/locations/global/operations