Policy

Définit une stratégie de gestion de l'authentification et des accès (IAM, Identity and Access Management). Elle permet de spécifier les stratégies de contrôle des accès aux ressources Cloud Platform.

Une stratégie Policy est constituée d'une liste de liaisons bindings. Une liaison binding associe une liste de membres members à un rôle role, où les membres peuvent être des comptes utilisateur, des groupes Google, des domaines Google et des comptes de service. Un role est une liste nommée d'autorisations définies par IAM.

Exemple 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"]
    }
  ]
}

Exemple 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

Pour obtenir une description d'IAM et de ses fonctionnalités, consultez le guide du développeur d'IAM.

Représentation JSON
{
  "version": number,
  "bindings": [
    {
      object(Binding)
    }
  ],
  "etag": string
}
Champs
version
(deprecated)

number

Obsolète.

bindings[]

object(Binding)

Associe une liste de members à un role. Si bindings ne contient pas de membres, une erreur est générée.

etag

string (bytes format)

etag permet d'effectuer un contrôle de simultanéité positive, pour éviter que les mises à jour simultanées d'une stratégie ne s'écrasent les unes les autres. Afin d'éviter les situations de concurrence, il est fortement suggéré que les systèmes utilisent etag dans le cycle lecture-modification-écriture pour effectuer des mises à jour de stratégies : un etag est renvoyé dans la réponse à getIamPolicy, et les systèmes doivent mettre cet élément dans la requête destinée à setIamPolicy de sorte à s'assurer que leur modification sera appliquée à la même version de la stratégie.

Si aucun etag n'est fourni dans l'appel de setIamPolicy, la stratégie existante est écrasée de manière aveugle.

Chaîne encodée en base64.

Binding

Associe des membres members à un rôle role.

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

string

Rôle attribué aux members. Par exemple, roles/viewer, roles/editor ou roles/owner.

members[]

string

Spécifie les identités demandant l'accès à une ressource Cloud Platform. Les members peuvent prendre 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.

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

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

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

  • domain:{domain}: nom de domaine Google Apps qui représente tous les utilisateurs de ce domaine. Par exemple, google.com ou example.com.

condition

object(Expr)

Non mis en œuvre. Condition associée à cette liaison. REMARQUE : Une condition non remplie empêchera l'accès de l'utilisateur via la liaison actuelle. Les différentes liaisons, y compris leurs conditions, sont examinées de façon indépendante.

Expr

Représente le texte d'une expression. Exemple :

title: "User account presence"
description: "Determines whether the request has a user account"
expression: "size(request.user) > 0"
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).

Le contexte d'application du message contenant l'expression détermine quel ensemble de caractéristiques connues de CEL est disponible.

title

string

Titre facultatif de l'expression qui correspond à une courte chaîne décrivant sa finalité. Il peut par exemple être utilisé dans les interfaces utilisateur qui permettent de saisir l'expression.

description

string

Description facultative 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

Chaîne facultative 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).