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 Policy
consiste en une liste de 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( |
Champs | |
---|---|
version |
Obsolète. |
bindings[] |
Associe une liste de |
auditConfigs[] |
Spécifie la configuration de journalisation de l'audit du cloud pour cette stratégie. |
etag |
Si aucun Chaîne encodée en base64. |
Binding
Associe des members
à un role
.
Représentation JSON | |
---|---|
{
"role": string,
"members": [
string
],
"condition": {
object( |
Champs | |
---|---|
role |
Rôle attribué aux |
members[] |
Spécifie les identités demandant l'accès à une ressource Cloud Platform. Les
|
condition |
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 |
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 |
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 |
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 |
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). |
AuditConfig
Spécifie la configuration d'audit d'un service. La configuration détermine les types d'autorisations consignés et les identités, le cas échéant, qui sont exclues de la journalisation. Une AuditConfig doit avoir une ou plusieurs AuditLogConfigs.
Si des AuditConfigs existent pour allServices
et pour un service spécifique, l'union des deux AuditConfigs est utilisée pour ce service : les log_types spécifiés dans chaque AuditConfig sont activés, et les exemptedMembers de chaque AuditLogConfig sont exclus.
Exemple de stratégie avec plusieurs auditConfigs :
{
"auditConfigs": [
{
"service": "allServices"
"auditLogConfigs": [
{
"logType": "DATA_READ",
"exemptedMembers": [
"user:foo@gmail.com"
]
},
{
"logType": "DATA_WRITE",
},
{
"logType": "ADMIN_READ",
}
]
},
{
"service": "fooservice.googleapis.com"
"auditLogConfigs": [
{
"logType": "DATA_READ",
},
{
"logType": "DATA_WRITE",
"exemptedMembers": [
"user:bar@gmail.com"
]
}
]
}
]
}
Pour fooservice, cette stratégie active la journalisation DATA_READ, DATA_WRITE et ADMIN_READ. Par ailleurs, elle exclut foo@gmail.com de la journalisation DATA_READ et bar@gmail.com de la journalisation DATA_WRITE.
Représentation JSON | |
---|---|
{
"service": string,
"auditLogConfigs": [
{
object( |
Champs | |
---|---|
service |
Spécifie un service qui sera activé pour la journalisation d'audit. Par exemple, |
auditLogConfigs[] |
Configuration de la journalisation de chaque type d'autorisation. |
AuditLogConfig
Permet la configuration de la journalisation d'un type d'autorisation. Exemple :
{
"auditLogConfigs": [
{
"logType": "DATA_READ",
"exemptedMembers": [
"user:foo@gmail.com"
]
},
{
"logType": "DATA_WRITE",
}
]
}
Ce code active la journalisation DATA_READ et DATA_WRITE, tout en excluant foo@gmail.com de la journalisation DATA_READ.
Représentation JSON | |
---|---|
{
"logType": enum( |
Champs | |
---|---|
logType |
Type du journal que cette configuration active. |
exemptedMembers[] |
Spécifie les identités qui ne génèrent pas de journalisation pour ce type d'autorisation. Ce champ utilise le même format que |
LogType
Liste des types d'autorisations valides pour lesquels la journalisation peut être configurée. Les écritures des administrateurs sont systématiquement consignées. Cela ne peut pas être modifié.
Enums | |
---|---|
LOG_TYPE_UNSPECIFIED |
Cas par défaut. Ce type ne devrait jamais être utilisé. |
ADMIN_READ |
L'administrateur lit des données. Exemple : CloudIAM getIamPolicy |
DATA_WRITE |
Des données sont écrites. Exemple : CloudSQL Users create |
DATA_READ |
Des données sont lues. Exemple : CloudSQL Users list |