Binding

Associa members, o entità, a un role.

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

string

Ruolo assegnato all'elenco di members, o entità. Ad esempio, roles/viewer, roles/editor o roles/owner.

Per una panoramica dei ruoli e delle autorizzazioni IAM, consulta la documentazione IAM. Per un elenco dei ruoli predefiniti disponibili, vedi qui.

members[]

string

Specifica le entità che richiedono l'accesso per una risorsa Google 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. Non include le identità che provengono da provider di identità (IdP) esterni tramite la federazione delle identità.

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

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

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]: un identificatore di un account di servizio Kubernetes. Ad esempio: my-project.svc.id.goog[my-namespace/my-kubernetes-sa].

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

  • domain:{domain}: il dominio G Suite (principale) che rappresenta tutti gli utenti del dominio. Ad esempio, google.com o example.com.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: un'unica identità in un pool di identità della forza lavoro.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId}: tutte le identità della forza lavoro in un gruppo.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}: tutte le identità della forza lavoro con un valore di attributo specifico.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*: tutte le identità in un pool di identità della forza lavoro.

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}: una singola identità in un pool di identità per i carichi di lavoro.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId}: un gruppo di pool di identità per i carichi di lavoro.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}: tutte le identità in un pool di identità per i carichi di lavoro con un determinato attributo.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*: tutte le identità in un pool di identità per i carichi di lavoro.

  • deleted:user:{emailid}?uid={uniqueid}: un indirizzo email (più un identificatore univoco) che rappresenta un utente che è stato eliminato di recente. Ad esempio, alice@example.com?uid=123456789012345678901. Se l'utente viene recuperato, questo valore viene ripristinato su user:{emailid} e l'utente recuperato manterrà il ruolo nell'associazione.

  • deleted:serviceAccount:{emailid}?uid={uniqueid}: un indirizzo email (più un identificatore univoco) che rappresenta un account di servizio eliminato di recente. Ad esempio, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. Se l'account di servizio non viene eliminato, questo valore viene ripristinato su serviceAccount:{emailid} e l'account di servizio non eliminato manterrà il ruolo nell'associazione.

  • deleted:group:{emailid}?uid={uniqueid}: un indirizzo email (più un identificatore univoco) che rappresenta un gruppo Google eliminato di recente. Ad esempio, admins@example.com?uid=123456789012345678901. Se il gruppo viene recuperato, questo valore viene ripristinato su group:{emailid} e il gruppo recuperato manterrà il ruolo nell'associazione.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}: singola identità eliminata in un pool di identità della forza lavoro. Ad esempio, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.

condition

object (Expr)

La condizione associata a questa associazione.

Se la condizione ha come valore true, questa associazione si applica alla richiesta corrente.

Se la condizione ha come valore false, questa associazione non si applica alla richiesta corrente. Tuttavia, un'associazione di ruoli diversa potrebbe concedere lo stesso ruolo a una o più entità in questa associazione.

Per sapere quali risorse supportano le condizioni nei criteri IAM, consulta la documentazione IAM.

Expr

Rappresenta un'espressione testuale nella sintassi Common Expression Language (CEL). Il CEL è un linguaggio di espressione simile al C. La sintassi e la semantica della tecnologia CEL sono illustrate all'indirizzo https://github.com/google/cel-spec.

Esempio (confronto):

title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"

Esempio (Uguaglianza):

title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"

Esempio (Logica):

title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"

Esempio (manipolazione di dati):

title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"

Le variabili e le funzioni esatte a cui è possibile fare riferimento all'interno di un'espressione sono determinate dal servizio che la valuta. Per ulteriori informazioni, consulta la documentazione del servizio.

Rappresentazione JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Campi
expression

string

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

title

string

Facoltativo. Titolo dell'espressione, ad esempio una breve stringa che ne descrive lo scopo. Può essere utilizzato, ad esempio, nelle UI che consentono di inserire l'espressione.

description

string

Facoltativo. Descrizione dell'espressione. Si tratta di un testo più lungo che descrive l'espressione, ad esempio passando il mouse sopra l'espressione in un'interfaccia utente.

location

string

Facoltativo. Stringa che indica la posizione dell'espressione per la segnalazione degli errori, ad esempio il nome di un file e una posizione nel file.