Dopo aver creato un diritto, alcuni Principi possono richiedere una concessione per quel diritto. Se per il diritto è specificato un flusso di lavoro di approvazione, alcuni principi configurati come approvatori possono approvare o negare le richieste di concessione per quel diritto.
Quando approvi o rifiuti una richiesta di concessione per un diritto:
Non puoi approvare la tua richiesta.
Se una richiesta non viene approvata o rifiutata entro 24 ore, lo stato della concessione viene modificato a
expired
. Dopodiché, un principale deve effettuare una nuova richiesta di concessione se è ancora necessaria l'elevazione dei privilegi.
Approva o nega le concessioni utilizzando la console Google Cloud
Per approvare o rifiutare una richiesta di concessione presentata in base a un diritto, segui le istruzioni riportate di seguito:
Vai alla pagina Privileged Access Manager.
Fai clic sulla scheda Approva sovvenzioni, quindi sulla scheda In attesa di approvazione.
Nella riga relativa alla richiesta che vuoi approvare o rifiutare, fai clic su Approva/Rifiuta.
Se è necessaria una giustificazione, inseriscila nel campo Commento.
Fai clic su Approva o Nega.
Puoi visualizzare la cronologia delle approvazioni nella scheda La mia cronologia delle approvazioni. La cronologia delle approvazioni è disponibile per 30 giorni dopo l'adozione di un'azione di approvazione.
Approvare o rifiutare le concessioni in modo programmatico
Per approvare o negare le sovvenzioni, devi completare le seguenti azioni:
Cerca i diritti per i quali disponi dell'approvazione.
Con l'ID diritto pertinente, cerca le richieste di concessione che puoi approvare o rifiutare.
Approva o rifiuta le richieste di concessione.
Cercare i diritti per i quali sei un approvatore
gcloud
Il
gcloud beta pam entitlements search
comando con il tipo di accesso chiamantegrant-approver
cerca i diritti per i quali sei un approvatore.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
RESOURCE_TYPE
: facoltativo. Il tipo di risorsa a cui appartiene il diritto. Utilizza il valoreorganization
,folder
oproject
.RESOURCE_ID
: utilizzato conRESOURCE_TYPE
. L'ID del progetto, della cartella o dell'organizzazione Google Cloud per cui vuoi gestire i diritti. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud beta pam entitlements search \ --caller-access-type=grant-approver \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam entitlements search ` --caller-access-type=grant-approver ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam entitlements search ^ --caller-access-type=grant-approver ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Dovresti ricevere una risposta simile alla seguente:
additionalNotificationTargets: {} approvalWorkflow: manualApprovals: requireApproverJustification: true steps: - approvalsNeeded: 1 approvers: - principals: - user:alex@example.com createTime: '22024-03-26T11:07:37.009498890Z' etag: 00000000000000000000000000000000000000000000000000000000000= maxRequestDuration: 3600s name: projects/my-project/locations/global/entitlements/ENTITLEMENT_ID privilegedAccess: gcpIamAccess: resource: //cloudresourcemanager.googleapis.com/projects/my-project resourceType: cloudresourcemanager.googleapis.com/Project roleBindings: - role: roles/storage.admin requesterJustificationConfig: notMandatory: {} state: AVAILABLE updateTime: '2024-03-26T11:07:40.056780645Z'
REST
Il metodo searchEntitlements
dell'API Privileged Access Manager con il tipo di accesso chiamante GRANT_APPROVER
cerca i diritti per i quali sei un approvatore.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
SCOPE
: l'organizzazione, la cartella o il progetto che il diritto è nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
, oppureprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.FILTER
: facoltativo. Restituisce i diritti il cui i valori del campo corrispondono Espressione AIP-160.PAGE_SIZE
: facoltativo. Il numero di elementi da in una risposta.PAGE_TOKEN
: facoltativo. La pagina da cui iniziare la risposta utilizzando un token di pagina restituito in una risposta precedente.
Metodo HTTP e URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements:search?callerAccessType=GRANT_APPROVER&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
[ { "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID", "createTime": "2023-11-21T17:28:39.962144708Z", "updateTime": "2023-11-21T17:28:43.160309410Z", "eligibleUsers": [ { "principals": [ "user:alex@example.com" ] } ], "approvalWorkflow": { "manualApprovals": { "steps": [ { "approvers": [ { "principals": [ "user:bola@example.com" ] } ], "approvalsNeeded": 1 } ] } }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "maxRequestDuration": "14400s", "state": "AVAILABLE", "requesterJustificationConfig": { "unstructured": {} }, "additionalNotificationTargets": { "adminEmailRecipients": [ "alex@example.com" ] }, "etag": "00000000000000000000000000000000000000000000000000000000000=" } ]
Cercare le richieste di sovvenzione che puoi approvare o rifiutare
gcloud
Il comando
gcloud beta pam grants search
cerca una concessione che puoi approvare o rifiutare oppure che hai già approvato o rifiutato. Questo metodo non richiede autorizzazioni specifiche di Privileged Access Manager per l'utilizzo.
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
ENTITLEMENT_ID
: l'ID del diritto a cui appartiene la concessione. Puoi recuperare l'ID cercando i diritti per i quali disponi dell'approvazione.-
CALLER_RELATIONSHIP_TYPE
: usa una delle i seguenti valori:had-approved
: restituisce le concessioni a cui il chiamante approvati o rifiutati.can-approve
: restituisce che il chiamante può restituire approvare o rifiutare.
RESOURCE_TYPE
: facoltativo. Il tipo di risorsa a cui appartiene il diritto. Utilizza il valoreorganization
,folder
oproject
.RESOURCE_ID
: utilizzato conRESOURCE_TYPE
. L'ID del progetto, della cartella o dell'organizzazione Google Cloud per cui vuoi gestire i diritti. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud beta pam grants search \ --entitlement=ENTITLEMENT_ID \ --caller-relationship=CALLER_RELATIONSHIP_TYPE \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam grants search ` --entitlement=ENTITLEMENT_ID ` --caller-relationship=CALLER_RELATIONSHIP_TYPE ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam grants search ^ --entitlement=ENTITLEMENT_ID ^ --caller-relationship=CALLER_RELATIONSHIP_TYPE ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Dovresti ricevere una risposta simile alla seguente:
additionalEmailRecipients: - bola@example.com createTime: '2024-03-07T00:34:32.557017289Z' 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: 3600s requester: cruz@example.com state: DENIED timeline: events: - eventTime: '2024-03-07T00:34:32.793769042Z' requested: expireTime: '2024-03-08T00:34:32.793769042Z' - denied: actor: alex@example.com reason: Issue has already been resolved eventTime: '2024-03-07T00:36:08.309116203Z' updateTime: '2024-03-07T00:34:32.926967128Z'
REST
L'API Privileged Access Manager
searchGrants
ricerca una concessione che puoi approvare o rifiutare oppure
già approvata o rifiutata. Questo metodo non richiede Privileged Access Manager specifico
autorizzazioni da utilizzare.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
SCOPE
: l'organizzazione, la cartella o il progetto in cui si trova il diritto, nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Cartelle e Gli ID organizzazione sono numerici, ad esempio123456789012
.ENTITLEMENT_ID
: l'ID del diritto a cui appartiene la concessione. Puoi recuperare l'ID cercare i diritti per i quali sei un approvatore.RELATIONSHIP_TYPE
: i valori validi sono:HAD_APPROVED
: restituisce le concessioni a cui il chiamante approvata o rifiutata in precedenza.CAN_APPROVE
: restituisce che il chiamante può restituire approvare o rifiutare.
FILTER
: facoltativo. Restituisce i contributi i cui valori dei campi corrispondenti a un'espressione AIP-160.PAGE_SIZE
: facoltativo. Il numero di elementi da restituire in una risposta.PAGE_TOKEN
: facoltativo. La pagina da cui iniziare la risposta utilizzando un token di pagina restituito in una risposta precedente.
Metodo HTTP e URL:
GET https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants:search?callerRelationship=RELATIONSHIP_TYPE&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "grants": [ { "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID", "createTime": "2024-03-06T03:08:49.330577625Z", "updateTime": "2024-03-06T03:08:49.625874598Z", "requester": "alex@example.com", "requestedDuration": "3600s", "justification": { "unstructuredJustification": "Emergency service for outage" }, "state": "APPROVAL_AWAITED", "timeline": { "events": [ { "eventTime": "2024-03-06T03:08:49.462765846Z", "requested": { "expireTime": "2024-03-07T03:08:49.462765846Z" } } ] }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "additionalEmailRecipients": [ "bola@google.com" ] } ] }
Approvare le concessioni in modo programmatico
gcloud
Il comando
gcloud beta pam grants describe
approva una richiesta di sovvenzione specifica.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
GRANT_ID
: l'ID della sovvenzione che stai approvando. Puoi recuperare l'ID cercando le richieste di sovvenzione che puoi approvare o rifiutare.ENTITLEMENT_ID
: l'ID del diritto che a cui appartiene la concessione.APPROVAL_REASON
: il motivo per cui la sovvenzione è stata approvata.RESOURCE_TYPE
: facoltativo. Il tipo di risorsa a cui appartiene il diritto. Utilizza il valoreorganization
,folder
oproject
.RESOURCE_ID
: utilizzato conRESOURCE_TYPE
. L'ID del progetto, della cartella o dell'organizzazione Google Cloud per cui vuoi gestire i diritti. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud beta pam grants approve \ GRANT_ID \ --entitlement=ENTITLEMENT_ID \ --reason="APPROVAL_REASON" \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam grants approve ` GRANT_ID ` --entitlement=ENTITLEMENT_ID ` --reason="APPROVAL_REASON" ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam grants approve ^ GRANT_ID ^ --entitlement=ENTITLEMENT_ID ^ --reason="APPROVAL_REASON" ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Dovresti ricevere una risposta simile alla seguente:
createTime: '2024-04-05T01:17:04.596455403Z' 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: SCHEDULED timeline: events: - eventTime: '2024-04-05T01:17:04.732226659Z' requested: expireTime: '2024-04-06T01:17:04.732226659Z' - approved: actor: alex@example.com reason: Access allowed under existing policy eventTime: '2024-04-05T01:21:49.139539732Z' - eventTime: '2024-04-05T01:21:49.139463954Z' scheduled: scheduledActivationTime: '2024-04-05T01:21:49.139463954Z' updateTime: '2024-04-05T01:21:49.139463954Z'
REST
L'API Privileged Access Manager
approveGrant
approva una specifica richiesta di concessione.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
SCOPE
: l'organizzazione, la cartella o il progetto in cui si trova il diritto, nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.ENTITLEMENT_ID
: l'ID del diritto che a cui appartiene la concessione.GRANT_ID
: l'ID della concessione che stai approvando. Puoi recuperare l'ID Cercare richieste di concessione da approvare o rifiutare.REASON
: il motivo per cui la richiesta di sovvenzione è stata approvata.
Metodo HTTP e URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:approve
Corpo JSON della richiesta:
{ "reason": "REASON" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID", "createTime": "2024-03-06T03:08:49.330577625Z", "updateTime": "2024-03-06T23:01:13.964619844Z", "requester": "alex@example.com", "requestedDuration": "3600s", "justification": { "unstructuredJustification": "Emergency service for outage" }, "state": "SCHEDULED", "timeline": { "events": [ { "eventTime": "2024-03-06T03:08:49.462765846Z", "requested": { "expireTime": "2024-03-07T03:08:49.462765846Z" } }, { "eventTime": "2024-03-06T23:01:13.964685709Z", "approved": { "reason": "Approved escalation", "actor": "cruz@example.com" } }, { "eventTime": "2024-03-06T23:01:13.964619844Z", "scheduled": { "scheduledActivationTime": "2024-03-06T23:01:13.964619844Z" } } ] }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "additionalEmailRecipients": [ "bola@example.com.com" ] }
Rifiuta le concessioni in modo programmatico
gcloud
La
gcloud beta pam grants describe
rifiuta una specifica richiesta di concessione.
Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:
GRANT_ID
: l'ID della concessione che stai negando. Tu può recuperare l'ID alla ricerca di concessioni che puoi approvare o rifiutare.ENTITLEMENT_ID
: l'ID del diritto a cui appartiene la concessione.DENIAL_REASON
: il motivo per cui la concessione è stata rifiutata.RESOURCE_TYPE
: facoltativo. Il tipo di risorsa a cui appartiene il diritto. Utilizza il valoreorganization
,folder
oproject
.RESOURCE_ID
: utilizzato conRESOURCE_TYPE
. L'ID del progetto, della cartella o dell'organizzazione Google Cloud per cui vuoi gestire i diritti. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.
Esegui la persone che seguo :
Linux, macOS o Cloud Shell
gcloud beta pam grants deny \ GRANT_ID \ --entitlement=ENTITLEMENT_ID \ --reason="DENIAL_REASON" \ --location=global \ --RESOURCE_TYPE=RESOURCE_ID
Windows (PowerShell)
gcloud beta pam grants deny ` GRANT_ID ` --entitlement=ENTITLEMENT_ID ` --reason="DENIAL_REASON" ` --location=global ` --RESOURCE_TYPE=RESOURCE_ID
Windows (cmd.exe)
gcloud beta pam grants deny ^ GRANT_ID ^ --entitlement=ENTITLEMENT_ID ^ --reason="DENIAL_REASON" ^ --location=global ^ --RESOURCE_TYPE=RESOURCE_ID
Dovresti ricevere una risposta simile alla seguente:
createTime: '2024-04-05T01:29:13.129192816Z' 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: DENIED timeline: events: - eventTime: '2024-04-05T01:29:13.267878626Z' requested: expireTime: '2024-04-06T01:29:13.267878626Z' - denied: actor: alex@example.com reason: Access denied under existing policy eventTime: '2024-04-05T01:29:49.492161363Z' updateTime: '2024-04-05T01:29:49.492097724Z'
REST
Il metodo denyGrant
dell'API Privileged Access Manager nega una richiesta di concessione specifica.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
SCOPE
: l'organizzazione, la cartella o il progetto in cui si trova il diritto, nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.ENTITLEMENT_ID
: l'ID del diritto a cui appartiene la concessione.GRANT_ID
: l'ID della concessione che stai negando. Puoi recuperare l'ID alla ricerca di concessioni che puoi approvare o rifiutare.REASON
: il motivo per cui la richiesta di concessione è stata rifiutata.
Metodo HTTP e URL:
POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID:deny
Corpo JSON della richiesta:
{ "reason": "REASON" }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/my-project/locations/global/entitlements/ENTITLEMENT_ID/grants/GRANT_ID", "createTime": "2024-03-07T00:34:32.557017289Z", "updateTime": "2024-03-07T00:36:08.309046580Z", "requester": "alex@example.com", "requestedDuration": "3600s", "justification": { "unstructuredJustification": "Emergency service for outage" }, "state": "DENIED", "timeline": { "events": [ { "eventTime": "2024-03-07T00:34:32.793769042Z", "requested": { "expireTime": "2024-03-08T00:34:32.793769042Z" } }, { "eventTime": "2024-03-07T00:36:08.309116203Z", "denied": { "reason": "Outage already resolved", "actor": "cruz@example.com" } } ] }, "privilegedAccess": { "gcpIamAccess": { "resourceType": "cloudresourcemanager.googleapis.com/Project", "resource": "//cloudresourcemanager.googleapis.com/projects/my-project", "roleBindings": [ { "role": "roles/storage.admin" } ] } }, "additionalEmailRecipients": [ "bola@example.com" ] }