Index
IAMPolicy
(interface)Binding
(message)GetIamPolicyRequest
(message)GetPolicyOptions
(message)Policy
(message)SetIamPolicyRequest
(message)TestIamPermissionsRequest
(message)TestIamPermissionsResponse
(message)
IAMPolicy
Présentation des API
Gère les stratégies de gestion de l'authentification et des accès (IAM).
Toute mise en œuvre d'une API offrant des fonctionnalités de contrôle d'accès emploie l'interface google.iam.v1.IAMPolicy.
Modèle de données
Le contrôle d'accès est appliqué lorsqu'un principal (utilisateur ou compte de service) effectue une action sur une ressource exposée par un service. Les ressources, identifiées par des noms de type URI, constituent l'unité de spécification du contrôle d'accès. Les mises en œuvre de service permettent de choisir la précision du contrôle d'accès ainsi que les autorisations acceptées pour leurs ressources. Par exemple, un service de base de données peut autoriser la spécification du contrôle d'accès seulement au niveau de la table, tandis qu'un autre peut l'autoriser également au niveau de la colonne.
Structure de la stratégie
Voir google.iam.v1.Policy
De manière intentionnelle, il ne s'agit pas d'une API de type CRUD, car les stratégies de contrôle d'accès sont créées et supprimées de manière implicite avec les ressources auxquelles elles sont associées.
GetIamPolicy |
---|
Récupère la stratégie de contrôle d'accès d'une ressource. Renvoie une stratégie vide si la ressource existe, mais ne dispose d'aucune stratégie.
|
SetIamPolicy |
---|
Définit la stratégie de contrôle d'accès de la ressource spécifiée. Remplace toute stratégie existante. Peut renvoyer des erreurs
|
TestIamPermissions |
---|
Renvoie les autorisations qu'un appelant a sur la ressource spécifiée. Si la ressource n'existe pas, renvoie un ensemble vide d'autorisations. Ne renvoie pas l'erreur Remarque : Cette opération a été conçue pour créer des interfaces utilisateur et des outils de ligne de commande qui tiennent compte des autorisations, et non pour vérifier des autorisations. Elle peut entraîner un phénomène de "fail open" (configuration ouverte) sans avertissement préalable.
|
Liaison
Associe des members
, ou des comptes principaux, à un role
.
Champs | |
---|---|
role |
Rôle attribué à la liste de |
members[] |
Spécifie les identités demandant l'accès à une ressource Google Cloud.
|
condition |
Condition associée à cette liaison. Si la condition renvoie Si la condition renvoie Pour savoir quelles ressources acceptent les conditions dans leurs stratégies IAM, consultez la documentation IAM. |
GetIamPolicyRequest
Message de requête pour la méthode GetIamPolicy
.
Champs | |
---|---|
resource |
OBLIGATOIRE : Ressource pour laquelle la stratégie est demandée. Consultez la section Noms des ressources pour connaître la valeur appropriée pour ce champ. |
options |
FACULTATIF : Objet |
GetPolicyOptions
Encapsule les paramètres fournis à GetIamPolicy.
Champs | |
---|---|
requested_policy_version |
Facultatif. Version maximale de la stratégie qui sera utilisée pour mettre en forme la stratégie. Les valeurs acceptables sont 0, 1 et 3. Les requêtes spécifiant une valeur non valide seront rejetées. Les requêtes de règles comportant des liaisons de rôle conditionnelles doivent spécifier la version 3. Les stratégies sans liaison de rôle conditionnelle peuvent spécifier une valeur valide ou laisser le champ non défini. La stratégie de la réponse peut utiliser la version de stratégie que vous avez spécifiée ou une version antérieure. Par exemple, si vous spécifiez la version 3, mais que la stratégie ne comporte aucune liaison de rôle conditionnelle, la réponse utilise la version 1. Pour savoir quelles ressources acceptent les conditions dans leurs stratégies IAM, consultez la documentation IAM. |
Stratégie
Stratégie IAM (Identity and Access Management) qui spécifie les contrôles d'accès pour les ressources Google Cloud.
Un Policy
est une collection de bindings
. Un binding
associe un ou plusieurs members
, ou comptes principaux, à un seul role
. Les comptes principaux peuvent être des comptes utilisateur, des comptes de service, des groupes Google et des domaines (tels que G Suite). Un role
est une liste nommée d'autorisations. Chaque role
peut être un rôle IAM prédéfini ou un rôle personnalisé créé par l'utilisateur.
Pour certains types de ressources Google Cloud, un objet binding
peut également spécifier un objet condition
, qui est une expression logique autorisant l'accès à une ressource seulement si l'expression renvoie la valeur true
. Une condition peut ajouter des contraintes en fonction des attributs de la requête, de la ressource ou des deux. Pour savoir quelles ressources acceptent les conditions dans leurs stratégies IAM, consultez la documentation IAM.
Exemple JSON :
{
"bindings": [
{
"role": "roles/resourcemanager.organizationAdmin",
"members": [
"user:mike@example.com",
"group:admins@example.com",
"domain:google.com",
"serviceAccount:my-project-id@appspot.gserviceaccount.com"
]
},
{
"role": "roles/resourcemanager.organizationViewer",
"members": [
"user:eve@example.com"
],
"condition": {
"title": "expirable access",
"description": "Does not grant access after Sep 2020",
"expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')",
}
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Exemple YAML :
bindings:
- members:
- user:mike@example.com
- group:admins@example.com
- domain:google.com
- serviceAccount:my-project-id@appspot.gserviceaccount.com
role: roles/resourcemanager.organizationAdmin
- members:
- user:eve@example.com
role: roles/resourcemanager.organizationViewer
condition:
title: expirable access
description: Does not grant access after Sep 2020
expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
etag: BwWWja0YfJA=
version: 3
Pour obtenir une description d'IAM et de ses fonctionnalités, consultez la documentation IAM.
Champs | |
---|---|
version |
Spécifie le format de la règle. Les valeurs valides sont Toute opération qui affecte les liaisons de rôle conditionnelles doit spécifier la version
Important : Si vous utilisez des conditions IAM, vous devez inclure le champ 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. |
bindings[] |
Associe une liste de Le |
etag |
Important : Si vous utilisez des conditions IAM, vous devez inclure le champ |
SetIamPolicyRequest
Message de requête pour la méthode SetIamPolicy
.
Champs | |
---|---|
resource |
OBLIGATOIRE : Ressource pour laquelle la stratégie est spécifiée. Consultez la section Noms des ressources pour connaître la valeur appropriée pour ce champ. |
policy |
OBLIGATOIRE : Stratégie complète à appliquer au paramètre |
TestIamPermissionsRequest
Message de requête pour la méthode TestIamPermissions
.
Champs | |
---|---|
resource |
OBLIGATOIRE : Ressource pour laquelle vous demandez les détails de la stratégie. Consultez la section Noms des ressources pour connaître la valeur appropriée pour ce champ. |
permissions[] |
Ensemble des autorisations à vérifier pour la ressource |
TestIamPermissionsResponse
Message de réponse pour la méthode TestIamPermissions
.
Champs | |
---|---|
permissions[] |
Sous-ensemble des autorisations |