Questo argomento descrive come aggiungere, modificare e rimuovere le associazioni di ruoli condizionali nei criteri di autorizzazione IAM (Identity and Access Management).
Prima di iniziare
Abilita l'API IAM.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Leggi la panoramica delle condizioni IAM per comprendere le nozioni di base dei binding dei ruoli condizionali IAM.
Consulta il riferimento agli attributi per scoprire i diversi attributi di condizione che possono essere utilizzati in un'espressione.
Ruoli obbligatori
Per gestire le associazioni di ruolo condizionali nel criterio di autorizzazione di una risorsa, devi disporre delle autorizzazioni per ottenere la risorsa e per ottenere e impostare il criterio di autorizzazione per la risorsa. Queste autorizzazioni hanno il seguente formato, in cui
SERVICE è il nome del servizio proprietario della
risorsa e RESOURCE_TYPE è il nome del tipo di risorsa
a cui vuoi gestire l'accesso:
SERVICE.RESOURCE_TYPE.getSERVICE.RESOURCE_TYPE.getIamPolicySERVICE.RESOURCE_TYPE.setIamPolicy
Ad esempio, per gestire i binding dei ruoli condizionali nella policy di autorizzazione di un progetto, devi disporre delle seguenti autorizzazioni:
resourcemanager.projects.getresourcemanager.projects.getIamPolicyresourcemanager.projects.setIamPolicy
Per ottenere le autorizzazioni richieste, chiedi all'amministratore di concederti un ruolo predefinito o personalizzato che includa le autorizzazioni. Ad esempio, l'amministratore potrebbe concederti il ruolo Amministratore sicurezza (roles/iam.securityAdmin), che include le autorizzazioni per ottenere quasi tutte le risorseGoogle Cloud e gestire i relativi criteri di autorizzazione.
Aggiungere un'associazione di ruoli condizionale a una policy
È possibile aggiungere associazioni di ruoli condizionali a policy di autorizzazione nuove o esistenti per controllare ulteriormente l'accesso alle risorse Google Cloud . Questa sezione mostra come aggiungere una semplice condizione basata sul tempo a una policy di autorizzazione esistente utilizzando la console Google Cloud , Google Cloud CLI e l'API REST.
Per aggiungere un'associazione di ruoli condizionale a una policy di autorizzazione esistente:
Console
Nella console Google Cloud , vai alla pagina IAM.
Nell'elenco delle entità, individua quella che ti interessa e fai clic sul pulsante .
Nel riquadro Modifica autorizzazioni, individua il ruolo per cui vuoi configurare una condizione. Poi, nella sezione Condizione IAM (facoltativa), fai clic su Aggiungi condizione IAM.
Nel riquadro Modifica condizione, inserisci un titolo e una descrizione facoltativa per la condizione.
Puoi aggiungere un'espressione di condizione utilizzando il Generatore di condizioni o l'Editor condizioni. Il generatore di condizioni fornisce un'interfaccia interattiva per selezionare il tipo di condizione, l'operatore e altri dettagli applicabili relativi all'espressione. L'editor delle condizioni fornisce un'interfaccia basata su testo per inserire manualmente un'espressione utilizzando la sintassi CEL.
Generatore di condizioni:
- Dal menu a discesa Tipo di condizione, seleziona Accesso in scadenza.
- Dal menu a discesa Operatore, seleziona by (per).
- Nel menu a discesa Ora, fai clic sul pulsante per selezionare un intervallo di date e ore.
- Fai clic su Salva per applicare la condizione.
- Una volta chiuso il riquadro Modifica condizione, fai di nuovo clic su Salva nel riquadro Modifica autorizzazioni per aggiornare la policy di autorizzazione.
Editor condizioni:
Fai clic sulla scheda Editor condizioni e inserisci la seguente espressione (sostituendo il timestamp con il tuo):
request.time < timestamp("2019-12-31T12:00:00.000Z")
Dopo aver inserito l'espressione, puoi scegliere facoltativamente di convalidare la sintassi CEL facendo clic su Esegui Linter sopra la casella di testo in alto a destra.
Fai clic su Salva per applicare la condizione.
Una volta chiuso il riquadro Modifica condizione, fai di nuovo clic su Salva nel riquadro Modifica autorizzazioni per aggiornare la policy di autorizzazione.
gcloud
I criteri di autorizzazione vengono impostati utilizzando il pattern lettura, modifica e scrittura.
Esegui il comando gcloud projects get-iam-policy per ottenere
la policy di autorizzazione corrente per il progetto. Nell'esempio seguente, la versione JSON
della policy di autorizzazione viene scaricata in un percorso sul disco.
Comando:
gcloud projects get-iam-policy project-id --format json > file-path
Viene scaricato il formato JSON della policy di autorizzazione:
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/iam.securityReviewer" } ], "etag": "BwWKmjvelug=", "version": 1 }
Prendi nota dell'attuale version della policy di autorizzazione, ovvero
1. Per configurare la policy di autorizzazione con accesso
in scadenza, aggiungi la seguente espressione di condizione evidenziata (sostituendo
il timestamp con il tuo). gcloud CLI aggiorna automaticamente la versione:
{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/owner" }, { "members": [ "group:my-group@example.com" ], "role": "roles/iam.securityReviewer", "condition": { "title": "Expires_2019"