Proteggi la console Google Cloud e le API Google Cloud

Questo documento mostra come proteggere l'accesso alla console Google Cloud e alle API Google Cloud utilizzando le regole basate sul contesto.

L'accesso sensibile al contesto per la console Google Cloud e le API Google Cloud limita l'accesso alla console Google Cloud e alle API Google Cloud con regole basate sul contesto. Fa parte di Chrome Enterprise Premium e aiuta a garantire che gli utenti e i gruppi della tua organizzazione che soddisfano i requisiti di accesso definiti possano accedere alla console Google Cloud e alle API Google Cloud (incluso l'accesso da Google Cloud CLI).

Per proteggere la console Google Cloud e le API Google Cloud, completa questi passaggi:

  1. [Facoltativo] Esegui il deployment della verifica degli endpoint sui dispositivi della tua organizzazione.
  2. Crea un livello di accesso in Gestore contesto accesso.
  3. Crea un gruppo di utenti a cui applicare restrizioni sensibili al contesto.
  4. Ottieni le autorizzazioni necessarie per Identity and Access Management.
  5. Creare un'associazione degli accessi che applichi regole sensibili al contesto per la console Google Cloud e le API Google Cloud.

[Facoltativo] Esegui il deployment della verifica degli endpoint

Se vuoi proteggere l'accesso alla console Google Cloud e alle API di Google Cloud utilizzando gli attributi dei dispositivi, esegui il deployment della verifica degli endpoint sui dispositivi della tua organizzazione.

La verifica degli endpoint viene eseguita come estensione di Chrome su computer e laptop per gli utenti di MacOS, Windows e Linux. Un amministratore può eseguirne il deployment sui dispositivi di proprietà dell'azienda dell'organizzazione dalla Console di amministrazione Google oppure i membri dell'organizzazione possono installarlo autonomamente.

Crea un livello di accesso

Devi definire un livello di accesso che possa essere utilizzato per determinare l'accesso alla console Google Cloud e alle API Google Cloud creando un livello di accesso di base in Gestore contesto accesso.

Creare un gruppo di utenti

Crea un gruppo di utenti che deve essere vincolato da restrizioni sensibili al contesto. Tutti gli utenti di questo gruppo che sono anche membri della tua organizzazione devono soddisfare il livello di accesso creato in precedenza per accedere alla console Google Cloud e alle API Google Cloud.

Concedi le autorizzazioni IAM richieste

Concedi le autorizzazioni IAM a livello di organizzazione necessarie per creare associazioni degli accessi di Gestore contesto accesso.

Console

  1. Vai alla pagina IAM e amministrazione nella console Google Cloud.

    Vai a IAM e amministrazione

  2. Fai clic su Aggiungi e configura quanto segue:

    • Nuovi membri: specifica l'utente o il gruppo a cui concedere le autorizzazioni.
    • Seleziona un ruolo: seleziona Gestore contesto accesso > Amministratore associazioni accessi Cloud.
  3. Fai clic su Salva.

gcloud

  1. Assicurati di aver eseguito l'autenticazione con privilegi sufficienti per aggiungere autorizzazioni IAM a livello di organizzazione. Devi disporre almeno del ruolo Amministratore organizzazione.

    Dopo aver verificato di disporre delle autorizzazioni corrette, accedi con:

    gcloud auth login
    
  2. Assegna il ruolo GcpAccessAdmin eseguendo questo comando:

    gcloud organizations add-iam-policy-binding ORG_ID \
      --member=user:EMAIL \
      --role=roles/accesscontextmanager.gcpAccessAdmin
    
    • ORG_ID è l'ID della tua organizzazione. Se non hai ancora l'ID organizzazione, puoi trovarlo con il seguente comando:

       gcloud organizations list
      
    • EMAIL è l'indirizzo email della persona o del gruppo a cui vuoi concedere il ruolo.

Crea un'associazione di accesso

Un'associazione di accesso è una mappatura tra il gruppo di utenti creato in precedenza e il livello di accesso Gestore contesto accesso che hai definito per accedere alla console Google Cloud e alle API Google Cloud.

Puoi creare un'associazione di accesso in uno dei seguenti modi:

  • Associazione di accesso tra un gruppo e un livello di accesso.
  • Associazione di accesso tra un gruppo e un livello di accesso con configurazione dry run. Con la configurazione dry run, puoi creare un'associazione dell'accesso tra un gruppo e un livello di accesso dry run o tra un gruppo, un livello di accesso e un livello di accesso dry run.

Crea un'associazione di accesso con un livello di accesso

Console

  1. Vai alla pagina Chrome Enterprise Premium nella console Google Cloud.

    Vai a Chrome Enterprise Premium

  2. Scegli un'organizzazione e fai clic su Seleziona.

  3. Fai clic su Gestisci accesso per scegliere i gruppi di utenti a cui concedere l'accesso.

  4. Fai clic su Aggiungi e configura quanto segue:

    • Gruppi di membri: specifica il gruppo a cui vuoi concedere l'accesso. Solo i gruppi non ancora associati a un livello di accesso possono essere selezionati.
    • Seleziona i livelli di accesso: scegli il livello di accesso da applicare al gruppo.
  5. Fai clic su Salva.

gcloud

Per ulteriori informazioni su questo e altri comandi gcloud access-context-manager cloud-bindings, puoi fare riferimento a Google Cloud CLI, comprese opzioni aggiuntive per i flag.

 gcloud access-context-manager cloud-bindings create \
    --group-key GROUP_ID \
    --level ACCESS_LEVEL \
    --organization ORG_ID

Dove:

  • GROUP_ID è l'ID gruppo del gruppo di utenti creato in precedenza.

    Se l'ID gruppo non è disponibile, puoi recuperarlo chiamando il metodo get nella risorsa Groups.

  • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin. Se la proprietà access-context-manager/organization non è stata impostata, sostituisci ORG_ID nel flag --organization facoltativo con l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.
  • POLICY_ID è l'ID del criterio di accesso della tua organizzazione.
  • ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.
  • GROUP_ID è l'ID gruppo del gruppo di utenti creato in precedenza.

    Se l'ID gruppo non è disponibile, puoi recuperarlo chiamando il metodo get nella risorsa Groups.

  • POLICY_ID è l'ID del criterio di accesso della tua organizzazione.
  • ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

Metodo HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Corpo JSON della richiesta:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ]
}

Crea un'associazione di accesso con una configurazione dry run

Puoi creare un'associazione di accesso con una configurazione dry run per comprendere l'impatto dei livelli di accesso nel tuo ambiente nei seguenti scenari:

  • Per valutare l'impatto di un livello di accesso prima di applicarlo, crea un'associazione di accesso con un livello di accesso in prova.
  • Per applicare in modo forzato un livello di accesso e valutare contemporaneamente l'impatto di un livello di accesso dry run, crea un'associazione di accesso con un livello di accesso attivo e un livello di accesso in modalità di prova.

Un'associazione dell'accesso con un livello di accesso dry run non impedisce l'accesso, ma registra le violazioni del livello di accesso in modalità dry run. Per visualizzare i dettagli dei log, consulta Log dei rifiuti.

Crea un'associazione di accesso con un livello di accesso dry run

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Dove:

  • GROUP_ID è l'ID gruppo del gruppo di utenti creato in precedenza.

    Se l'ID gruppo non è disponibile, puoi recuperarlo chiamando il metodo get nella risorsa Groups.

  • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin. Se la proprietà access-context-manager/organization non è stata impostata, sostituisci ORG_ID nel flag --organization facoltativo con l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.
  • POLICY_ID è l'ID del criterio di accesso della tua organizzazione.
  • DRY_RUN_ACCESS_LEVEL è il ACCESS_LEVEL per cui vuoi comprendere l'effetto. ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.
  • GROUP_ID è l'ID gruppo del gruppo di utenti creato in precedenza.

    Se l'ID gruppo non è disponibile, puoi recuperarlo chiamando il metodo get nella risorsa Groups.

  • POLICY_ID è l'ID del criterio di accesso della tua organizzazione.
  • DRY_RUN_ACCESS_LEVEL è il ACCESS_LEVEL per cui vuoi comprendere l'effetto. ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

Metodo HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Corpo JSON della richiesta:

{
  "groupKey": "GROUP_ID",
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",

  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Crea un'associazione di accesso con un livello di accesso e un livello di accesso dry run

gcloud

    gcloud access-context-manager cloud-bindings create \
    --group-key = GROUP_ID \
    --level = ACCESS_LEVEL \
    --dry-run-level = DRY_RUN_ACCESS_LEVEL \
    --organization ORG_ID

Dove:

  • GROUP_ID è l'ID gruppo del gruppo di utenti creato in precedenza.

    Se l'ID gruppo non è disponibile, puoi recuperarlo chiamando il metodo get nella risorsa Groups.

  • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin. Se la proprietà access-context-manager/organization non è stata impostata, sostituisci ORG_ID nel flag --organization facoltativo con l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.
  • POLICY_ID è l'ID del criterio di accesso della tua organizzazione.
  • ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.
  • DRY_RUN_ACCESS_LEVEL è il ACCESS_LEVEL per cui vuoi comprendere l'effetto. ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.
  • GROUP_ID è l'ID gruppo del gruppo di utenti creato in precedenza.

    Se l'ID gruppo non è disponibile, puoi recuperarlo chiamando il metodo get nella risorsa Groups.

  • POLICY_ID è l'ID del criterio di accesso della tua organizzazione.
  • ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.
  • DRY_RUN_ACCESS_LEVEL è il ACCESS_LEVEL per cui vuoi comprendere l'effetto. ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

Metodo HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

Corpo JSON della richiesta:

{
  "groupKey": "GROUP_ID",
  "accessLevels": [ "ACCESS_LEVEL" ],
  "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

PowerShell

Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:


{
  "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
  "groupKey": "045jfvxd0ybeul8",
  "accessLevels": [
    "accessPolicies/305009197125/accessLevels/device_lock"
  ],
  "dryRunAccessLevels": [
    "accessPolicies/305009197125/accessLevels/another"
  ]
}

Visualizza i log di rifiuto

Dopo aver creato una configurazione di prova, puoi esaminare i log per identificare dove la configurazione di prova nega l'accesso.

La seguente tabella elenca i campi dei log che puoi utilizzare per creare ed eseguire la query per ottenere i log:

Nome campo Descrizione
protoPayload > authenticationInfo > principalEmail ID email dell'entità per cui è negato l'accesso.
protoPayload > metadata > deniedApplications Nome dell'applicazione per cui è negato l'accesso.
protoPayload > metadata > evaluationResult Il risultato della valutazione del criterio di accesso attivo. Valori possibili: GRANTED o DENIED.
protoPayload > metadata > appliedAccessLevels I livelli di accesso applicati richiesti dal criterio di accesso attivo.
protoPayload > metadata > appliedDryRunAccessLevels I livelli di accesso applicati richiesti dal criterio di accesso dry run.
protoPayload > metadata > dryRunEvaluationResult Il risultato della valutazione del criterio di accesso dry run, che indica l'azione prevista quando il criterio di accesso viene applicato. Valori possibili: GRANTED o DENIED.

Per maggiori dettagli su come creare una query per i log, consulta Lingua delle query di Logging.

Console

  1. Nel menu di navigazione della console Google Cloud, fai clic su Logging, quindi su Esplora log.

    Vai a Esplora log

  2. Nel campo Query, inserisci un filtro di query come il seguente, quindi fai clic su Esegui query.

    severity="ERROR" AND
    (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
     protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
     protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"
    
  3. Visualizza i log in Risultati delle query.

gcloud

Per visualizzare i log utilizzando gcloud CLI, esegui un comando simile al seguente:

gcloud logging read 'severity="ERROR" AND
  (protoPayload.metadata.evaluationResult=DENIED OR protoPayload.metadata.dryRunEvaluationResult=DENIED) AND
   protoPayload.metadata.@type="type.googleapis.com/google.cloud.audit.ContextAwareAccessAuditMetadata" AND
   protoPayload.metadata.deniedApplications.name="CLOUD_PLATFORM"'

Gestisci associazioni di accessi

Dopo aver creato le associazioni degli accessi per un gruppo di utenti, l'accesso alla console Google Cloud e alle API Google Cloud viene controllato in base al livello di soddisfazione relativo al livello di accesso associato.

Puoi visualizzare i dettagli dell'associazione di accesso che hai creato, modificarla o eliminarla.

Visualizza associazioni di accesso

Console

Puoi visualizzare tutte le associazioni di accesso per l'organizzazione e visualizzare i dettagli di un'associazione di accesso.

gcloud

  • Per visualizzare tutte le associazioni di accesso, esegui questo comando:

      gcloud access-context-manager cloud-bindings list \
       --organization ORG_ID
    

    Dove:

    ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin. . Se la proprietà access-context-manager/organization non è stata impostata, sostituisci ORG_ID nel flag --organization facoltativo con l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.

  • Per visualizzare i dettagli di un'associazione di accesso, esegui questo comando:

      gcloud access-context-manager cloud-bindings describe \
      --binding=BINDING_ID
    

    Dove:

    BINDING_ID è l'ID dell'identificatore completo o di associazione degli accessi per l'associazione degli accessi.

API

  • Visualizza tutte le associazioni di accesso:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin. Se la proprietà access-context-manager/organization non è stata impostata, sostituisci ORG_ID nel flag --organization facoltativo con l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.

    Metodo HTTP e URL:

    GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"

    PowerShell

    Esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    
    {
      "name": string,
      "groupKey": string,
      "accessLevels": [
        string
      ]
      "dryRunAccessLevels": [
      string
      ]
    }
    
    

  • Visualizza i dettagli di un'associazione di accesso:

    Metodo HTTP e URL:

    GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Esegui questo comando:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://accesscontextmanager.googleapis.com/v1/BINDING_ID"

    PowerShell

    Esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method GET `
    -Headers $headers `
    -Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

Aggiorna associazioni di accessi

Console

Puoi aggiornare un'associazione di accesso in base alle tue esigenze.

gcloud

  • Per aggiornare un'associazione di accesso, ad esempio per modificare il livello di accesso, esegui questo comando:

      gcloud access-context-manager cloud-bindings update \
         --binding ACCESS_BINDING \
         --level ACCESS_LEVEL
    

    Dove:

    • ACCESS_BINDING è nel formato organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
    • ORG_ID è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruolo GcpAccessAdmin.
    • ACCESS_BINDING_NAME è la stringa univoca restituita per l'identificatore name al momento della creazione dell'associazione di accesso.
    • Sostituisci il valore di ACCESS_LEVEL in base alle tue esigenze. ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.
  • Per aggiornare un'associazione di accesso con un livello di accesso dry run, esegui questo comando:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Sostituisci il valore di DRY_RUN_ACCESS_LEVEL in base alle tue esigenze. Il formato è accessPolicies/POLICY_ID/accessLevels/DRY_ACCESS_LEVEL_NAME.

  • Per aggiornare un'associazione di accesso e modificare sia il livello di accesso che quello in modalità di prova, esegui questo comando:

     gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
     --level=`ACCESS_LEVEL`
     --dry-run-level=DRY_RUN_ACCESS_LEVEL
    

    Sostituisci i valori di ACCESS_LEVEL e DRY_RUN_ACCESS_LEVEL in base alle tue esigenze. ACCESS_LEVEL e DRY_RUN_ACCESS_LEVEL hanno il formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME e DRY_RUN_ACCESS_LEVEL è uguale a ACCESS_LEVEL.

  • Per rimuovere un livello di accesso dry run da un'associazione di accesso, esegui questo comando:

      gcloud access-context-manager cloud-bindings update --binding=ACCESS_BINDING
      --dry-run-level=
    

API

  • Aggiorna un'associazione di accesso, ad esempio per modificare il livello di accesso:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • ACCESS_BINDING_NAME è la stringa univoca restituita per l'identificatore name al momento della creazione dell'associazione di accesso.
    • ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

    Metodo HTTP e URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels

    Corpo JSON della richiesta:

    {
        "accessLevels": [ "ACCESS_LEVEL" ]
    }
    
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    
    {
        "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
        "groupKey": "045jfvxd0ybeul8",
        "accessLevels": [
          "accessPolicies/305009197125/accessLevels/device_lock"
        ]
    }
    
    

  • Aggiorna un'associazione di accesso con il livello di accesso dry run:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • ACCESS_BINDING_NAME è la stringa univoca restituita per l'identificatore name al momento della creazione dell'associazione di accesso.
    • DRY_RUN_ACCESS_LEVEL è il ACCESS_LEVEL per cui vuoi comprendere l'effetto. ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

    Metodo HTTP e URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Corpo JSON della richiesta:

    {
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
    }
    
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    
    {
      name: "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
    
      group_key: "045jfvxd0ybeul8",
    
      dry_run_access_levels: [ "accessPolicies/305009197125/accessLevels/another" ]
      }
    
    

  • Aggiorna un'associazione di accesso e modifica sia il livello di accesso sia il livello di accesso in modalità di prova:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • ACCESS_BINDING_NAME è la stringa univoca restituita per l'identificatore name al momento della creazione dell'associazione di accesso.
    • ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.
    • DRY_RUN_ACCESS_LEVEL è il ACCESS_LEVEL per cui vuoi comprendere l'effetto. ACCESS_LEVEL è nel formato accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME. I valori per POLICY_ID e ACCESS_LEVEL_NAME si trovano in Gestore contesto accesso da quando hai creato il livello di accesso.

    Metodo HTTP e URL:

    PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels

    Corpo JSON della richiesta:

    {
      "accessLevels": [ "ACCESS_LEVEL" ],
      "dryRunAccessLevels": [ "DRY_RUN_ACCESS_LEVEL" ]
     }
    
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=access_levels,dry_run_access_levels" | Select-Object -Expand Content

    Dovresti ricevere una risposta JSON simile alla seguente:

    
    {
      "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l",
      "groupKey": "045jfvxd0ybeul8",
      "accessLevels": [
        "accessPolicies/305009197125/accessLevels/device_lock"
      ],
      "dryRunAccessLevels": [
        "accessPolicies/305009197125/accessLevels/another"
      ]
    }
    
    

  • Rimuovi un livello di accesso dry run da un'associazione di accesso:

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • ACCESS_BINDING_NAME è la stringa univoca restituita per l'identificatore name al momento della creazione dell'associazione di accesso.

    Metodo HTTP e URL:

    PATCH PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels

    Corpo JSON della richiesta:

    {
      "dryRunAccessLevels": [ ]
    }
    
    

    Per inviare la richiesta, scegli una delle seguenti opzioni:

    curl

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels"

    PowerShell

    Salva il corpo della richiesta in un file denominato request.json ed esegui questo comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method PATCH `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME?update_mask=dry_run_access_levels" | Select-Object -Expand Content

    Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.

Elimina associazioni di accessi

Console

Puoi eliminare un'associazione di accesso quando necessario.

gcloud

   gcloud access-context-manager cloud-bindings delete \
       --binding ACCESS_BINDING

Dove:

  • ACCESS_BINDING è nel formato organizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME.
  • ACCESS_BINDING_NAME è la stringa univoca restituita per l'identificatore name al momento della creazione dell'associazione di accesso.

API

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • ACCESS_BINDING_NAME è la stringa univoca restituita per l'identificatore name al momento della creazione dell'associazione di accesso.

Metodo HTTP e URL:

DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Esegui questo comando:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"

PowerShell

Esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content

Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.

Domande frequenti

  • Quanto tempo è necessario perché un'associazione di accesso appena creata abbia effetto?

    L'operazione potrebbe richiedere fino a 24 ore.

  • Cosa succede se elimino un gruppo che ha un'associazione di accesso?

    Il gruppo e l'associazione vengono eliminati e a tutti gli utenti del gruppo viene consentito l'accesso.

  • Cosa succede se elimino il livello di accesso utilizzato in un'associazione di accesso?

    Il livello di accesso non può mai essere soddisfatto e a tutti gli utenti del gruppo associato viene negato l'accesso.

  • Cosa succede quando un utente fa parte di più gruppi con associazioni di accesso?

    Per ottenere l'accesso, l'utente deve soddisfare solo il livello di uno di questi gruppi.

  • Cosa succede per gli utenti che non fanno parte della mia organizzazione?

    Chiunque non faccia parte della tua organizzazione, anche se li hai aggiunti al gruppo di utenti che devono essere vincolati da restrizioni sensibili al contesto, non sono soggetti all'associazione dell'accesso.

Passaggi successivi