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 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 alcune azioni su una risorsa esposta da un servizio. Le risorse, identificate da nomi di tipo URI, sono l'unità della specifica di controllo dell'accesso#39;accesso. Le implementazioni dei servizi possono scegliere la granularità del controllo dell'accesso'accesso e le autorizzazioni supportate per le proprie risorse. Ad esempio, un servizio di database può consentire di specificare il controllo dell'accesso dell'accesso solo a livello di tabella, mentre un altro può consentire di specificare il controllo dell'accesso dell'accesso anche a livello di colonna.
Struttura delle norme
Vedi 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 collegati.
GetIamPolicy |
---|
Ottieni il criterio di controllo dell'accesso per una risorsa. Restituisce un criterio vuoto se la risorsa esiste e non è stato impostato un criterio.
|
SetIamPolicy |
---|
Imposta il criterio di controllo dell'accesso sulla risorsa specificata. Sostituisce qualsiasi criterio esistente. Può restituire errori
|
TestIamPermissions |
---|
Restituisce le autorizzazioni di cui un chiamante dispone per la risorsa specificata. Se la risorsa non esiste, verrà restituito un insieme di autorizzazioni vuoto, non un errore Nota: questa operazione è progettata per essere utilizzata per la creazione di UI e strumenti a riga di comando sensibili alle autorizzazioni, non per il controllo delle autorizzazioni. Questa operazione potrebbe non riuscire ad aprirsi senza preavviso.
|
AuditConfig
Specifica la configurazione dell'audit per un servizio. La configurazione determina quali tipi di autorizzazione vengono registrati e quali identità, se presenti, sono esenti dal logging. Un AuditConfig deve avere uno o più AuditLogConfig.
Se sono presenti AuditConfig sia per allServices
sia per uno specifico servizio, per quel servizio viene utilizzata l'unione dei due AuditConfig: i log_type specificati in ogni AuditConfig sono abilitati, mentre gli excepted_members in ogni AuditLogConfig sono esenti.
Criterio di esempio 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 consente il logging DATA_READ, DATA_WRITE e ADMIN_READ. Esclude inoltre jose@example.com
dal logging DATA_READ e aliya@example.com
dal logging DATA_WRITE.
Campi | |
---|---|
service |
Specifica un servizio che verrà abilitato per l'audit logging. Ad esempio, |
audit_log_configs[] |
La configurazione per il logging di ciascun tipo di autorizzazione. |
AuditLogConfig
Fornisce la configurazione per il logging di un tipo di autorizzazione. Esempio:
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE"
}
]
}
Questo abilita il logging "DATA_READ" e "DATA_WRITE", escludendo jose@example.com dal logging DATA_READ.
Campi | |
---|---|
log_type |
Il tipo di log abilitato da questa configurazione. |
exempted_members[] |
Specifica le identità che non causano il logging per questo tipo di autorizzazione. Deve seguire lo stesso formato di |
LogType
L'elenco dei tipi di autorizzazione validi per i quali è possibile configurare il logging. Le scritture amministrative vengono sempre registrate e non sono configurabili.
Enum | |
---|---|
LOG_TYPE_UNSPECIFIED |
Maiuscole predefinite. Non dovrebbe mai essere così. |
ADMIN_READ |
Letture dell'amministratore. Esempio: CloudIAM getIamPolicy |
DATA_WRITE |
Operazioni di scrittura dati. Esempio: gli utenti Cloud SQL creano |
DATA_READ |
Letture dei dati. Esempio: elenco utenti Cloud SQL |
Associazione
Associa members
, o entità, a un role
.
Campi | |
---|---|
role |
Ruolo assegnato all'elenco di |
members[] |
Specifica le entità che richiedono l'accesso per una risorsa Google Cloud.
|
condition |
La condizione associata a questa associazione. Se la condizione ha come valore Se la condizione ha come valore Per sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione IAM. |
GetIamPolicyRequest
Messaggio di richiesta per il metodo GetIamPolicy
.
Campi | |
---|---|
resource |
OBBLIGATORIO: 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 qualsiasi associazione di ruoli condizionali devono specificare la versione 3. I criteri senza associazioni di ruoli condizionali possono specificare un 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 sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione IAM. |
Criterio
Un criterio IAM (Identity and Access Management), che specifica i controlli di accesso per le risorse Google Cloud.
Un Policy
è una raccolta di bindings
. Un elemento binding
associa una 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
, che è un'espressione logica che consente l'accesso a una risorsa solo se l'espressione restituisce true
. Una condizione può aggiungere vincoli in base agli attributi della richiesta, della risorsa o di entrambe. Per sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione 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 IAM.
Campi | |
---|---|
version |
Specifica il formato del criterio. I valori validi sono Per 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 sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione IAM. |
bindings[] |
Associa un elenco di L'elemento |
audit_configs[] |
Specifica la configurazione dell'audit logging del cloud per questo criterio. |
etag |
Importante:se utilizzi le condizioni IAM, devi includere il campo |
SetIamPolicyRequest
Messaggio di richiesta per il metodo SetIamPolicy
.
Campi | |
---|---|
resource |
OBBLIGATORIO: la risorsa per cui viene specificato il criterio. Consulta Nomi delle risorse per il valore appropriato per questo campo. |
policy |
OBBLIGATORIO: il criterio completo da applicare a |
update_mask |
FACOLTATIVO: una maschera di campo 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
Messaggio di richiesta per il metodo TestIamPermissions
.
Campi | |
---|---|
resource |
OBBLIGATORIO: la risorsa per cui vengono richiesti i dettagli del criterio. Consulta Nomi delle risorse per il valore appropriato per questo campo. |
permissions[] |
L'insieme di autorizzazioni da verificare per |
TestIamPermissionsResponse
Messaggio di risposta per il metodo TestIamPermissions
.
Campi | |
---|---|
permissions[] |
Un sottoinsieme di |