Deployments: getIamPolicy

Récupère la stratégie de contrôle d'accès d'une ressource. Peut être vide si aucune stratégie ou ressource de ce type n'existe. Essayer maintenant

Requête

Requête HTTP

GET https://www.googleapis.com/deploymentmanager/v2beta/projects/project/global/deployments/resource/getIamPolicy

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

Cette requête nécessite une autorisation avec au moins l'un des niveaux d'accès suivants:

Champ d'application
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/ndev.cloudman

Corps de la requête

Ne spécifiez pas de corps de requête pour cette méthode.

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
          ],
          "ignoreChildExemptions": boolean
        }
      ]
    }
  ],
  "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,
            "customFields": [
              {
                "name": string,
                "value": string
              }
            ]
          },
          "dataAccess": {
            "logMode": string
          },
          "cloudAudit": {
            "logName": string,
            "authorizationLoggingOptions": {
              "permissionType": string
            }
          }
        }
      ]
    }
  ],
  "etag": bytes,
  "iamOwned": boolean
}
Nom de propriété Valeur Description Remarques
version integer Spécifie le format de la règle.

Les valeurs valides sont 0, 1 et 3. Les requêtes spécifiant une valeur non valide sont rejetées.

Toute opération qui affecte les liaisons de rôle conditionnelles doit spécifier la version 3. Cette exigence s'applique aux opérations suivantes:

* Obtenir une stratégie qui inclut une liaison de rôle conditionnelle * Ajouter une liaison de rôle conditionnelle à une stratégie * Modifier une liaison de rôle conditionnelle dans une stratégie * Supprimer une liaison de rôle, avec ou sans condition, d'une stratégie qui inclut des conditions

**Important** : Si vous utilisez des conditions IAM, vous devez inclure le champ "etag" chaque fois que vous appelez "setIamPolicy". Si vous omettez ce champ, IAM vous permet d'écraser une stratégie de version 3 par une stratégie de version 1, et toutes les conditions de la stratégie de version 3 sont perdues.

Si une règle n'inclut aucune condition, les opérations associées à cette règle peuvent spécifier une version valide ou laisser le champ non défini.

Pour savoir quelles ressources acceptent les conditions dans leurs stratégies IAM, consultez la [documentation IAM](https://cloud.google.com/iam/help/conditions/resource-policies).

bindings[] list Associe une liste de "members" à un "role". Vous pouvez éventuellement spécifier une "condition" qui détermine comment et quand les "bindings" sont appliqués. Chacune des "liaisons" doit contenir au moins un membre.
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@example.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".

* "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é. Par 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 le rôle dans la liaison.



* "domain:{domain}" : domaine G Suite (principal) qui représente tous les utilisateurs de ce domaine. Par exemple, "google.com" ou "example.com".







bindings[].condition nested object 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 membres de cette liaison.

Pour savoir quelles ressources acceptent les conditions dans leurs stratégies IAM, consultez la [documentation IAM](https://cloud.google.com/iam/help/conditions/resource-policies).
bindings[].condition.expression string Représentation textuelle d'une expression à l'aide de la syntaxe CEL (Common Expression Language).
bindings[].condition.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.
bindings[].condition.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).
bindings[].condition.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).
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][].
auditConfigs[].auditLogConfigs[].ignoreChildExemptions boolean

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 ..(par exemple, "storage.buckets.list"). Une valeur de "*" correspond à toutes les autorisations, et une partie verbale de "*" (par exemple, "storage.buckets.*" correspond à tous les verbes.

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.
rules[].logConfigs[].counter.customFields[] list Champs personnalisés
rules[].logConfigs[].counter.customFields[].name string "Name" correspond au nom du champ.
rules[].logConfigs[].counter.customFields[].value string La valeur correspond à la valeur du champ. Contrairement à CounterOptions.field, la valeur ici est une constante qui n'est pas dérivée de IAMContext.
rules[].logConfigs[].dataAccess nested object Options d'accès aux données.
rules[].logConfigs[].dataAccess.logMode string

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.
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.

**Important:** Si vous utilisez des conditions IAM, vous devez inclure le champ "etag" chaque fois que vous appelez "setIamPolicy". Si vous omettez ce champ, IAM vous permet de remplacer une stratégie de version 3 par une stratégie de version 1, et toutes les conditions de la stratégie de version 3 sont perdues.
iamOwned boolean