Index
IAMPolicy
(interface)AuditConfig
(message)AuditLogConfig
(message)AuditLogConfig.LogType
(enum)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.
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 exempted_members de chaque AuditLogConfig sont exclus.
Exemple de stratégie avec plusieurs AuditConfigs :
{
"audit_configs": [
{
"service": "allServices"
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE",
},
{
"log_type": "ADMIN_READ",
}
]
},
{
"service": "sampleservice.googleapis.com"
"audit_log_configs": [
{
"log_type": "DATA_READ",
},
{
"log_type": "DATA_WRITE",
"exempted_members": [
"user:aliya@example.com"
]
}
]
}
]
}
Pour sampleservice, cette stratégie active la journalisation DATA_READ, DATA_WRITE et ADMIN_READ. Par ailleurs, elle exclut jose@example.com de la journalisation DATA_READ et aliya@example.com de la journalisation DATA_WRITE.
Champs | |
---|---|
service |
Spécifie un service qui sera activé pour la journalisation d'audit. Par exemple, |
audit_log_configs[] |
Configuration de la journalisation de chaque type d'autorisation. |
AuditLogConfig
Permet la configuration de la journalisation d'un type d'autorisation. Exemple :
{
"audit_log_configs": [
{
"log_type": "DATA_READ",
"exempted_members": [
"user:jose@example.com"
]
},
{
"log_type": "DATA_WRITE",
}
]
}
Ce code active la journalisation DATA_READ et DATA_WRITE, tout en excluant jose@example.com de la journalisation DATA_READ.
Champs | |
---|---|
log_type |
Type de journal que cette configuration active. |
exempted_members[] |
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 |
ignore_child_exemptions |
Spécifie si les entités principales peuvent être exemptées pour le même LogType dans les stratégies de ressources de niveau inférieur. Si la valeur est "true", toutes les exceptions de niveau inférieur seront ignorées. |
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 |
Liaison
Associe des membres members
à un rôle role
.
Champs | |
---|---|
role |
Rôle attribué aux |
members[] |
Spécifie les identités demandant l'accès à une ressource Cloud Platform. Les
|
condition |
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. |
GetIamPolicyRequest
Message de requête pour la méthode GetIamPolicy
.
Champs | |
---|---|
resource |
OBLIGATOIRE : Ressource pour laquelle la stratégie est demandée. Consultez la documentation sur l'opération pour connaître la valeur appropriée de ce champ. |
options |
FACULTATIF : Objet |
GetPolicyOptions
Encapsule les paramètres fournis à GetIamPolicy.
Champs | |
---|---|
requested_policy_version |
Facultatif. Version du format de stratégie à renvoyer. Les valeurs acceptables sont 0 et 1. Si la valeur est 0 ou si le champ est omis, la version de format de stratégie 1 est renvoyée. |
Règle
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.
Champs | |
---|---|
version |
Obsolète. |
bindings[] |
Associe une liste de |
audit_configs[] |
Spécifie la configuration de journalisation d'audit du cloud pour cette stratégie. |
etag |
Si aucun |
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 documentation sur l'opération pour connaître la valeur appropriée de ce champ. |
policy |
OBLIGATOIRE : Stratégie complète à appliquer au paramètre |
update_mask |
FACULTATIF : Chemin FieldMask spécifiant les champs de la stratégie à modifier. Seuls les champs du masque seront modifiés. Si aucun masque n'est fourni, le masque suivant est utilisé par défaut : paths: "bindings, etag". Ce champ n'est utilisé que par Cloud IAM. |
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 documentation sur l'opération pour connaître la valeur appropriée de 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 |