Indice
IAMPolicy
(interfaccia)AuditConfig
(messaggio)AuditLogConfig
(messaggio)AuditLogConfig.LogType
(enum)Binding
(messaggio)GetIamPolicyRequest
(messaggio)GetPolicyOptions
(messaggio)Policy
(messaggio)SetIamPolicyRequest
(messaggio)TestIamPermissionsRequest
(messaggio)TestIamPermissionsResponse
(messaggio)
IAMPolicy
Panoramica dell'API
Gestisce i criteri IAM (Identity and Access Management).
Qualsiasi implementazione di un'API che offre funzionalità di controllo dell'accesso implementa l'interfaccia google.iam.v1.IAMPolicy.
Modello dati
Il controllo dell'accesso viene applicato quando un'entità (utente o account di servizio) esegue un'azione su una risorsa esposta da un servizio. Le risorse, identificate da nomi simili a URI, sono l'unità di specifica del controllo dell'accesso. Le implementazioni dei servizi possono scegliere la granularità del controllo dell'accesso e le autorizzazioni supportate per le proprie risorse. Ad esempio, un servizio di database potrebbe consentire di specificare il controllo dell'accesso solo a livello di tabella, mentre un altro potrebbe consentire di specificare il controllo dell'accesso anche a livello di colonna.
Struttura dei criteri
Consulta google.iam.v1.Policy
Non si tratta intenzionalmente di un'API in stile CRUD perché i criteri di controllo dell'accesso vengono creati ed eliminati implicitamente con le risorse a cui sono associati.
GetIamPolicy |
---|
Recupera il criterio di controllo dell'accesso per una risorsa. Restituisce un criterio vuoto se la risorsa esiste e non ha un criterio impostato.
|
SetIamPolicy |
---|
Imposta il criterio di controllo dell'accesso sulla risorsa specificata. Sostituisce qualsiasi criterio esistente. Può restituire errori
|
TestIamPermissions |
---|
Restituisce le autorizzazioni di cui dispone un chiamante sulla risorsa specificata. Se la risorsa non esiste, verrà restituito un insieme vuoto di autorizzazioni, non un errore Nota: questa operazione è progettata per essere utilizzata per creare interfacce utente e strumenti a riga di comando attenti alle autorizzazioni, non per il controllo dell'autorizzazione. Questa operazione potrebbe "non riuscire" senza avviso.
|
AuditConfig
Specifica la configurazione di controllo per un servizio. La configurazione determina quali tipi di autorizzazioni vengono registrati e quali identità, se presenti, sono esenti dalla registrazione. Un AuditConfig deve avere uno o più AuditLogConfig.
Se sono presenti AuditConfig sia per allServices
sia per un servizio specifico, per quel servizio viene utilizzata l'unione dei due AuditConfig: i log_types specificati in ogni AuditConfig sono abilitati e i membri esenti in ogni AuditLogConfig sono esenti.
Esempio di norme con più AuditConfig:
{
"audit_configs": [
{
"service": "allServices",
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
},
{
"log_type": "ADMIN_READ"
}
]
},
{
"service": "sampleservice.googleapis.com",
"audit_log_configs": [
{
"log_type": "DATA_READ"
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"user:aliya@example.com"
]
}
]
}
]
}
Per sampleservice, questo criterio attiva il logging di DATA_READ, DATA_WRITE e ADMIN_READ. Inoltre, esenta jose@example.com
dal logging DATA_READ ed aliya@example.com
dal logging DATA_WRITE.
Campi | |
---|---|
service |
Specifica un servizio che verrà attivato per l'audit logging. Ad esempio, |
audit_log_configs[] |
La configurazione per la registrazione di ogni tipo di autorizzazione. |
AuditLogConfig
Fornisce la configurazione per la registrazione di un tipo di autorizzazioni. Esempio:
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
}
]
}
In questo modo vengono attivati i log "DATA_READ" e "DATA_WRITE", mentre jose@example.com viene esentato dal logging DATA_READ.
Campi | |
---|---|
log_type |
Il tipo di log abilitato da questa configurazione. |
exempted_members[] |
Specifica le identità che non generano log per questo tipo di autorizzazione. Deve seguire lo stesso formato di |
LogType
L'elenco dei tipi di autorizzazioni validi per i quali è possibile configurare il logging. Le scritture amministrative vengono sempre registrate e non sono configurabili.
Enum | |
---|---|
LOG_TYPE_UNSPECIFIED |
Caso predefinito. Non dovrebbe mai essere così. |
ADMIN_READ |
Letture amministratore. Esempio: CloudIAM getIamPolicy |
DATA_WRITE |
Scritture di dati. Esempio: creazione di utenti CloudSQL |
DATA_READ |
Letture dei dati. Esempio: elenco utenti CloudSQL |
Associazione
Associa members
, o entità, a un role
.
Campi | |
---|---|
role |
Ruolo assegnato all'elenco di Per una panoramica dei ruoli e delle autorizzazioni IAM, consulta la documentazione di IAM. Per un elenco dei ruoli predefiniti disponibili, consulta questa pagina. |
members[] |
Specifica le entità che richiedono l'accesso per una risorsa Google Cloud.
|
condition |
La condizione associata a questa associazione. Se la condizione ha valore Se la condizione ha valore Per scoprire quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione di IAM. |
GetIamPolicyRequest
Richiedi messaggio per il metodo GetIamPolicy
.
Campi | |
---|---|
resource |
OBBLIGATORI: la risorsa per cui viene richiesto il criterio. Consulta Nomi delle risorse per il valore appropriato per questo campo. |
options |
(FACOLTATIVO) Un oggetto |
GetPolicyOptions
Incapsula le impostazioni fornite a GetIamPolicy.
Campi | |
---|---|
requested_policy_version |
Facoltativo. La versione massima del criterio che verrà utilizzata per formattare il criterio. I valori validi sono 0, 1 e 3. Le richieste che specificano un valore non valido verranno rifiutate. Le richieste di criteri con associazioni di ruoli condizionali devono specificare la versione 3. I criteri senza associazioni di ruoli condizionali possono specificare qualsiasi valore valido o lasciare il campo non impostato. Il criterio nella risposta potrebbe utilizzare la versione del criterio specificata o una versione precedente. Ad esempio, se specifichi la versione 3, ma il criterio non ha associazioni di ruoli condizionali, la risposta utilizza la versione 1. Per scoprire quali risorse supportano le condizioni nei propri criteri IAM, consulta la documentazione di IAM. |
Norme
Un criterio Identity and Access Management (IAM) che specifica i controlli di accesso per le risorse Google Cloud.
Un Policy
è una raccolta di bindings
. Un binding
associa uno o più members
, o entità, a un singolo role
. Le entità possono essere account utente, account di servizio, gruppi Google e domini (ad esempio G Suite). Un role
è un elenco denominato di autorizzazioni. Ogni role
può essere un ruolo IAM predefinito o un ruolo personalizzato creato dall'utente.
Per alcuni tipi di risorse Google Cloud, un binding
può anche specificare un condition
, ovvero un'espressione logica che consente l'accesso a una risorsa solo se l'espressione ha il valore true
. Una condizione può aggiungere vincoli in base agli attributi della richiesta, della risorsa o di entrambi. Per scoprire quali risorse supportano le condizioni nei propri criteri IAM, consulta la documentazione di IAM.
Esempio di JSON:
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Esempio YAML:
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
Per una descrizione di IAM e delle sue funzionalità, consulta la documentazione di IAM.
Campi | |
---|---|
version |
Specifica il formato del criterio. I valori validi sono Qualsiasi operazione che influisce sulle associazioni di ruoli condizionali deve specificare la versione
Importante:se utilizzi le condizioni IAM, devi includere il campo Se un criterio non include condizioni, le operazioni su quel criterio possono specificare qualsiasi versione valida o lasciare il campo non impostato. Per scoprire quali risorse supportano le condizioni nei propri criteri IAM, consulta la documentazione di IAM. |
bindings[] |
Associa un elenco di Il |
audit_configs[] |
Specifica la configurazione dell'audit logging di Cloud per questo criterio. |
etag |
Importante:se utilizzi le condizioni IAM, devi includere il campo |
SetIamPolicyRequest
Richiedi messaggio per il metodo SetIamPolicy
.
Campi | |
---|---|
resource |
OBBLIGATORI: la risorsa per cui viene specificato il criterio. Consulta Nomi delle risorse per il valore appropriato per questo campo. |
policy |
OBBLIGATORI: le norme complete da applicare al |
update_mask |
(Facoltativo) Un FieldMask che specifica i campi del criterio da modificare. Verranno modificati solo i campi nella maschera. Se non viene fornita alcuna maschera, viene utilizzata la seguente maschera predefinita:
|
TestIamPermissionsRequest
Richiedi messaggio per il metodo TestIamPermissions
.
Campi | |
---|---|
resource |
OBBLIGATORI: la risorsa per cui viene richiesto il dettaglio delle norme. Consulta Nomi delle risorse per il valore appropriato per questo campo. |
permissions[] |
L'insieme di autorizzazioni da controllare per |
TestIamPermissionsResponse
Messaggio di risposta per il metodo TestIamPermissions
.
Campi | |
---|---|
permissions[] |
Un sottoinsieme di |