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.
Tieni presente quanto segue 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 in
expired
. Dopodiché, un principale deve effettuare una nuova richiesta di concessione se è ancora necessaria l'elevazione dei privilegi.
Approvare o negare 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 è richiesta una motivazione, inseriscila nel campo Commento.
Fai clic su Approva o Nega.
Puoi visualizzare la cronologia delle approvazioni nella scheda La mia cronologia di 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 concessioni, 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.
Approvare o rifiutare 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 il seguente comando:
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 in cui si trova il diritto, nel formatoorganizations/ORGANIZATION_ID
,folders/FOLDER_ID
oprojects/PROJECT_ID
. Gli ID progetto sono stringhe alfanumeriche, ad esempiomy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.FILTER
: facoltativo. Restituisce i diritti i cui valori dei campi corrispondono 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:search?callerAccessType=GRANT_APPROVER&filter=FILTER&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
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", "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=" } ]
Cerca le richieste di concessione 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 i dati dei comandi 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
: utilizza uno dei seguenti valori:had-approved
: restituisce le autorizzazioni approvate o rifiutate dall'utente che ha effettuato la chiamata.can-approve
: i resi possono essere approvati o rifiutati dal chiamante.
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 il seguente comando:
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
Il metodo searchGrants
dell'API Privileged Access Manager 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 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, ad esempiomy-project
. Gli ID cartella e dell'organizzazione sono numerici, ad esempio123456789012
.ENTITLEMENT_ID
: l'ID del diritto a cui appartiene la concessione. Puoi recuperare l'ID cercando i diritti per i quali disponi dell'approvazione.RELATIONSHIP_TYPE
: i valori validi sono:HAD_APPROVED
: restituisce le autorizzazioni che l'utente che chiama ha precedentemente approvato o rifiutato.CAN_APPROVE
: i resi possono essere approvati o rifiutati dal chiamante.
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 di queste 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 concessione che puoi approvare o rifiutare.ENTITLEMENT_ID
: l'ID del diritto 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 il seguente comando:
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
Il metodo approveGrant
dell'API Privileged Access Manager approva una richiesta di concessione specifica.
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, ad esempiomy-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 sovvenzione che stai approvando. Puoi recuperare l'ID cercando le richieste di concessione che puoi 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" ] }
Rifiutare le concessioni in modo programmatico
gcloud
Il comando
gcloud beta pam grants describe
nega una richiesta di sovvenzione specifica.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
GRANT_ID
: l'ID della concessione che stai rifiutando. Puoi recuperare l'ID tramite una ricerca dei contributi 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 il seguente comando:
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, 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, ad esempiomy-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 rifiutando. Puoi recuperare l'ID cercando i contributi 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" ] }