Définit la stratégie de contrôle d'accès de la ressource spécifiée. Remplace toute stratégie existante. Essayer maintenant
Requête
Requête HTTP
POST https://www.googleapis.com/deploymentmanager/v2/projects/project/global/deployments/resource/setIamPolicy
Paramètres
Nom du paramètre | Valeur | Description |
---|---|---|
Paramètres de chemin d'accès | ||
project |
string |
ID du projet pour cette demande. |
resource |
string |
Nom ou ID de la ressource pour cette requête. |
Autorisation
Une autorisation est requise pour cette requête. Celle-ci doit inclure au moins l'un des champs d'application suivants. En savoir plus sur le processus d'authentification et d'autorisation
Champ d'application |
---|
https://www.googleapis.com/auth/cloud-platform |
https://www.googleapis.com/auth/ndev.cloudman |
Corps de la requête
Dans le corps de la requête, indiquez des données en utilisant la structure suivante:
{ "policy": { "version": integer, "bindings": [ { "role": string, "members": [ string ], "condition": { "expression": string, "title": string, "description": string, "location": string } } ], "auditConfigs": [ { "service": string, "exemptedMembers": [ string ], "auditLogConfigs": [ { "logType": string, "exemptedMembers": [ string ] } ] } ], "rules": [ { "description": string, "permissions": [ string ], "action": string, "ins": [ string ], "notIns": [ string ], "conditions": [ { "iam": string, "sys": string, "svc": string, "op": string, "values": [ string ] } ], "logConfigs": [ { "counter": { "metric": string, "field": string }, "dataAccess": { "logMode": string }, "cloudAudit": { "logName": string, "authorizationLoggingOptions": { "permissionType": string } } } ] } ], "etag": bytes, "iamOwned": boolean }, "bindings": [ { "role": string, "members": [ string ], "condition": { "expression": string, "title": string, "description": string, "location": string } } ], "etag": bytes }
Nom de propriété | Valeur | Description | Remarques |
---|---|---|---|
bindings[] |
list |
Règle de mise à plat pour créer un format de fil rétrocompatible. Obsolète. Utilisez "policy" pour spécifier des liaisons. | |
bindings[].role |
string |
Rôle attribué aux "membres". Par exemple, "roles/viewer", "roles/editor" ou "roles/owner". | |
bindings[].members[] |
list |
Spécifie les identités demandant l'accès à une ressource Cloud Platform. "members" peut 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 représentant un compte de service. Par exemple, "mon-autre-application@appspot.gserviceaccount.com". * "group:{emailid}" : adresse e-mail représentant un groupe Google. Par 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". |
|
etag |
bytes |
Règle de mise à plat pour créer un format de fil rétrocompatible. Obsolète. Utilisez "policy" pour spécifier l'etag. | |
bindings[].condition |
nested object |
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 indépendamment. | |
bindings[].condition.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. |
|
bindings[].condition.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. | |
bindings[].condition.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). | |
bindings[].condition.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). | |
policy |
nested object |
OBLIGATOIRE: Stratégie complète à appliquer à la "ressource". La taille de la stratégie est limitée à quelques dizaines de Ko. Une stratégie vide est généralement une stratégie valide, mais certains services (comme Projects) peuvent la rejeter. | |
policy.version |
integer |
Obsolète. |
|
policy.bindings[] |
list |
Associe une liste de "members" à un "role". Si "bindings" ne contient pas de membres, une erreur se produira. | |
policy.bindings[].role |
string |
Rôle attribué aux "membres". Par exemple, "roles/viewer", "roles/editor" ou "roles/owner". | |
policy.bindings[].members[] |
list |
Spécifie les identités demandant l'accès à une ressource Cloud Platform. "members" peut 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 représentant un compte de service. Par exemple, "mon-autre-application@appspot.gserviceaccount.com". * "group:{emailid}" : adresse e-mail représentant un groupe Google. Par 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". |
|
policy.bindings[].condition |
nested object |
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 indépendamment. | |
policy.bindings[].condition.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. |
|
policy.bindings[].condition.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. | |
policy.bindings[].condition.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). | |
policy.bindings[].condition.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). | |
policy.auditConfigs[] |
list |
Spécifie la configuration de journalisation d'audit du cloud pour cette stratégie. |
|
policy.auditConfigs[].service |
string |
Spécifie un service qui sera activé pour la journalisation d'audit. Par exemple, "storage.googleapis.com", "cloudsql.googleapis.com". "allServices" est une valeur spéciale qui couvre tous les services. | |
policy.auditConfigs[].exemptedMembers[] |
list |
||
policy.auditConfigs[].auditLogConfigs[] |
list |
Configuration de la journalisation de chaque type d'autorisation. | |
policy.auditConfigs[].auditLogConfigs[].logType |
string |
Type de journal que cette configuration active. | |
policy.auditConfigs[].auditLogConfigs[].exemptedMembers[] |
list |
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 [Binding.members][]. | |
policy.rules[] |
list |
Si plusieurs règles sont spécifiées, elles sont appliquées de la manière suivante: - Toutes les règles LOG correspondantes sont toujours appliquées. - Si une règle DENY/DENY_WITH_LOG correspond, l'autorisation est refusée. La journalisation est appliquée si une ou plusieurs règles correspondantes nécessitent la journalisation. - Sinon, si une règle ALLOW/ALLOW_WITH_LOG correspond, l'autorisation est accordée. La journalisation est appliquée si une ou plusieurs règles correspondantes nécessitent la journalisation. - Sinon, si aucune règle ne s'applique, l'autorisation est refusée. | |
policy.rules[].description |
string |
Description lisible de la règle. | |
policy.rules[].permissions[] |
list |
Une autorisation est une chaîne au format |
|
policy.rules[].action |
string |
Obligatoire | |
policy.rules[].ins[] |
list |
Si une ou plusieurs clauses "in" sont spécifiées, la règle correspond si PRINCIPAL/AUTHORITY_SELECTOR figure dans au moins l'une de ces entrées. | |
policy.rules[].notIns[] |
list |
Si une ou plusieurs clauses "not_in" sont spécifiées, la règle correspond si PRINCIPAL/AUTHORITY_SELECTOR ne figure dans aucune des entrées. | |
policy.rules[].conditions[] |
list |
Restrictions supplémentaires à respecter Toutes les conditions doivent être remplies pour que la règle s'applique. | |
policy.rules[].conditions[].iam |
string |
Attributs approuvés fournis par le système IAM. | |
policy.rules[].conditions[].sys |
string |
Attributs approuvés fournis par tout service propriétaire de ressources et qui utilise le système IAM pour le contrôle des accès. | |
policy.rules[].conditions[].svc |
string |
Attributs approuvés exécutés par le service. | |
policy.rules[].conditions[].op |
string |
Opérateur à utiliser pour appliquer le sujet. | |
policy.rules[].conditions[].values[] |
list |
Objets de la condition. | |
policy.rules[].logConfigs[] |
list |
La configuration renvoyée aux appelants de tech.iam.IAM.CheckPolicy pour toutes les entrées correspondant à l'action LOG. | |
policy.rules[].logConfigs[].counter |
nested object |
Options du compteur. | |
policy.rules[].logConfigs[].counter.metric |
string |
Métrique à mettre à jour. | |
policy.rules[].logConfigs[].counter.field |
string |
Valeur du champ à attribuer. | |
policy.rules[].logConfigs[].dataAccess |
nested object |
Options d'accès aux données. | |
policy.rules[].logConfigs[].dataAccess.logMode |
string |
Indique si la journalisation Gin doit être effectuée de manière fail-closed auprès de l'appelant. Pour le moment, cela n'est pertinent que dans l'implémentation de LocalIAM. REMARQUE: La journalisation dans Gin de manière fail-closed n'est actuellement pas prise en charge, car des efforts sont déployés pour répondre aux exigences de go/345. Actuellement, le paramètre LOG_FAIL_CLOSED n'a aucun effet, mais il existe toujours, car des efforts sont actuellement déployés pour le prendre en charge (b/115874152). |
|
policy.rules[].logConfigs[].cloudAudit |
nested object |
Options d'audit dans le cloud. | |
policy.rules[].logConfigs[].cloudAudit.logName |
string |
Nom de journal à renseigner dans l'enregistrement d'audit Cloud. |
|
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions |
nested object |
Informations utilisées par le pipeline Cloud Audit Logging. | |
policy.rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType |
string |
Type de l'autorisation vérifiée. | |
policy.etag |
bytes |
L'élément "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. Nous vous recommandons vivement d'utiliser l'attribut "etag" dans le cycle de lecture-modification-écriture pour effectuer des mises à jour de stratégie afin d'éviter les conditions de concurrence: un "etag" est renvoyé dans la réponse à "getIamPolicy", et les systèmes doivent placer cet "etag" dans la requête à "setIamPolicy" pour 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. |
|
policy.iamOwned |
boolean |
Réponse
Si la requête aboutit, cette méthode renvoie un corps de réponse présentant la structure suivante :
{ "version": integer, "bindings": [ { "role": string, "members": [ string ], "condition": { "expression": string, "title": string, "description": string, "location": string } } ], "auditConfigs": [ { "service": string, "exemptedMembers": [ string ], "auditLogConfigs": [ { "logType": string, "exemptedMembers": [ string ] } ] } ], "rules": [ { "description": string, "permissions": [ string ], "action": string, "ins": [ string ], "notIns": [ string ], "conditions": [ { "iam": string, "sys": string, "svc": string, "op": string, "values": [ string ] } ], "logConfigs": [ { "counter": { "metric": string, "field": string }, "dataAccess": { "logMode": string }, "cloudAudit": { "logName": string, "authorizationLoggingOptions": { "permissionType": string } } } ] } ], "etag": bytes, "iamOwned": boolean }
Nom de propriété | Valeur | Description | Remarques |
---|---|---|---|
version |
integer |
Obsolète. |
|
bindings[] |
list |
Associe une liste de "members" à un "role". Si "bindings" ne contient pas de membres, une erreur se produira. | |
bindings[].role |
string |
Rôle attribué aux "membres". Par exemple, "roles/viewer", "roles/editor" ou "roles/owner". | |
bindings[].members[] |
list |
Spécifie les identités demandant l'accès à une ressource Cloud Platform. "members" peut 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 représentant un compte de service. Par exemple, "mon-autre-application@appspot.gserviceaccount.com". * "group:{emailid}" : adresse e-mail représentant un groupe Google. Par 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". |
|
auditConfigs[] |
list |
Spécifie la configuration de journalisation d'audit du cloud pour cette stratégie. |
|
auditConfigs[].service |
string |
Spécifie un service qui sera activé pour la journalisation d'audit. Par exemple, "storage.googleapis.com", "cloudsql.googleapis.com". "allServices" est une valeur spéciale qui couvre tous les services. | |
auditConfigs[].exemptedMembers[] |
list |
||
auditConfigs[].auditLogConfigs[] |
list |
Configuration de la journalisation de chaque type d'autorisation. | |
auditConfigs[].auditLogConfigs[].logType |
string |
Type de journal que cette configuration active. | |
auditConfigs[].auditLogConfigs[].exemptedMembers[] |
list |
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 [Binding.members][]. | |
rules[] |
list |
Si plusieurs règles sont spécifiées, elles sont appliquées de la manière suivante: - Toutes les règles LOG correspondantes sont toujours appliquées. - Si une règle DENY/DENY_WITH_LOG correspond, l'autorisation est refusée. La journalisation est appliquée si une ou plusieurs règles correspondantes nécessitent la journalisation. - Sinon, si une règle ALLOW/ALLOW_WITH_LOG correspond, l'autorisation est accordée. La journalisation est appliquée si une ou plusieurs règles correspondantes nécessitent la journalisation. - Sinon, si aucune règle ne s'applique, l'autorisation est refusée. | |
rules[].description |
string |
Description lisible de la règle. | |
rules[].permissions[] |
list |
Une autorisation est une chaîne au format |
|
rules[].action |
string |
Obligatoire | |
rules[].ins[] |
list |
Si une ou plusieurs clauses "in" sont spécifiées, la règle correspond si PRINCIPAL/AUTHORITY_SELECTOR figure dans au moins l'une de ces entrées. | |
rules[].notIns[] |
list |
Si une ou plusieurs clauses "not_in" sont spécifiées, la règle correspond si PRINCIPAL/AUTHORITY_SELECTOR ne figure dans aucune des entrées. | |
rules[].conditions[] |
list |
Restrictions supplémentaires à respecter Toutes les conditions doivent être remplies pour que la règle s'applique. | |
rules[].conditions[].iam |
string |
Attributs approuvés fournis par le système IAM. | |
rules[].conditions[].sys |
string |
Attributs approuvés fournis par tout service propriétaire de ressources et qui utilise le système IAM pour le contrôle des accès. | |
rules[].conditions[].svc |
string |
Attributs approuvés exécutés par le service. | |
rules[].conditions[].op |
string |
Opérateur à utiliser pour appliquer le sujet. | |
rules[].conditions[].values[] |
list |
Objets de la condition. | |
rules[].logConfigs[] |
list |
La configuration renvoyée aux appelants de tech.iam.IAM.CheckPolicy pour toutes les entrées correspondant à l'action LOG. | |
rules[].logConfigs[].counter |
nested object |
Options du compteur. | |
rules[].logConfigs[].counter.metric |
string |
Métrique à mettre à jour. | |
rules[].logConfigs[].counter.field |
string |
Valeur du champ à attribuer. | |
etag |
bytes |
L'élément "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. Nous vous recommandons vivement d'utiliser l'attribut "etag" dans le cycle de lecture-modification-écriture pour effectuer des mises à jour de stratégie afin d'éviter les conditions de concurrence: un "etag" est renvoyé dans la réponse à "getIamPolicy", et les systèmes doivent placer cet "etag" dans la requête à "setIamPolicy" pour 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. |
|
iamOwned |
boolean |
||
bindings[].condition |
nested object |
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 indépendamment. | |
bindings[].condition.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. |
|
bindings[].condition.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. | |
bindings[].condition.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). | |
bindings[].condition.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). | |
rules[].logConfigs[].dataAccess |
nested object |
Options d'accès aux données. | |
rules[].logConfigs[].dataAccess.logMode |
string |
Indique si la journalisation Gin doit être effectuée de manière fail-closed auprès de l'appelant. Pour le moment, cela n'est pertinent que dans l'implémentation de LocalIAM. REMARQUE: La journalisation dans Gin de manière fail-closed n'est actuellement pas prise en charge, car des efforts sont déployés pour répondre aux exigences de go/345. Actuellement, le paramètre LOG_FAIL_CLOSED n'a aucun effet, mais il existe toujours, car des efforts sont actuellement déployés pour le prendre en charge (b/115874152). |
|
rules[].logConfigs[].cloudAudit |
nested object |
Options d'audit dans le cloud. | |
rules[].logConfigs[].cloudAudit.logName |
string |
Nom de journal à renseigner dans l'enregistrement d'audit Cloud. |
|
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions |
nested object |
Informations utilisées par le pipeline Cloud Audit Logging. | |
rules[].logConfigs[].cloudAudit.authorizationLoggingOptions.permissionType |
string |
Type de l'autorisation vérifiée. |
Essayer
Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse. Vous pouvez également essayer l'explorateur autonome.