Nelle organizzazioni di grandi dimensioni, può essere utile consentire ai team di gestire in modo indipendente i criteri di autorizzazione per le proprie risorse. Tuttavia, consentire a un'entità di concedere o revocare tutti i ruoli IAM può aumentare notevolmente il rischio per la sicurezza.
Puoi impostare limiti per i ruoli che un entità può concedere e revocare con le condizioni IAM (Identity and Access Management) e l'attributo API iam.googleapis.com/modifiedGrantsByRole
. Questi limiti ti consentono di creare amministratori IAM con limitazioni che possono gestire i criteri di autorizzazione del proprio team, ma solo entro i limiti che hai impostato.
Prima di iniziare
Enable the Resource Manager API.
Acquisisci familiarità con la struttura dei criteri di autorizzazione.
Comprendere le condizioni IAM.
Autorizzazioni obbligatorie
Per ottenere le autorizzazioni necessarie per creare amministratori IAM limitati per un progetto, cartella o organizzazione, chiedi all'amministratore di concederti i seguenti ruoli IAM sulla risorsa per cui vuoi creare un Amministratore IAM per (progetto, cartella o organizzazione):
-
Per creare un amministratore IAM limitato per un progetto:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
Per creare un amministratore IAM limitato per una cartella:
Amministratore cartelle (
roles/resourcemanager.folderAdmin
) -
Per creare un amministratore IAM con limitazioni per un progetto, una cartella o un'organizzazione:
Amministratore dell'organizzazione (
roles/resourcemanager.organizationAdmin
)
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare amministratori IAM con limitazioni per un progetto, una cartella o un'organizzazione. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare amministratori IAM con limitazioni per un progetto, una cartella o un'organizzazione, sono necessarie le seguenti autorizzazioni:
-
Per creare un amministratore IAM con limitazioni per un progetto:
-
resourcemanager.projects.getIamPolicy
-
resourcemanager.projects.setIamPolicy
-
-
Per creare un amministratore IAM con limitazioni per una cartella:
-
resourcemanager.folders.getIamPolicy
-
resourcemanager.folders.setIamPolicy
-
-
Per creare un amministratore IAM limitato per un'organizzazione:
-
resourcemanager.organizations.getIamPolicy
-
resourcemanager.organizations.setIamPolicy
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Casi d'uso comuni
Le sezioni seguenti descrivono come utilizzare la concessione di ruoli limitati per attivare la gestione self-service dei criteri di autorizzazione.
Creare amministratori IAM con limitazioni
Considera uno scenario in cui vuoi permettere a un utente, Finn (finn@example.com
), di agire
come amministratore IAM
limitato per il tuo progetto. Vuoi che Finn possa concedere e revocare solo i ruoli Amministratore App Engine (roles/appengine.appAdmin
) e Visualizzatore App Engine (roles/appengine.appViewer
) per il tuo progetto.
Per concedere questa capacità limitata, concedi a Finn il ruolo IAM del progetto in modo condizionale
Ruolo Amministratore (roles/resourcemanager.projectIamAdmin
). Ruolo Amministratore IAM progetto
consente a Finn di concedere e revocare i ruoli IAM e la condizione
limita i ruoli che Finn può concedere e revocare:
{ "version": 3, "etag": "BwWKmjvelug=", "bindings": [ { "members": [ "user:owner@example.com" ], "role": "roles/owner" }, { "members": [ "finn@example.com" ], "role": "roles/resourcemanager.projectIamAdmin", "condition": { "title": "only_appengine_admin_viewer_roles", "description": "Only allows changes to role bindings with the App Engine Admin or Viewer roles", "expression": "api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(['roles/appengine.appAdmin', 'roles/appengine.appViewer'])" } } ] }
Questa associazione condizionale del ruolo consente a Finn di:
- Concedi i ruoli Amministratore App Engine e Visualizzatore App Engine per il progetto.
- Revoca i ruoli Amministratore App Engine e Visualizzatore App Engine per il progetto.
- Aggiungi, rimuovi o modifica le condizioni per le associazioni di ruoli a livello di progetto che concedono i ruoli Amministratore App Engine e Visualizzatore App Engine.
- Eseguire altre azioni consentite dal ruolo Amministratore IAM progetto che non
modificano il criterio di autorizzazione del progetto. Ad esempio, Finn potrebbe utilizzare il metodo
projects.getIamPolicy
per recuperare il criterio di autorizzazione del progetto.
Questa associazione condizionale del ruolo non consente a Finn di eseguire le seguenti operazioni:
- Modificare i criteri di autorizzazione per risorse diverse dal progetto.
- Concedi ruoli diversi da Amministratore App Engine o Visualizzatore App Engine.
- Revoca i ruoli diversi da Amministratore App Engine o Visualizzatore App Engine.
- Aggiungi, rimuovi o modifica le condizioni per le associazioni di ruoli che non concedono Amministratore App Engine o Visualizzatore App Engine.
Consenti agli utenti di gestire amministratori IAM con limitazioni
Considera lo scenario in cui vuoi assegnare a un utente, Lila, il ruolo di amministratore IAM con limitazioni per il suo team. Vuoi che Lila possa concedere e
revocare solo il ruolo Amministratore Compute (roles/compute.admin
) per il progetto.
Tuttavia, vuoi anche consentire a Lila di selezionare altri utenti affinché possano limitare
Amministratori IAM. In altre parole, vuoi permettere a Lila di consentire
di concedere e revocare solo il ruolo Amministratore Compute.
Potresti pensare che la soluzione sia concedere a Lila il ruolo Amministratore IAM progetto
(roles/resourcemanager.projectIamAdmin
) e poi concederle la possibilità di
concedere o revocare questo ruolo ad altri. Tuttavia, se concedi a Lila il ruolo IAM per il progetto
come amministratore, può rimuovere la condizione dal suo ruolo e concedersi
di concedere o revocare qualsiasi ruolo IAM.
Per contribuire a impedire questa riassegnazione dei privilegi, crea un gruppo Google, iam-compute-admins@example.com
, per gli amministratori IAM con limitazioni del progetto. Poi,
aggiungi Lila al gruppo e
ne fai un gestore.
Dopo aver creato il gruppo, concedi in modo condizionale al gruppo il ruolo IAM per il progetto
Ruolo Amministratore (roles/resourcemanager.projectIamAdmin
). Ruolo Amministratore IAM progetto
consente ai membri del gruppo di concedere e revocare i ruoli IAM e
limita i ruoli che possono concedere e revocare:
{ "version": 3, "etag": "BwWKmjvelug=", "bindings": [ { "members": [ "user:owner@example.com" ], "role": "roles/owner" }, { "members": [ "iam-compute-admins@example.com" ], "role": "roles/resourcemanager.projectIamAdmin", "condition": { "title": "only_compute_admin_role", "description": "Only allows changes to role bindings for the Compute Admin role", "expression": "api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(['roles/compute.admin'])" } } ] }
In qualità di membro del gruppo iam-compute-admins@example.com
, Lila può:
- Concedi il ruolo di Amministratore Compute per il progetto aggiungendo un nuovo associazione per il ruolo o aggiungendo un'entità a un'associazione esistente per ruolo.
- Revoca il ruolo Amministratore di Compute rimuovendo un'associazione esistente per il ruolo o un'entità da un'associazione esistente per il ruolo.
- Modifica le concessioni per il ruolo Amministratore di Compute aggiungendo, rimuovendo o modificando le condizioni associate alle associazioni per il ruolo.
- Eseguire altre azioni consentite dal ruolo Amministratore IAM del progetto che non possono essere modificate
il criterio di autorizzazione del progetto. Ad esempio, potrebbe utilizzare il metodo
projects.getIamPolicy
per ottenere le norme di autorizzazione del progetto.
In qualità di gestore del gruppo iam-compute-admins@example.com
, Lila può consentire
di concedere o revocare il ruolo Amministratore Compute aggiungendoli al
Gruppo iam-compute-admins@example.com
.
Lila non può:
- Concedi a sé la possibilità di concedere o revocare altri ruoli.
- Modificare i criteri di autorizzazione per risorse diverse dal progetto.
- Concedi ruoli diversi dal ruolo Amministratore Compute.
- Revoca i ruoli diversi da quello di amministratore di Compute.
- Aggiungi, rimuovi o modifica le condizioni per le associazioni di ruoli che non concedono il ruolo Amministratore di Compute.
Limita la concessione di ruoli
Le sezioni seguenti spiegano come consentire alle entità di concedere o revocare solo determinati ruoli.
Scrivi un'espressione di condizione per limitare la concessione dei ruoli
Per limitare la capacità di un'entità di concedere ruoli, scrivi un'espressione di condizione che specifica i ruoli che un'entità può concedere o revocare.
Utilizza il seguente formato per l'espressione della condizione:
api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(roles)
Questa espressione esegue le seguenti operazioni:
Recupera l'attributo API
iam.googleapis.com/modifiedGrantsByRole
utilizzando la funzioneapi.getAttribute()
.Per una richiesta di impostazione del criterio di autorizzazione di una risorsa, questo attributo contiene i nomi dei ruoli delle associazioni modificate dalla richiesta. Per altri tipi di richieste, l'attributo non è definito. In questi casi, la funzione restituisce il valore predefinito (
[]
).Utilizza la funzione
hasOnly()
Common Expression Language (CEL) per definire e applicare i ruoli che l'entità principale è autorizzata a concedere o revocare.L'input per la funzione
hasOnly()
è un elenco dei ruoli che l'entità può concedere o revocare. Se i ruoli nel campo L'attributoiam.googleapis.com/modifiedGrantsByRole
è incluso in questo dall'elenco, la funzione restituiscetrue
. In caso contrario, la funzione restituiscefalse
.Se l'attributo
iam.googleapis.com/modifiedGrantsByRole
contiene il valore predefinito ([]
), la funzione restituiscetrue
, perché[]
non contiene nessun ruolo non incluso nell'elenco.
Per personalizzare questa espressione, sostituisci roles
con un elenco
dei ruoli che l'entità può concedere o revocare. Ad esempio, per
consenti all'entità di concedere o revocare solo l'editor Pub/Sub
(roles/pubsub.editor
) e Publisher Pub/Sub (roles/pubsub.publisher
),
utilizza il valore ['roles/pubsub.editor', 'roles/pubsub.publisher']
.
Puoi includere fino a 10 valori nell'elenco dei ruoli consentiti. Tutti questi valori devono essere costanti di stringa.
Operatori logici per le istruzioni hasOnly()
Non utilizzare gli operatori &&
o ||
per unire più istruzioni hasOnly()
in
una singola condizione. In questo caso, le richieste che concedono o revocano più ruoli
potrebbero non andare a buon fine, anche se l'entità può concedere o revocare i ruoli singolarmente.
Ad esempio, considera la seguente condizione:
api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []) .hasOnly(['roles/pubsub.editor']) || api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []) .hasOnly(['roles/pubsub.publisher'])
Questa condizione restituisce true
se una richiesta assegna il ruolo roles/pubsub.editor
o il ruolo roles/pubsub.publisher
, ma restituisce false
se una richiesta assegna entrambi i ruoli roles/pubsub.editor
e roles/pubsub.publisher
.
Limita la concessione dei ruoli con associazioni di ruoli condizionali
Per consentire a un'entità di concedere o revocare solo determinati ruoli, utilizza la condizione della sezione precedente per creare un'associazione condizionale del ruolo. Poi, aggiungi l'associazione di ruolo condizionale al criterio di autorizzazione di una risorsa.
Seleziona una risorsa che rappresenti l'ambito per cui vuoi consentire a un'entità di concedere e revocare i ruoli:
- Se vuoi consentire a un'entità di concedere e revocare determinati ruoli per tutti risorse all'interno di un'organizzazione, seleziona un'organizzazione.
- Se vuoi consentire a un'entità di concedere e revocare determinati ruoli per tutte le risorse all'interno di una cartella, seleziona una cartella.
- Se vuoi consentire a un entità di concedere e revocare determinati ruoli per tutte le risorse di un progetto, seleziona un progetto.
Seleziona un ruolo che consenta a un'entità di impostare il criterio di autorizzazione per il tipo di risorsa selezionato (progetto, cartella o organizzazione). Per seguire le principio del privilegio minimo, scegli uno dei seguenti ruoli predefiniti:
- Projects (Progetti): amministratore IAM del progetto (
roles/resourcemanager.projectIamAdmin
) - Cartelle: Amministratore IAM cartella (
roles/resourcemanager.folderIamAdmin
) Organizzazioni: amministratore dell'organizzazione (
roles/resourcemanager.organizationAdmin
).
In alternativa, scegli un ruolo personalizzato che includa le autorizzazioni
resourcemanager.resource-type.setIamPolicy
eresourcemanager.resource-type.getIamPolicy
, doveresource-type
èproject
,folder
oorganization
.- Projects (Progetti): amministratore IAM del progetto (
Concedi a un'entità il ruolo scelto nel progetto, nella cartella all'organizzazione che hai selezionato.
Il nuovo criterio di autorizzazione viene applicato e l'entità può modificare le associazioni solo per i ruoli che hai consentito.
Console
Nella console Google Cloud, vai alla pagina IAM.
Assicurati che il nome del progetto, della cartella o dell'organizzazione sia visualizzato in il selettore di risorse nella parte superiore della pagina. Il selettore di risorse indica il progetto, la cartella o l'organizzazione in cui stai lavorando.
Se non vedi il nome della risorsa, fai clic sul selettore della risorsa, poi selezionala.
Nell'elenco delle entità, individua quella che concederà e revocare ruoli e fare clic Pulsante
.Nel riquadro Modifica autorizzazioni, seleziona il ruolo che hai scelto. in precedenza. Quindi, in Condizione IAM (facoltativa), fai clic su Aggiungi IAM. .
Nel riquadro Modifica condizione, inserisci un titolo e una descrizione facoltativa. per la condizione.
Fai clic sulla scheda Editor condizioni e inserisci l'espressione che hai scritto in Scrivere un'espressione di condizione per limitare la concessione dei ruoli. Questa espressione limita i ruoli che l'entità può concedere o revocare.
Ad esempio, la seguente espressione di condizione limita il principale a concedere e revocare i ruoli Editor Pub/Sub (
roles/pubsub.editor
) e Publisher Pub/Sub (roles/pubsub.publisher
):api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(['roles/pubsub.editor', 'roles/pubsub.publisher'])
Attenzione: non includere i seguenti tipi di ruoli nella l'elenco dei ruoli consentiti:
-
Ruoli con autorizzazioni per concedere e revocare i ruoli IAM (ovvero i ruoli con nomi di autorizzazione che terminano con
setIamPolicy
). -
Ruoli personalizzati che l'amministratore IAM con limitazioni può modificare. Ad esempio, se l'amministratore IAM con limitazioni dispone anche del ruolo Amministratore dei ruoli (
roles/iam.roleAdmin
) in un progetto, non consentirgli di concedere o revocare i ruoli personalizzati a livello di progetto.
Amministratori IAM limitati che possono concedere e revocare questi tipi di possono concedere a se stessi l'autorizzazione i ruoli IAM. Per ulteriori informazioni, consulta la sezione Scrivere un'espressione di condizione per limitare la concessione dei ruoli.
-
Ruoli con autorizzazioni per concedere e revocare i ruoli IAM (ovvero i ruoli con nomi di autorizzazione che terminano con
Fai clic su Salva per applicare la condizione.
Dopo aver chiuso il riquadro Modifica condizione, fai clic su Salva nella Modifica autorizzazioni per aggiornare il criterio di autorizzazione.
gcloud
I criteri di autorizzazione vengono impostati utilizzando lettura, modifica e scrittura pattern.
Innanzitutto, leggi il criterio di autorizzazione per la risorsa:
Esegui la Comando
get-iam-policy
. Questo comando recupera il criterio di autorizzazione corrente per la risorsa.Comando:
gcloud resource-type get-iam-policy resource-id --format=json > path
Sostituisci i seguenti valori:
resource-type
: il tipo di risorsa per cui vuoi consentire a un'entità di concedere o revocare i ruoli. Utilizza una delle seguenti opzioni:projects
,resource-manager folders
oorganizations
.resource-id
: l'ID del tuo progetto, della tua cartella o della tua organizzazione Google Cloud.path
: il percorso del file per scaricare l'autorizzazione norme.
Il criterio di autorizzazione viene salvato in formato JSON, ad esempio:
{ "bindings": [ { "members": [ "user:project-owner@example.com" ], "role": "roles/owner" } ], "etag": "BwWKmjvelug=", "version": 1 }
Ora modifica il criterio di autorizzazione.
Per consentire a un'entità di modificare solo le associazioni per determinati ruoli, aggiungi l'associazione di ruoli condizionali evidenziata:
{ "bindings": [ { "members": [ "user:owner@example.com" ], "role": "roles/owner" }, { "members": [ "principal" ], "role": "role", "condition": { "title": "title", "description": "description", "expression": "expression" } } ], "etag": "BwWKmjvelug=", "version": 3 }
Sostituisci i seguenti valori:
principal
: l'entità che concederà o revocherà alcuni ruoli. Ad esempio,user:my-user@example.com
. Per visualizzare i formati di ogni tipo di principale, consulta la pagina di riferimentoBinding
.role
: il ruolo che hai scelto nei passaggi precedenti. Questo ruolo deve includere l'autorizzazionesetIamPolicy
per il tipo di risorsa che hai scelto.title
: una stringa che descrive brevemente la condizione. Ad esempio,only_pubsub_roles
.description
: facoltativo. Una descrizione aggiuntiva per la condizione. Ad esempio,Only allows granting/revoking the Pub/Sub editor and publisher roles
.expression
: l'espressione che hai scritto Scrivere un'espressione di condizione per limitare la concessione dei ruoli. Questa espressione limita i ruoli che l'entità può concedere o revocare.Ad esempio, la seguente espressione di condizione limita il principale a concedere e revocare i ruoli Editor Pub/Sub (
roles/pubsub.editor
) e Publisher Pub/Sub (roles/pubsub.publisher
):api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(['roles/pubsub.editor', 'roles/pubsub.publisher'])
Attenzione: non includere i seguenti tipi di ruoli nella l'elenco dei ruoli consentiti:
-
Ruoli con autorizzazioni per concedere e revocare i ruoli IAM (ovvero i ruoli con nomi di autorizzazione che terminano con
setIamPolicy
). -
Ruoli personalizzati che l'amministratore IAM con limitazioni può modificare. Ad esempio, se l'amministratore IAM con limitazioni dispone anche del ruolo Amministratore dei ruoli (
roles/iam.roleAdmin
) in un progetto, non consentirgli di concedere o revocare i ruoli personalizzati a livello di progetto.
Amministratori IAM limitati che possono concedere e revocare questi tipi di possono concedere a se stessi l'autorizzazione i ruoli IAM. Per ulteriori informazioni, consulta la sezione Scrivere un'espressione di condizione per limitare la concessione dei ruoli.
-
Ruoli con autorizzazioni per concedere e revocare i ruoli IAM (ovvero i ruoli con nomi di autorizzazione che terminano con
Infine, scrivi il criterio di autorizzazione aggiornato:
Imposta il nuovo criterio di autorizzazione eseguendo il comando
set-iam-policy
per la risorsa:gcloud resource-type set-iam-policy resource-id path
Sostituisci i seguenti valori:
resource-type
: il tipo di risorsa per cui vuoi consentire a un'entità di concedere o revocare i ruoli. Utilizza una delle seguenti opzioni:projects
,resource-manager folders
oorganizations
.resource-id
: l'ID del tuo progetto, della tua cartella o della tua organizzazione Google Cloud.path
: il percorso del file contenente il criterio di autorizzazione aggiornato.
Il nuovo criterio di autorizzazione viene applicato e l'entità potrà modificare solo le associazioni per i ruoli che hai consentito.
REST
I criteri Consenti vengono impostati utilizzando il pattern di lettura, modifica e scrittura.
Prima di tutto, leggi il criterio di autorizzazione per la risorsa:
Il metodo
getIamPolicy
dell'API Resource Manager recupera il criterio di autorizzazione di un progetto, di una cartella o di un'organizzazione.Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
API_VERSION
: la versione dell'API da utilizzare. Per progetti e organizzazioni, usav1
. Per le cartelle, utilizzav2
.RESOURCE_TYPE
: il tipo di risorsa di cui vuoi gestire il criterio. Utilizza il valoreprojects
,folders
oppureorganizations
.RESOURCE_ID
: l'ID del tuo progetto, della tua organizzazione o della tua cartella Google Cloud. Gli ID progetto sono stringhe alfanumeriche,my-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.POLICY_VERSION
: la versione del criterio da restituire. Le richieste devono specificare la versione del criterio più recente, ovvero la versione del criterio 3. Per maggiori dettagli, consulta la sezione Specificare una versione delle norme al momento dell'ottenimento delle norme.
Metodo HTTP e URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:getIamPolicy
Corpo JSON della richiesta:
{ "options": { "requestedPolicyVersion": POLICY_VERSION } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene il criterio di autorizzazione della risorsa. Ad esempio:
{ "version": 1, "etag": "BwWKmjvelug=", "bindings": [ { "role": "roles/owner", "members": [ "user:owner@example.com" ] } ] }
Successivamente, modifica il criterio di autorizzazione.
Aggiungi un'associazione condizionale di ruoli che consente a un'entità di concedere e revocare solo alcuni ruoli. Assicurati di modificare il valore del campo
version
3
:{ "version": 3, "etag": "BwWKmjvelug=", "bindings": [ { "members": [ "user:owner@example.com" ], "role": "roles/owner" }, { "members": [ "PRINCIPAL" ], "role": "ROLE", "condition": { "title": "TITLE", "description": "DESCRIPTION", "expression": "EXPRESSION" } } ] }
PRINCIPAL
: l'entità che concederà o revocherà alcuni ruoli. Ad esempio,user:my-user@example.com
. Per vedere i formati di ciascun tipo di entità, consulta il riferimentoBinding
.ROLE
: il ruolo che hai scelto nei passaggi precedenti. Questo ruolo deve includere l'autorizzazionesetIamPolicy
per il tipo di risorsa scelto.TITLE
: una stringa che descrive brevemente la condizione. Ad esempio,only_pubsub_roles
.DESCRIPTION
: facoltativo. Una descrizione aggiuntiva per la condizione. Ad esempio,Only allows granting/revoking the Pub/Sub editor and publisher roles
.EXPRESSION
: l'espressione che hai scritto Scrivere un'espressione di condizione per limitare la concessione dei ruoli. Questa espressione limita i ruoli che l'entità può concedere o revocare.Ad esempio, la seguente espressione di condizione limita il principale a concedere e revocare i ruoli Editor Pub/Sub (
roles/pubsub.editor
) e Publisher Pub/Sub (roles/pubsub.publisher
):api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(['roles/pubsub.editor', 'roles/pubsub.publisher'])
Attenzione: non includere i seguenti tipi di ruoli nella l'elenco dei ruoli consentiti:
-
Ruoli con autorizzazioni per concedere e revocare i ruoli IAM (ovvero i ruoli con nomi di autorizzazione che terminano con
setIamPolicy
). -
Ruoli personalizzati che l'amministratore IAM con limitazioni può modificare. Ad esempio, se l'amministratore IAM con limitazioni dispone anche del ruolo Amministratore dei ruoli (
roles/iam.roleAdmin
) in un progetto, non consentirgli di concedere o revocare i ruoli personalizzati a livello di progetto.
Amministratori IAM limitati che possono concedere e revocare questi tipi di possono concedere a se stessi l'autorizzazione i ruoli IAM. Consulta la sezione Scrittura di un espressione di condizione per limitare la concessione di ruoli per ulteriori informazioni.
-
Ruoli con autorizzazioni per concedere e revocare i ruoli IAM (ovvero i ruoli con nomi di autorizzazione che terminano con
Infine, scrivi il criterio di autorizzazione aggiornato:
L'API Resource Manager
setIamPolicy
imposta il criterio di autorizzazione nella richiesta come nuovo criterio di autorizzazione per il progetto, la cartella o l'organizzazione.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
API_VERSION
: la versione dell'API da utilizzare. Per progetti e organizzazioni, usav1
. Per le cartelle, utilizzav2
.RESOURCE_TYPE
: il tipo di risorsa di cui vuoi gestire il criterio. Utilizza il valoreprojects
,folders
oppureorganizations
.RESOURCE_ID
: l'ID del tuo progetto, della tua organizzazione o della tua cartella Google Cloud. Gli ID progetto sono stringhe alfanumeriche,my-project
. Gli ID cartella e organizzazione sono numerici, ad esempio123456789012
.-
POLICY
: una rappresentazione JSON del criterio che vuoi impostare. Per ulteriori informazioni sul formato di un criterio, consulta la pagina Riferimento ai criteri.Ad esempio, per impostare il criterio mostrato nel passaggio precedente, sostituisci
POLICY
con quanto segue:{ "version": 3, "etag": "BwWKmjvelug=", "bindings": [ { "members": [ "user:owner@example.com" ], "role": "roles/owner" }, { "members": [ "principal" ], "role": "role", "condition": { "title": "title", "description": "description", "expression": "expression" } } ] }
Metodo HTTP e URL:
POST https://cloudresourcemanager.googleapis.com/API_VERSION/RESOURCE_TYPE/RESOURCE_ID:setIamPolicy
Corpo JSON della richiesta:
{ "policy": POLICY }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene il criterio di autorizzazione aggiornato.
Passaggi successivi
- Applicare il principio del privilegio minimo con il ruolo personalizzati.
- Scopri come utilizzare le condizioni IAM per configurare l'accesso temporaneo e configurare l'accesso basato sulle risorse.