Policy

Definisce un criterio IAM (Identity and Access Management). Viene utilizzato per specificare i criteri di controllo dell'accesso per le risorse della piattaforma Cloud.

Un Policy è costituito da un elenco di bindings. Un binding associa un elenco di members a un role, dove i membri possono essere account utente, gruppi Google, domini Google e account di servizio. Un role è un elenco denominato di autorizzazioni definite da IAM.

Esempio JSON

{
  "bindings": [
    {
      "role": "roles/owner",
      "members": [
        "user:mike@example.com",
        "group:admins@example.com",
        "domain:google.com",
        "serviceAccount:my-other-app@appspot.gserviceaccount.com"
      ]
    },
    {
      "role": "roles/viewer",
      "members": ["user:sean@example.com"]
    }
  ]
}

Esempio YAML

bindings:
- members:
  - user:mike@example.com
  - group:admins@example.com
  - domain:google.com
  - serviceAccount:my-other-app@appspot.gserviceaccount.com
  role: roles/owner
- members:
  - user:sean@example.com
  role: roles/viewer

Per una descrizione di IAM e delle sue funzionalità, consulta la Guida per gli sviluppatori di IAM.

Rappresentazione JSON
{
  "version": number,
  "bindings": [
    {
      object(Binding)
    }
  ],
  "etag": string
}
Campi
version
(deprecated)

number

Deprecato.

bindings[]

object(Binding)

Associa un elenco di members a un role. bindings senza membri causerà un errore.

etag

string (bytes format)

etag viene utilizzato per il controllo della concorrenza ottimistica come un modo per evitare che gli aggiornamenti simultanei di un criterio si sovrascrivano a vicenda. È vivamente consigliato che i sistemi utilizzino etag nel ciclo di lettura, modifica e scrittura per eseguire aggiornamenti dei criteri al fine di evitare condizioni di gara: un etag viene restituito nella risposta a getIamPolicy e i sistemi devono inserire questo etag nella richiesta a setIamPolicy per assicurarsi che la modifica venga applicata alla stessa versione del criterio.

Se non viene fornito alcun etag nella chiamata a setIamPolicy, il criterio esistente viene sovrascritto in modo non selettivo.

Una stringa con codifica Base64.

Associazione

Associa members a un role.

Rappresentazione JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object(Expr)
  }
}
Campi
role

string

Ruolo assegnato a members. Ad esempio, roles/viewer, roles/editor o roles/owner.

members[]

string

Specifica le identità che richiedono l'accesso per una risorsa Cloud. members può avere i seguenti valori:

  • allUsers: un identificatore speciale che rappresenta tutti gli utenti di internet, con o senza un Account Google.

  • allAuthenticatedUsers: un identificatore speciale che rappresenta chiunque sia autenticato con un Account Google o un account di servizio.

  • user:{emailid}: un indirizzo email che rappresenta un Account Google specifico. Ad esempio, alice@gmail.com .

  • serviceAccount:{emailid}: un indirizzo email che rappresenta un account di servizio. Ad esempio, my-other-app@appspot.gserviceaccount.com.

  • group:{emailid}: un indirizzo email che rappresenta un gruppo Google. Ad esempio, admins@example.com.

  • domain:{domain}: un nome di dominio Google Apps che rappresenta tutti gli utenti del dominio. Ad esempio, google.com o example.com.

condition

object(Expr)

Non implementato. La condizione associata a questa associazione. NOTA: una condizione non soddisfatta non consente l'accesso dell'utente tramite l'associazione corrente. Le associazioni diverse, incluse le relative condizioni, vengono esaminate in modo indipendente.

Expr

Rappresenta il testo di un'espressione. Esempio:

title: "User account presence"
description: "Determines whether the request has a user account"
expression: "size(request.user) > 0"
Rappresentazione JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campi
expression

string

Rappresentazione testuale di un'espressione nella sintassi di Common Expression Language.

Il contesto dell'applicazione del messaggio contenente determina l'insieme di funzionalità ben note di CEL supportate.

title

string

Un titolo facoltativo per l'espressione, ovvero una breve stringa che ne descrive lo scopo. Può essere utilizzato, ad esempio, nelle UI che consentono di inserire l'espressione.

description

string

Una descrizione facoltativa dell'espressione. Si tratta di un testo più lungo che descrive l'espressione, ad esempio quando si passa il mouse sopra l'espressione in un'interfaccia utente.

location

string

Una stringa facoltativa che indica la posizione dell'espressione per la generazione di report sugli errori, ad esempio un nome file e una posizione nel file.