Richiedere l'accesso elevato temporaneo con Privileged Access Manager

Per elevare temporaneamente i tuoi privilegi, puoi richiedere una concessione in base a un diritto in Privileged Access Manager (PAM) per una durata fissa.

Un diritto contiene i ruoli che ti vengono concessi dopo l'approvazione della richiesta di concessione. Questi ruoli vengono rimossi da Privileged Access Manager al termine della concessione.

Tieni presente quanto segue quando vuoi richiedere una concessione in base a un diritto:

  • Puoi richiedere sovvenzioni solo per i diritti a cui hai effettuato l'accesso. Per essere aggiunto a un diritto, contatta l'amministratore del diritto.

  • A seconda della configurazione, la concessione di una richiesta di sovvenzione potrebbe richiedere l'approvazione.

  • Se una richiesta di concessione richiede l'approvazione e non viene approvata o rifiutata entro 24 ore, lo stato della concessione viene modificato in Expired. Dopodiché, devi effettuare una nuova richiesta di assegnazione se è ancora necessaria l'elevazione dei privilegi.

  • L'applicazione delle richieste di concessione andate a buon fine potrebbe richiedere alcuni minuti.

Richiedere una concessione utilizzando la console Google Cloud

Per richiedere una concessione in base a un diritto, segui le istruzioni riportate di seguito:

  1. Vai alla pagina Privileged Access Manager.

    Vai a Privileged Access Manager

  2. Seleziona l'organizzazione, la cartella o il progetto in cui vuoi richiedere una sovvenzione.

  3. Nella scheda I miei diritti, individua il diritto per cui vuoi richiedere l'assegnazione e fai clic su Richiedi assegnazione nella stessa riga.

  4. Fornisci i seguenti dettagli:

    • La durata richiesta per la concessione, fino alla durata massima impostata sul diritto.

    • Se necessario, una giustificazione per la concessione.

    • (Facoltativo) Gli indirizzi email a cui inviare una notifica relativa alla richiesta di concessione. Le identità Google associate agli approvatori vengono notificate automaticamente. Tuttavia, potrebbe essere opportuno inviare una notifica a un insieme diverso di indirizzi email, soprattutto se utilizzi la federazione delle identità per la forza lavoro.

  5. Fai clic su Richiedi concessione.

  6. Per visualizzare la cronologia dei sussidi, inclusi gli stati di approvazione, fai clic sulla scheda Sussidi, quindi sulla scheda I miei sussidi.

Richiedere una sovvenzione in modo programmatico

Per richiedere una sovvenzione in base a un diritto, devi completare i seguenti passaggi:

  1. Cerca gli ID dei diritti disponibili per i quali puoi richiedere concessioni.

  2. Richiedi la sovvenzione.

In seguito, puoi controllare lo stato della concessione per verificare se è attiva, ovvero se hai ricevuto l'elevazione temporanea.

Cercare i diritti disponibili

gcloud

Il comando gcloud beta pam entitlements search con il tipo di accesso chiamantegrant-requester cerca i diritti per i quali puoi richiedere una concessione.

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 valore organization, folder o project.
  • RESOURCE_ID: utilizzato con RESOURCE_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 esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

Esegui il seguente comando:

Linux, macOS o Cloud Shell

gcloud beta pam entitlements search \
    --caller-access-type=grant-requester \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam entitlements search `
    --caller-access-type=grant-requester `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam entitlements search ^
    --caller-access-type=grant-requester ^
    --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: ETAG
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_REQUESTER cerca i diritti per i quali puoi richiedere una concessione.

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 formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e dell'organizzazione sono numerici, ad esempio 123456789012.
  • 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_REQUESTER&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": "ETAG"
  }
]

Richiedere una concessione per un diritto

gcloud

Il comando gcloud beta pam grants create richiede una concessione.

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • ENTITLEMENT_ID: l'ID diritto in base al quale creare la concessione.
  • GRANT_DURATION: la durata richiesta della concessione in secondi.
  • JUSTIFICATION: la motivazione della richiesta del contributo.
  • EMAIL_ADDRESS: facoltativo. Indirizzi email aggiuntivi per la notifica della richiesta di sovvenzione. Le identità Google associate ai revisori vengono notificate automaticamente. Tuttavia, ti consigliamo di informare un insieme diverso di indirizzi email, in particolare se utilizzi la federazione delle identità della forza lavoro.
  • RESOURCE_TYPE: facoltativo. Il tipo di risorsa a cui appartiene il diritto. Utilizza il valore organization, folder o project.
  • RESOURCE_ID: utilizzato con RESOURCE_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 esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

Esegui il seguente comando:

Linux, macOS o Cloud Shell

gcloud beta pam grants create \
    --entitlement=ENTITLEMENT_ID \
    --requested-duration="GRANT_DURATIONs" \
    --justification="JUSTIFICATION" \
    --location=global \
    [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants create `
    --entitlement=ENTITLEMENT_ID `
    --requested-duration="GRANT_DURATIONs" `
    --justification="JUSTIFICATION" `
    --location=global `
    [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants create ^
    --entitlement=ENTITLEMENT_ID ^
    --requested-duration="GRANT_DURATIONs" ^
    --justification="JUSTIFICATION" ^
    --location=global ^
    [--additional-email-recipients=EMAIL_ADDRESS_1, EMAIL_ADDRESS_2] ^
    --RESOURCE_TYPE=RESOURCE_ID

Dovresti ricevere una risposta simile alla seguente:

Created [GRANT_ID].

REST

Il metodo createGrant dell'API Privileged Access Manager richiede una concessione.

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 formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e dell'organizzazione sono numerici, ad esempio 123456789012.
  • ENTITLEMENT_ID: l'ID diritto in base al quale creare la concessione.
  • REQUEST_ID: facoltativo. Deve essere un UUID diverso da zero. Se il server riceve una richiesta con un ID richiesta, controlla se un'altra richiesta con lo stesso ID è già stata completata negli ultimi 60 minuti. In questo caso, la nuova richiesta viene ignorata.
  • GRANT_DURATION: la durata richiesta della concessione in secondi.
  • JUSTIFICATION: la motivazione della richiesta del contributo.
  • EMAIL_ADDRESS: facoltativo. Indirizzi email aggiuntivi per la notifica della richiesta di sovvenzione. Le identità Google associate ai revisori vengono notificate automaticamente. Tuttavia, ti consigliamo di inviare una notifica a un insieme diverso di indirizzi email, in particolare se utilizzi la federazione delle identità per la forza lavoro.

Metodo HTTP e URL:

POST https://privilegedaccessmanager.googleapis.com/v1beta/SCOPE/locations/global/entitlements/ENTITLEMENT_ID/grants?requestId=REQUEST_ID

Corpo JSON della richiesta:

{
  "requestedDuration": "GRANT_DURATIONs",
  "justification": {
    "unstructuredJustification": "JUSTIFICATION"
  },
  "additionalEmailRecipients": [
    "EMAIL_ADDRESS_1",
    "EMAIL_ADDRESS_2",
    ...
  ]
}

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-06T03:08:49.330577625Z",
  "requester": "bola@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": [
    "alex@example.com"
  ]
}

Controllare lo stato della richiesta di sovvenzione

gcloud

Il gcloud beta pam grants search comando utilizzato con il rapporto chiamante had-created consente di cercare i sussidi che hai creato. Per controllare il loro stato, cerca il campo state nella risposta.

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.
  • RESOURCE_TYPE: facoltativo. Il tipo di risorsa a cui appartiene il diritto. Utilizza il valore organization, folder o project.
  • RESOURCE_ID: utilizzato con RESOURCE_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 esempio my-project. Gli ID cartella e organizzazione sono numerici, ad esempio 123456789012.

Esegui il seguente comando:

Linux, macOS o Cloud Shell

gcloud beta pam grants search \
    --entitlement=ENTITLEMENT_ID \
    --caller-relationship=had-created \
    --location=global \
    --RESOURCE_TYPE=RESOURCE_ID

Windows (PowerShell)

gcloud beta pam grants search `
    --entitlement=ENTITLEMENT_ID `
    --caller-relationship=had-created `
    --location=global `
    --RESOURCE_TYPE=RESOURCE_ID

Windows (cmd.exe)

gcloud beta pam grants search ^
    --entitlement=ENTITLEMENT_ID ^
    --caller-relationship=had-created ^
    --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'

I contributi possono avere i seguenti stati:

Stato Descrizione
ATTIVATA La concessione è in fase di attivazione.
ACTIVATION_FAILED Privileged Access Manager non ha potuto concedere i ruoli a causa di un errore non recuperabile.
ATTIVA La concessione è attiva e l'entità ha accesso alle risorse consentite dai ruoli.
APPROVAL_AWAITED La richiesta di concessione è in attesa della decisione di un approvatore.
RIFIUTATO La richiesta di concessione è stata rifiutata da un approvatore.
TERMINATI La concessione è terminata e i ruoli sono stati rimossi dall'entità.
SCADUTA La richiesta di sovvenzione è scaduta perché l'approvazione non è stata concessa entro 24 ore.
REVOCATO La concessione viene revocata e l'entità non ha più accesso alle risorse consentite dai ruoli.
REVOCA La concessione è in fase di revoca.

REST

Il metodo searchGrants dell'API Privileged Access Manager utilizzato con il rapporto chiamante HAD_CREATED cerca le autorizzazioni che hai creato. Per controllare il loro stato, cerca il campo state nella risposta.

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 formato organizations/ORGANIZATION_ID, folders/FOLDER_ID o projects/PROJECT_ID. Gli ID progetto sono stringhe alfanumeriche, ad esempio my-project. Gli ID cartella e dell'organizzazione sono numerici, ad esempio 123456789012.
  • ENTITLEMENT_ID: l'ID del diritto a cui appartiene la concessione.
  • 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=HAD_CREATED&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"
      ]
    }
  ]
}

Gli stati dei contributi sono descritti in dettaglio nella seguente tabella.

Stato Descrizione
ATTIVATA La concessione è in fase di attivazione.
ACTIVATION_FAILED Privileged Access Manager non ha potuto concedere i ruoli a causa di un errore non recuperabile.
ATTIVA La concessione è attiva e l'entità ha accesso alle risorse consentite dai ruoli.
APPROVAL_AWAITED La richiesta di concessione è in attesa della decisione di un approvatore.
RIFIUTATO La richiesta di concessione è stata rifiutata da un approvatore.
TERMINATI La concessione è terminata e i ruoli sono stati rimossi dall'entità.
SCADUTA La richiesta di sovvenzione è scaduta perché l'approvazione non è stata concessa entro 24 ore.
REVOCATO La concessione viene revocata e l'entità non ha più accesso alle risorse consentite dai ruoli.
REVOCA La concessione è in fase di revoca.