Binding

Associe des members, ou des comptes principaux, à un role.

Représentation JSON
{
  "role": string,
  "members": [
    string
  ],
  "condition": {
    object (Expr)
  }
}
Champs
role

string

Rôle attribué à la liste de members ou aux comptes principaux. Par exemple, roles/viewer, roles/editor ou roles/owner.

Pour en savoir plus sur les rôles et les autorisations IAM, consultez la documentation IAM. Pour obtenir la liste des rôles prédéfinis disponibles, cliquez ici.

members[]

string

Spécifie les identités demandant l'accès à une ressource Google Cloud. members peut avoir les valeurs suivantes :

  • allUsers : identifiant spécial qui représente toute personne ayant accès à Internet et possédant ou non un compte Google.

  • allAuthenticatedUsers : identifiant spécial qui représente toute personne authentifiée avec un compte Google ou un compte de service. N'inclut pas les identités qui proviennent de fournisseurs d'identité (IdP) externes via la fédération d'identité.

  • user:{emailid} : adresse e-mail qui représente un compte Google spécifique. Par exemple, alice@example.com.

  • serviceAccount:{emailid} : adresse e-mail qui représente un compte de service Google. Par exemple, my-other-app@appspot.gserviceaccount.com.

  • serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}] : identifiant d'un compte de service Kubernetes. Exemple :my-project.svc.id.goog[my-namespace/my-kubernetes-sa]

  • group:{emailid} : adresse e-mail qui représente un groupe Google. Exemple :admins@example.com

  • domain:{domain} : domaine G Suite (principal) qui représente tous les utilisateurs de ce domaine. Par exemple, google.com ou example.com.
  • principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value} : Identité unique d'un pool d'identités de personnel.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{groupId} : Toutes les identités de personnel d'un groupe.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value} : Toutes les identités de personnel porteuses d'une valeur d'attribut spécifique.

  • principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/* : Toutes les identités d'un pool d'identités de personnel.

  • principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value} : Identité unique d'un pool d'identités de charge de travail.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{groupId} : Groupe de pools d'identités de charge de travail.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value} : Toutes les identités d'un pool d'identités de charge de travail avec un certain attribut.

  • principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/* : Toutes les identités d'un pool d'identités de charge de travail.

  • deleted:user:{emailid}?uid={uniqueid} : adresse e-mail (plus un identifiant unique) représentant un utilisateur qui a été récemment supprimé. Par exemple, alice@example.com?uid=123456789012345678901. Si l'utilisateur est récupéré, cette valeur revient à user:{emailid} et l'utilisateur récupéré conserve son rôle dans la liaison.

  • deleted:serviceAccount:{emailid}?uid={uniqueid} : adresse e-mail (plus un identifiant unique) représentant un compte de service récemment supprimé. Par exemple, my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901. Si le compte de service est restauré, cette valeur revient à serviceAccount:{emailid} et le compte de service restauré conserve son rôle dans la liaison.

  • deleted:group:{emailid}?uid={uniqueid} : adresse e-mail (plus un identifiant unique) représentant un groupe Google récemment supprimé. Exemple :admins@example.com?uid=123456789012345678901 Si le groupe est récupéré, cette valeur revient à group:{emailid} et le groupe récupéré conserve son rôle dans la liaison.

  • deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value} : Identité unique d'un pool d'identités de personnel. Par exemple, deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value.

condition

object (Expr)

Condition associée à cette liaison.

Si la condition renvoie true, cette liaison s'applique à la requête actuelle

Si la condition renvoie false, cette liaison ne s'applique pas à la requête actuelle. Toutefois, une liaison de rôle différente peut accorder le même rôle à un ou plusieurs comptes principaux de cette liaison.

Pour savoir quelles ressources acceptent les conditions dans leurs stratégies IAM, consultez la documentation IAM.

Expr

Représente une expression textuelle dans la syntaxe CEL (Common Expression Language). CEL est un langage d'expression de type C. La syntaxe et la sémantique de CEL sont documentées à l'adresse https://github.com/google/cel-spec.

Exemple (comparaison) :

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

Exemple (égalité) :

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

Exemple (logique) :

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

Exemple (manipulation de données) :

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

Les fonctions et variables exactes pouvant être référencées dans une expression sont déterminées par le service qui l'évalue. Pour en savoir plus, consultez la documentation relative au service.

Représentation JSON
{
  "expression": string,
  "title": string,
  "description": string,
  "location": string
}
Champs
expression

string

Représentation textuelle d'une expression à l'aide de la syntaxe CEL (Common Expression Language).

title

string

Facultatif. Titre de l'expression, sous forme de chaîne courte décrivant son objectif. Il peut par exemple être utilisé dans les interfaces utilisateur qui permettent de saisir l'expression.

description

string

Facultatif. Description de l'expression. Il s'agit d'un texte plus long décrivant l'expression (par exemple, lorsque l'utilisateur passe la souris sur celle-ci dans une interface utilisateur).

location

string

Facultatif. Chaîne indiquant l'emplacement de l'expression pour la création de rapports d'erreurs (par exemple, un nom de fichier et une position dans le fichier).