Questa pagina spiega come negare l'accesso alle entità impedendo loro di utilizzare autorizzazioni Identity and Access Management (IAM) specifiche.
In IAM, neghi l'accesso con i criteri di negazione. Ogni policy di negazione è collegata a un'organizzazione, una cartella o un progetto Trusted Cloud by S3NS . Un criterio di negazione contiene regole di negazione, che identificano le entità ed elencano le autorizzazioni che le entità non possono utilizzare.
I criteri di negazione sono separati dai criteri di autorizzazione, noti anche come criteri IAM. Un criterio di autorizzazione fornisce l'accesso alle risorse concedendo ruoli IAM alle entità.
Puoi gestire le policy di negazione con la console Trusted Cloud , Google Cloud CLI
o l'API REST v2
IAM.
Prima di iniziare
Enable the IAM API.
Configurare l'autenticazione.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura leCredenziali predefinite dell'applicazionee con le tue credenziali utente.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Trusted Cloud .
Vai
Per utilizzare gli esempi di Go questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Trusted Cloud .
Java
Per utilizzare gli esempi di Java questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Trusted Cloud .
Node.js
Per utilizzare gli esempi di Node.js questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Trusted Cloud .
Python
Per utilizzare gli esempi di Python questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Trusted Cloud .
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Leggi la panoramica delle policy di negazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire le policy di negazione, chiedi all'amministratore di concederti i seguenti ruoli IAM nell'organizzazione:
-
Per visualizzare le policy di negazione:
Deny Reviewer (
roles/iam.denyReviewer
) -
Per visualizzare, creare, aggiornare ed eliminare le policy di negazione:
Deny Admin (
roles/iam.denyAdmin
)
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire le policy di negazione. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire le policy di negazione sono necessarie le seguenti autorizzazioni:
-
Per visualizzare le policy di negazione:
-
iam.denypolicies.get
-
iam.denypolicies.list
-
-
Per creare, aggiornare ed eliminare le policy di negazione:
-
iam.denypolicies.create
-
iam.denypolicies.delete
-
iam.denypolicies.get
-
iam.denypolicies.update
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Identificare le autorizzazioni da negare
Prima di creare una policy di negazione, devi decidere quali autorizzazioni vuoi negare e a quali entità devono essere negate queste autorizzazioni.
Solo alcune autorizzazioni possono essere negate. Per un elenco delle autorizzazioni che puoi negare, consulta Autorizzazioni supportate nelle policy di negazione.
In alcuni casi, puoi utilizzare i gruppi di autorizzazioni anche per negare insiemi di autorizzazioni. Per ulteriori informazioni, vedi Gruppi di autorizzazioni.
Gestisci le policy di negazione con l'API REST
v2
, che richiede un formato speciale per i nomi delle autorizzazioni. Ad esempio, l'autorizzazione per creare un ruolo personalizzato IAM è denominata nel seguente modo:- API
v1
:iam.roles.create
- API
v2
:iam.googleapis.com/roles.create
Crea una policy di negazione
Puoi aggiungere policy di negazione a organizzazioni, cartelle e progetti. Ogni risorsa può avere fino a 500 criteri di negazione.
Le policy di negazione contengono regole di negazione, che specificano quanto segue:
- Le autorizzazioni da negare.
- Le entità a cui sono negate queste autorizzazioni.
(Facoltativo) Entità esenti dal rifiuto delle autorizzazioni.
Ad esempio, puoi negare un'autorizzazione a un gruppo, ma esentare utenti specifici che appartengono a quel gruppo.
(Facoltativo) Un'espressione di condizione che specifica quando le entità non possono utilizzare le autorizzazioni. Nelle policy di negazione, le espressioni condizionali possono utilizzare solo funzioni per i tag delle risorse. Altre funzioni e operatori non sono supportati.
Ogni risorsa può avere fino a 500 regole di negazione in tutte le relative policy di negazione associate.
I criteri di negazione vengono ereditati tramite la gerarchia delle risorse. Ad esempio, se neghi un'autorizzazione a livello di organizzazione, questa verrà negata anche per le cartelle e i progetti all'interno dell'organizzazione e per le risorse specifiche del servizio all'interno di ogni progetto.
I criteri di negazione sostituiscono i criteri di autorizzazione. Se a un'entità viene concesso un ruolo che contiene un'autorizzazione specifica, ma una policy di negazione afferma che l'entità non può utilizzare questa autorizzazione, l'entità non può utilizzare l'autorizzazione.
Console
Nella console Trusted Cloud , vai alla scheda Nega nella pagina IAM.
Seleziona un progetto, una cartella o un'organizzazione.
Fai clic su
Crea policy di negazione.Nella sezione Nome criterio, definisci l'ID criterio eseguendo una delle seguenti operazioni:
- Nel campo Nome visualizzato, inserisci un nome visualizzato per la policy. La compilazione di questo campo compila automaticamente il campo ID. Se vuoi modificare l'ID della norma, aggiorna il testo nel campo ID.
- Nel campo ID, inserisci un ID per la policy.
Nella sezione Regole di negazione, definisci le regole di negazione del criterio. Ogni policy di negazione deve avere almeno una regola di negazione. Per aggiungere altre regole di negazione, fai clic su Aggiungi regola di negazione.
Per ogni regola di negazione, procedi nel seguente modo:
- Nel campo Entità negate, aggiungi una o più entità a cui
vuoi impedire di utilizzare le autorizzazioni specificate. L'entità può
essere uno qualsiasi dei tipi di entità negli identificatori delle entità per le norme di negazione, tranne le entità i cui ID
iniziano con
deleted:
. (Facoltativo) Nel campo Entità eccezione, aggiungi le entità che vuoi che possano utilizzare le autorizzazioni specificate, anche se queste entità sono incluse nella sezione Entità negate. Ad esempio, puoi utilizzare questo campo per creare un'eccezione per utenti specifici che appartengono a un gruppo negato.
Nelle sezioni Autorizzazioni negate, aggiungi le autorizzazioni che vuoi negare. Le autorizzazioni devono essere supportate nelle norme di negazione.
In alcuni casi, puoi anche utilizzare i gruppi di autorizzazioni per negare insiemi di autorizzazioni. Per ulteriori informazioni, vedi Gruppi di autorizzazioni.
(Facoltativo) Aggiungi autorizzazioni di eccezione. Le autorizzazioni di eccezione sono autorizzazioni che non vuoi che questa regola di negazione neghi, anche se sono incluse nell'elenco delle autorizzazioni negate. Ad esempio, puoi utilizzare questo campo per creare eccezioni per autorizzazioni specifiche in un gruppo di autorizzazioni.
Per aggiungere autorizzazioni di eccezione, fai clic su Autorizzazioni di eccezione, poi su
Aggiungi un'altra autorizzazione e inserisci l'autorizzazione nel campo Autorizzazione 1. Continua ad aggiungere autorizzazioni finché non avrai aggiunto tutte quelle che vuoi esentare dalla policy di negazione.(Facoltativo) Aggiungi una condizione di negazione per specificare quando le entità non possono utilizzare l'autorizzazione. Per aggiungere una condizione di negazione, fai clic su
Aggiungi condizione di negazione e poi definisci i seguenti campi:- Titolo: facoltativo. Un breve riepilogo dello scopo della condizione.
- (Facoltativo) Descrizione. Una descrizione più lunga della condizione.
Espressione condizionale: puoi aggiungere un'espressione condizionale utilizzando il Generatore di condizioni o l'Editor di condizioni. Il generatore di condizioni fornisce un'interfaccia interattiva per selezionare il tipo di condizione, l'operatore e altri dettagli applicabili dell'espressione. L'editor delle condizioni fornisce un'interfaccia basata su testo per inserire manualmente un'espressione utilizzando la sintassi CEL (Common Expression Language).
Le condizioni di negazione devono basarsi sui tag delle risorse. Altre funzioni e operatori non sono supportati.
- Nel campo Entità negate, aggiungi una o più entità a cui
vuoi impedire di utilizzare le autorizzazioni specificate. L'entità può
essere uno qualsiasi dei tipi di entità negli identificatori delle entità per le norme di negazione, tranne le entità i cui ID
iniziano con
Fai clic su Crea.
gcloud
Per creare una policy di negazione per una risorsa, inizia creando un file JSON che contenga la policy. Un criterio di negazione utilizza il seguente formato:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Fornisci i seguenti valori:
POLICY_NAME
: Il nome visualizzato per la policy di negazione.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: le regole di negazione nei criteri. Ogni regola di negazione può contenere i seguenti campi:-
deniedPermissions
: un elenco di autorizzazioni che le entità specificate non possono utilizzare. Le autorizzazioni devono essere supportate nelle policy di negazione.In alcuni casi, puoi utilizzare i gruppi di autorizzazioni anche per negare insiemi di autorizzazioni. Per ulteriori informazioni, vedi Gruppi di autorizzazioni.
-
exceptionPermissions
: un elenco di autorizzazioni che le entità specificate possono utilizzare, anche se queste autorizzazioni sono incluse indeniedPermissions
. Ad esempio, puoi utilizzare questo campo per creare eccezioni per autorizzazioni specifiche in un gruppo di autorizzazioni. -
deniedPrincipals
: Un elenco di entità che non possono utilizzare le autorizzazioni specificate. Per scoprire come formattare gli identificatori delle entità, consulta Identificatori delle entità per le policy di negazione. -
exceptionPrincipals
: (Facoltativo) Un elenco di entità che possono utilizzare le autorizzazioni specificate, anche se sono incluse indeniedPrincipals
. Ad esempio, puoi utilizzare questo campo per creare un'eccezione per utenti specifici che appartengono a un gruppo negato. Per scoprire come formattare gli identificatori delle entità, consulta Identificatori delle entità per le policy di negazione. -
denialCondition
: (Facoltativo) Un'espressione di condizione che specifica quando le entità non possono utilizzare le autorizzazioni. Contiene i seguenti campi:-
expression
: un'espressione di condizione che utilizza la sintassi di Common Expression Language (CEL). L'espressione deve utilizzare le funzioni CEL per valutare i tag delle risorse. Altre funzioni e operatori non sono supportati. -
title
: (Facoltativo) Un breve riepilogo dello scopo della condizione. -
description
: (Facoltativo) Una descrizione più lunga della condizione.
-
Per esempi di regole di negazione, vedi Casi d'uso comuni.
-
Ad esempio, la seguente policy di negazione contiene una regola di negazione, che nega un'autorizzazione a Lucian:
{ "displayName": "My deny policy.", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Successivamente, esegui il comando
gcloud iam policies create
:gcloud iam policies create POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Fornisci i seguenti valori:
-
POLICY_ID
: l'identificatore della policy di negazione. -
ATTACHMENT_POINT
: un identificatore della risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. -
POLICY_FILE
: il percorso del file JSON che contiene la policy di negazione.
Per impostazione predefinita, se questo comando ha esito positivo, non stampa alcun output. Per stampare una risposta dettagliata, aggiungi il flag
--format=json
al comando.Ad esempio, il seguente comando crea una policy di negazione denominata
my-deny-policy
per il progettomy-project
, utilizzando un file denominatopolicy.json
:gcloud iam policies create my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base. Per saperne di più, consulta la documentazione di riferimento del fornitore Terraform.
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.REST
Il metodo
policies.createPolicy
crea un criterio di negazione per una risorsa.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ENCODED_ATTACHMENT_POINT
: un identificatore codificato come URL per la risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. POLICY_ID
: un identificatore per la policy di negazione.POLICY_NAME
: Il nome visualizzato per la policy di negazione.-
DENY_RULE_1
,DENY_RULE_2
,...DENY_RULE_N
: le regole di negazione nei criteri. Ogni regola di negazione può contenere i seguenti campi:-
deniedPermissions
: un elenco di autorizzazioni che le entità specificate non possono utilizzare. Le autorizzazioni devono essere supportate nelle policy di negazione.In alcuni casi, puoi utilizzare i gruppi di autorizzazioni anche per negare insiemi di autorizzazioni. Per ulteriori informazioni, vedi Gruppi di autorizzazioni.
-
exceptionPermissions
: un elenco di autorizzazioni che le entità specificate possono utilizzare, anche se queste autorizzazioni sono incluse indeniedPermissions
. Ad esempio, puoi utilizzare questo campo per creare eccezioni per autorizzazioni specifiche in un gruppo di autorizzazioni. -
deniedPrincipals
: Un elenco di entità che non possono utilizzare le autorizzazioni specificate. Per scoprire come formattare gli identificatori delle entità, consulta Identificatori delle entità per le policy di negazione. -
exceptionPrincipals
: (Facoltativo) Un elenco di entità che possono utilizzare le autorizzazioni specificate, anche se sono incluse indeniedPrincipals
. Ad esempio, puoi utilizzare questo campo per creare un'eccezione per utenti specifici che appartengono a un gruppo negato. Per scoprire come formattare gli identificatori delle entità, consulta Identificatori delle entità per le policy di negazione. -
denialCondition
: (Facoltativo) Un'espressione di condizione che specifica quando le entità non possono utilizzare le autorizzazioni. Contiene i seguenti campi:-
expression
: un'espressione di condizione che utilizza la sintassi di Common Expression Language (CEL). L'espressione deve utilizzare le funzioni CEL per valutare i tag delle risorse. Altre funzioni e operatori non sono supportati. -
title
: (Facoltativo) Un breve riepilogo dello scopo della condizione. -
description
: (Facoltativo) Una descrizione più lunga della condizione.
-
Per esempi di regole di negazione, vedi Casi d'uso comuni.
-
Metodo HTTP e URL:
POST https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies?policyId=POLICY_ID
Corpo JSON della richiesta:
{ "displayName": "POLICY_NAME", "rules": [ { "denyRule": DENY_RULE_1 }, { "denyRule": DENY_RULE_2 }, { "denyRule": DENY_RULE_N } ] }
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2022-06-28T19:06:12.455151Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
La risposta identifica un'operazione a lunga esecuzione. Puoi monitorare lo stato dell'operazione a lunga esecuzione per scoprire quando è stata completata. Per maggiori dettagli, vedi Controllare lo stato di un'operazione di lunga durata in questa pagina.
Elenca le policy di negazione
Una risorsa può avere più policy di rifiuto. Puoi elencare tutti i criteri di negazione associati a una risorsa e poi visualizzare ogni criterio di negazione per vedere le regole di negazione in ogni criterio.
Console
Nella console Trusted Cloud , vai alla scheda Nega nella pagina IAM.
Seleziona un progetto, una cartella o un'organizzazione.
La console Trusted Cloud elenca tutte le policy di negazione che si applicano a quel progetto, a quella cartella o a quell'organizzazione. Sono incluse le policy di negazione ereditate da altre risorse. Per saperne di più sull'ereditarietà dei criteri di negazione, consulta Ereditarietà dei criteri di negazione.
gcloud
Per elencare le policy di negazione per una risorsa, esegui il comando
gcloud iam policies list
:gcloud iam policies list \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Fornisci il seguente valore:
-
ATTACHMENT_POINT
: un identificatore della risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco.
Ad esempio, il seguente comando elenca le policy di negazione associate a un'organizzazione il cui ID numerico è
123456789012
:gcloud iam policies list \ --attachment-point=cloudresourcemanager.googleapis.com/organizations/123456789012 \ --kind=denypolicies \ --format=json
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.REST
Il metodo
policies.listPolicies
elenca i criteri di negazione per una risorsa.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ENCODED_ATTACHMENT_POINT
: un identificatore codificato come URL per la risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "policies": [ { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-06-28T22:26:21.968687Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-2", "uid": "8465d710-ea20-0a08-d92c-b2a3ebf766ab", "kind": "DenyPolicy", "displayName": "My second deny policy.", "createTime": "2022-06-05T19:21:53.595455Z", "updateTime": "2022-06-05T19:21:53.595455Z" }, { "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1067607927478/denypolicies/test-policy-3", "uid": "ee9f7c2f-7e8c-b05c-d4e5-e03bfb2954e0", "kind": "DenyPolicy", "displayName": "My third deny policy.", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z" } ] }
Visualizzare una policy di negazione
Puoi visualizzare una policy di negazione per vedere le regole di negazione che contiene, incluse le autorizzazioni negate e le entità che non possono utilizzare queste autorizzazioni.
Console
Nella console Trusted Cloud , vai alla scheda Nega nella pagina IAM.
Seleziona un progetto, una cartella o un'organizzazione.
Nella colonna ID norma, fai clic sull'ID della norma che vuoi visualizzare.
La console Trusted Cloud mostra i dettagli della policy di rifiuto, tra cui l'ID policy, la data di creazione e le regole di rifiuto nella policy di rifiuto.
gcloud
Per ottenere la policy di negazione per una risorsa, esegui il comando
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Fornisci i seguenti valori:
-
POLICY_ID
: l'identificatore della policy di negazione. -
ATTACHMENT_POINT
: un identificatore della risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco.
Ad esempio, il seguente comando recupera la policy di negazione denominata
my-deny-policy
per il progettomy-project
e la salva in un file denominatopolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.REST
Il metodo
policies.get
recupera un criterio di negazione per una risorsa.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ENCODED_ATTACHMENT_POINT
: un identificatore codificato come URL per la risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. POLICY_ID
: un identificatore per la policy di negazione.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Aggiorna una policy di negazione
Dopo aver creato una policy di negazione, puoi aggiornare le regole di negazione che contiene, nonché il nome visualizzato.
Puoi aggiornare un criterio di negazione utilizzando la console Trusted Cloud o uno dei seguenti metodi programmatici:
- gcloud CLI
- API REST
- Librerie client IAM
Aggiorna una policy di negazione utilizzando la console Trusted Cloud
Nella console Trusted Cloud , vai alla scheda Nega nella pagina IAM.
Seleziona un progetto, una cartella o un'organizzazione.
Nella colonna ID criterio, fai clic sull'ID del criterio che vuoi modificare.
Fai clic su
Modifica.Aggiorna la policy di negazione:
- Per modificare il nome visualizzato della policy, modifica il campo Nome visualizzato.
- Per modificare una regola di negazione esistente, fai clic sulla regola di negazione e poi modifica le entità della regola, le entità di eccezione, le autorizzazioni negate, le autorizzazioni di eccezione o la condizione di negazione.
- Per rimuovere una regola di negazione, trova la regola di negazione che vuoi eliminare e fai clic su Elimina nella riga.
- Per aggiungere una regola di negazione, fai clic su Aggiungi regola di negazione e poi crea una regola di negazione come quando crei un criterio di negazione.
Al termine dell'aggiornamento della norma di negazione, fai clic su Salva.
Aggiornare una policy di negazione in modo programmatico
Per aggiornare un criterio di negazione utilizzando gcloud CLI, l'API REST o le librerie client IAM, utilizza il pattern read-modify-write:
- Leggi la versione attuale delle norme.
- Modifica le informazioni nella norma in base alle esigenze.
- Scrivi la policy aggiornata.
Leggi il criterio di negazione
gcloud
Per ottenere la policy di negazione per una risorsa, esegui il comando
gcloud iam policies get
:gcloud iam policies get POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --format=json
Fornisci i seguenti valori:
-
POLICY_ID
: l'identificatore della policy di negazione. -
ATTACHMENT_POINT
: un identificatore della risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco.
Ad esempio, il seguente comando recupera la policy di negazione denominata
my-deny-policy
per il progettomy-project
e la salva in un file denominatopolicy.json
:gcloud iam policies get my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --format=json \ > ./policy.json
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.REST
Il metodo
policies.get
recupera un criterio di negazione per una risorsa.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ENCODED_ATTACHMENT_POINT
: un identificatore codificato come URL per la risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. POLICY_ID
: un identificatore per la policy di negazione.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] }
Modifica la policy di negazione
Per modificare la policy di negazione, devi apportare modifiche alla copia della policy che hai letto in precedenza da IAM. Puoi aggiornare il nome visualizzato oppure aggiungere, modificare o rimuovere le regole di negazione. Le modifiche non entrano in vigore finché non scrivi le norme aggiornate.
Ad esempio, puoi aggiungere un'autorizzazione a una regola di negazione esistente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2021-10-05T19:22:26.770543Z", "updateTime": "2021-10-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Scrivi la policy di negazione aggiornata
Dopo aver modificato localmente la policy di negazione, devi scrivere la policy di negazione aggiornata in IAM.
Ogni policy di negazione contiene un campo
etag
che identifica la versione della policy. Il valore dietag
cambia ogni volta che aggiorni il criterio. Quando scrivi la policy aggiornata, iletag
nella tua richiesta deve corrispondere aletag
corrente memorizzato in IAM. Se i valori non corrispondono, la richiesta non va a buon fine. Questa funzionalità consente di evitare che le modifiche simultanee si sovrascrivano a vicenda.gcloud
Per aggiornare la policy di negazione per una risorsa, esegui il comando
gcloud iam policies update
:gcloud iam policies update POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies \ --policy-file=POLICY_FILE
Fornisci i seguenti valori:
-
POLICY_ID
: l'identificatore della policy di negazione. -
ATTACHMENT_POINT
: un identificatore della risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. -
POLICY_FILE
: il percorso del file JSON che contiene la policy di negazione.
Per impostazione predefinita, se questo comando ha esito positivo, non stampa alcun output. Per stampare una risposta dettagliata, aggiungi il flag
--format=json
al comando.Ad esempio, il seguente comando aggiorna una policy di negazione denominata
my-deny-policy
per il progettomy-project
, utilizzando un file denominatopolicy.json
:gcloud iam policies update my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies \ --policy-file=policy.json
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.REST
Il metodo
policies.update
aggiorna una policy di negazione.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ENCODED_ATTACHMENT_POINT
: un identificatore codificato come URL per la risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. POLICY_ID
: un identificatore per la policy di negazione.-
POLICY
: la policy di negazione aggiornata.Ad esempio, per aggiungere un'autorizzazione alla policy mostrata nel passaggio precedente, sostituisci
POLICY
con quanto segue:{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T19:22:26.770543Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] }
Metodo HTTP e URL:
PUT https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID
Corpo JSON della richiesta:
POLICY
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8b2d0ab2daf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T22:26:21.968687Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "uid": "6665c437-a3b2-a018-6934-54dd16d3426e", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTgxNTIxNDE3NTYxNjQxODYxMTI=", "createTime": "2022-06-05T19:22:26.770543Z", "updateTime": "2022-06-05T22:26:21.968687Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create", "iam.googleapis.com/roles.delete" ] } } ] } }
La risposta identifica un'operazione a lunga esecuzione. Puoi monitorare lo stato dell'operazione a lunga esecuzione per scoprire quando è stata completata. Per maggiori dettagli, vedi Controllare lo stato di un'operazione di lunga durata in questa pagina.
Eliminare una policy di negazione
Se non vuoi più applicare le regole in un criterio di negazione, puoi eliminarlo.
(Facoltativo) Puoi specificare
etag
per la versione della policy che stai eliminando. Se specifichietag
, questo deve corrispondere all'etag
corrente archiviato da IAM. Se i valori non corrispondono, la richiesta non va a buon fine. Puoi utilizzare questa funzionalità per assicurarti di eliminare la policy che ti interessa, anziché una versione aggiornata.Se ometti
etag
dalla richiesta, IAM elimina la policy in modo incondizionato.Console
Nella console Trusted Cloud , vai alla scheda Nega nella pagina IAM.
Seleziona un progetto, una cartella o un'organizzazione.
Nella colonna ID norma, fai clic sull'ID della norma che vuoi eliminare.
Fai clic su
Elimina. Nella finestra di dialogo di conferma, fai clic su Conferma.
gcloud
Per eliminare una policy di negazione da una risorsa, esegui il comando
gcloud iam policies delete
:gcloud iam policies delete POLICY_ID \ --attachment-point=ATTACHMENT_POINT \ --kind=denypolicies
Fornisci i seguenti valori:
-
POLICY_ID
: l'identificatore della policy di negazione. -
ATTACHMENT_POINT
: un identificatore della risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco.
Se vuoi, puoi aggiungere il flag
--etag=ETAG
. SostituisciETAG
con il valoreetag
corrente per la policy di negazione.Per impostazione predefinita, se questo comando ha esito positivo, non stampa alcun output. Per stampare una risposta dettagliata, aggiungi il flag
--format=json
al comando.Ad esempio, il seguente comando elimina un criterio di negazione denominato
my-deny-policy
dal progettomy-project
:gcloud iam policies delete my-deny-policy \ --attachment-point=cloudresourcemanager.googleapis.com/projects/my-project \ --kind=denypolicies
Go
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Go.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Java
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Java.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Node.js
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Node.js.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.Python
Per scoprire come installare e utilizzare la libreria client per IAM, consulta Librerie client IAM. Per saperne di più, consulta la documentazione di riferimento dell'API IAM Python.
Per autenticarti in IAM, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Prima di iniziare.
Prima di eseguire gli esempi di codice, imposta la variabile di ambiente
GOOGLE_CLOUD_UNIVERSE_DOMAIN
sus3nsapis.fr
.REST
Il metodo
policies.delete
elimina una policy di negazione da una risorsa.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ENCODED_ATTACHMENT_POINT
: un identificatore codificato come URL per la risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. POLICY_ID
: un identificatore per la policy di negazione.-
ETAG
: (Facoltativo) Un identificatore per la versione del criterio. Se presente, questo valore deve corrispondere al valoreetag
corrente per le norme.
Metodo HTTP e URL:
DELETE https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/denypolicies/POLICY_ID?etag=ETAG
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/8223fe308bf1ff01", "metadata": { "@type": "type.googleapis.com/google.iam.v2.PolicyOperationMetadata", "createTime": "2021-10-05T19:45:00.133311Z" }, "response": { "@type": "type.googleapis.com/google.iam.v2.Policy", "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy", "kind": "DenyPolicy", "displayName": "My deny policy.", "etag": "MTc3NDU4MjM4OTY0MzU5MjQ5OTI=", "createTime": "2022-06-28T19:06:12.455151Z", "updateTime": "2022-07-05T19:45:00.133311Z", "deleteTime": "2022-07-05T19:45:00.133311Z", "rules": [ { "denyRule": { "deniedPrincipals": [ "principal://iam.googleapis.com/locations/global/workforcePools/example-pool/subject/lucian@example.com" ], "deniedPermissions": [ "iam.googleapis.com/roles.create" ] } } ] } }
La risposta identifica un'operazione a lunga esecuzione. Puoi monitorare lo stato dell'operazione a lunga esecuzione per scoprire quando è stata completata. Per maggiori dettagli, vedi Controllare lo stato di un'operazione di lunga durata in questa pagina.
Controllare lo stato di un'operazione a lunga esecuzione
Quando utilizzi l'API REST o le librerie client, qualsiasi metodo che modifica una policy di negazione restituisce un'operazione a lunga esecuzionea (LRO). L'operazione a lunga esecuzione monitora lo stato della richiesta e indica se la modifica alla norma è stata completata.
Go
Gli esempi di codice in questa pagina mostrano come attendere il completamento di un'operazione a lunga esecuzione e poi accedere al relativo risultato.
Java
Gli esempi di codice in questa pagina mostrano come attendere il completamento di un'operazione a lunga esecuzione e poi accedere al relativo risultato.
Node.js
Gli esempi di codice in questa pagina mostrano come attendere il completamento di un'operazione a lunga esecuzione e poi accedere al relativo risultato.
Python
Gli esempi di codice in questa pagina mostrano come attendere il completamento di un'operazione a lunga esecuzione e poi accedere al relativo risultato.
REST
Il metodo
policies.operations.get
restituisce lo stato di un'operazione a lunga esecuzione.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ENCODED_ATTACHMENT_POINT
: un identificatore codificato come URL per la risorsa a cui è associata la policy di negazione. Per scoprire come formattare questo valore, consulta Punto di attacco. -
OPERATION_ID
: l'identificatore dell'operazione. Ricevi questo identificatore nella risposta alla tua richiesta originale, come parte del nome dell'operazione. Utilizza il valore esadecimale alla fine del nome dell'operazione. Ad esempio,89cb3e508bf1ff01
.
Metodo HTTP e URL:
GET https://iam.googleapis.com/v2/policies/ENCODED_ATTACHMENT_POINT/operations/OPERATION_ID
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "policies/cloudresourcemanager.googleapis.com%2Fprojects%2F1234567890123/denypolicies/my-policy/operations/89cb3e508bf1ff01", "done": true }
Se il campo
done
dell'operazione non è presente, continua a monitorare il suo stato recuperando ripetutamente l'operazione. Utilizza il backoff esponenziale troncato per introdurre un ritardo tra ogni richiesta. Quando il campodone
è impostato sutrue
, l'operazione è completata e puoi interrompere la ricezione dell'operazione.Passaggi successivi
- Identifica le autorizzazioni supportate nelle policy di negazione.
- Ottieni il formato degli identificatori delle entità nelle norme di negazione.
- Scopri come risolvere i problemi di accesso con i criteri di negazione.
- Scopri di più su come negare l'accesso alle entità.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-21 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-21 UTC."],[[["\u003cp\u003eDeny policies in Google Cloud IAM prevent specified principals from using certain permissions, overriding allow policies and ensuring specific access restrictions.\u003c/p\u003e\n"],["\u003cp\u003eThese policies are managed at the organization, folder, or project level and can be configured through the Google Cloud console, gcloud CLI, or IAM \u003ccode\u003ev2\u003c/code\u003e REST API, and supports up to 500 rules per resource.\u003c/p\u003e\n"],["\u003cp\u003eCreating and updating deny policies requires defining deny rules, which include denied permissions, principals, exception principals, and optional conditions, using a defined policy ID.\u003c/p\u003e\n"],["\u003cp\u003eManaging deny policies involves listing, viewing, updating, and deleting them using the console, \u003ccode\u003egcloud\u003c/code\u003e commands, client libraries (Go, Java, Node.js, Python), or REST API calls, often using long-running operations to track changes.\u003c/p\u003e\n"],["\u003cp\u003eDeny policies are attached to a specific resource (attachment point), use an \u003ccode\u003eetag\u003c/code\u003e for version control, and require appropriate permissions such as \u003ccode\u003eDeny Reviewer\u003c/code\u003e or \u003ccode\u003eDeny Admin\u003c/code\u003e roles for viewing or managing policies.\u003c/p\u003e\n"]]],[],null,[]]