Ce guide explique comment activer ou désactiver tout ou partie des journaux d'audit pour l'accès aux données dans vos projets Google Cloud, comptes de facturation, dossiers et organisations à l'aide de la console Google Cloud ou de l'API.
Avant de commencer
Avant de continuer à configurer les journaux d'audit pour l'accès aux données, prenez en compte les informations suivantes:
Les journaux d'audit pour l'accès aux données sont désactivés par défaut (sauf dans BigQuery). Si vous souhaitez que les journaux d'audit des accès aux données soient écrits pour les services Google Cloud autres que BigQuery, vous devez les activer explicitement.
Les journaux d'audit des accès aux données sont stockés dans le bucket
_Default
, sauf si vous les avez acheminés ailleurs. Pour en savoir plus, consultez la section Stocker et router les journaux d'audit.Les journaux d'audit pour l'accès aux données aident l'assistance Google à résoudre les problèmes liés à votre compte. Par conséquent, nous vous recommandons d'activer les journaux d'audit d'accès aux données lorsque cela est possible.
Présentation de la configuration
Vous pouvez configurer l'activation des journaux d'audit pour l'accès aux données pour vos ressources et services Google Cloud:
Organisations: vous pouvez activer et configurer les journaux d'audit pour l'accès aux données au niveau d'une organisation. Vos choix s'appliquent à tous les projets et dossiers Google Cloud existants et nouveaux de l'organisation.
Dossiers: vous pouvez activer et configurer les journaux d'audit pour l'accès aux données au niveau d'un dossier. Vos choix s'appliquent à tous les projets Google Cloud existants et nouveaux du dossier. Vous ne pouvez pas désactiver un journal d'audit pour l'accès aux données activé dans l'organisation parente du projet.
Projets: vous pouvez configurer les journaux d'audit pour l'accès aux données au niveau d'un projet Google Cloud spécifique. Vous ne pouvez pas désactiver un journal d'audit pour l'accès aux données activé dans une organisation ou un dossier parent.
Comptes de facturation: pour configurer les journaux d'audit pour l'accès aux données pour les comptes de facturation, utilisez Google Cloud CLI. Pour en savoir plus sur l'utilisation de gcloud CLI avec les journaux d'audit pour l'accès aux données et les comptes de facturation, consultez la documentation sur
gcloud beta billing accounts set-iam-policy
.Configurations par défaut: vous pouvez spécifier une configuration par défaut concernant les journaux d'audit pour l'accès aux données au niveau d'une organisation, d'un dossier ou d'un projet Google Cloud. Cette configuration s'applique aux futurs services Google Cloud qui commencent à produire des journaux d'audit pour l'accès aux données. Pour obtenir des instructions, consultez la section Définir la configuration par défaut.
Types d'autorisations: vous pouvez spécifier que les API Google Cloud qui ne vérifient qu'un certain type d'autorisation émettent un journal d'audit. Pour en savoir plus, consultez la section Types d'autorisations de cette page.
Comptes principaux exclus: vous pouvez empêcher l'enregistrement des accès aux données de comptes principaux spécifiques. Vous pouvez, par exemple, demander à ce que les opérations Cloud Monitoring effectuées par vos comptes de test internes ne soient pas consignées. Pour obtenir la liste des comptes principaux valides, y compris les utilisateurs et les groupes, consultez la documentation de référence sur le type
Binding
.
Vous pouvez configurer les journaux d'audit pour l'accès aux données via la page Journaux d'audit d'IAM dans la console Google Cloud ou à l'aide de l'API. Ces méthodes sont décrites dans les sections suivantes.
Types d'autorisations
Les méthodes API vérifient les autorisations IAM. Chaque autorisation IAM dispose d'un type d'autorisation, qui est défini par la propriété type
.
Les types d'autorisations sont classés en tant que type d'autorisation d'accès aux données ou en tant que type d'autorisation d'activité d'administration:
Types d'autorisations d'accès aux données:
ADMIN_READ
: les autorisations IAM de ce type sont vérifiées pour les méthodes d'API Google Cloud qui lisent des métadonnées ou des informations de configuration. En règle générale, les journaux d'auditADMIN_READ
sont désactivés par défaut et doivent être activés.DATA_READ
: les autorisations IAM de ce type sont vérifiées pour les méthodes de l'API Google Cloud qui lisent les données fournies par l'utilisateur. En règle générale, les journaux d'auditDATA_READ
sont désactivés par défaut et doivent être activés.DATA_WRITE
: les autorisations IAM de ce type sont vérifiées pour les méthodes de l'API Google Cloud qui écrivent des données fournies par l'utilisateur. En règle générale, les journaux d'auditDATA_WRITE
sont désactivés par défaut et doivent être activés.
Type d'autorisation "Activités d'administration" :
ADMIN_WRITE
: les autorisations IAM de ce type sont vérifiées pour les méthodes d'API Google Cloud qui écrivent des métadonnées ou des informations de configuration. Les journaux d'audit associés à ce type, les journaux d'audit pour les activités d'administration, sont activés par défaut et ne peuvent pas être désactivés.
Vous pouvez activer ou désactiver des types d'autorisations pour des services à l'aide de la console Google Cloud ou en appelant l'API.
La plupart des API Google Cloud ne vérifient que si l'appelant dispose d'une seule autorisation IAM. Si le type d'autorisation associé à cette autorisation est activé pour le service dont l'API est appelée, l'API génère un journal d'audit.
Les sections suivantes décrivent généralement d'autres façons dont les méthodes d'API Google Cloud vérifient les autorisations IAM. Pour en savoir plus sur les méthodes et les types d'autorisations vérifiés pour chaque service, consultez la documentation sur la journalisation d'audit du service.
Vérification des autorisations IAM pour les types d'autorisations d'accès aux données
Certaines méthodes de l'API Google Cloud vérifient si l'appelant dispose de plusieurs autorisations IAM avec différents types d'autorisations d'accès aux données. Un journal d'audit est écrit lorsqu'un de ces types d'autorisations d'accès aux données est activé dans le projet.
Par exemple, une méthode d'API peut vérifier que le principal qui émet une requête d'API dispose des autorisations example.resource.get
(DATA_READ
) et example.resource.write
(DATA_WRITE
). Le projet n'a besoin que de DATA_WRITE
ou DATA_READ
activé pour que le service émette le journal d'audit lors de l'émission de l'appel.
Types d'autorisations IAM "Activités des administrateurs" et "Accès aux données" vérifiés
Certaines méthodes de l'API Google Cloud vérifient à la fois une autorisation IAM avec le type d'autorisation ADMIN_WRITE
et une ou plusieurs autorisations avec un type d'autorisation d'accès aux données.
Ces types d'appels d'API génèrent des journaux d'audit des activités d'administration, qui sont activés par défaut et ne peuvent pas être désactivés.
La méthode de l'API vérifie les autorisations IAM qui ne sont pas détenues par le service
Certains services Google Cloud disposent de méthodes d'API qui ne génèrent un journal d'audit que lorsqu'un type d'autorisation spécifique est activé pour un autre service.
Par exemple, Cloud Billing dispose d'une méthode d'API qui recherche un type d'autorisation ADMIN_READ
appartenant à Resource Manager. ADMIN_READ
doit être activé pour que le service cloudresourcemanager.googleapis.com
active le journal des audits associé à l'API Cloud Billing.
La même méthode d'API vérifie différentes autorisations IAM
Pour certaines API Google Cloud, la manière dont la méthode est appelée détermine le ou les types d'autorisations IAM qui doivent être activés sur le projet pour qu'un journal d'audit soit généré.
Par exemple, Spanner dispose d'une méthode API qui vérifie parfois une autorisation IAM avec le type DATA_WRITE
et parfois une autorisation IAM avec le type DATA_READ
, en fonction de la manière dont la méthode est appelée. Dans ce cas, l'activation de DATA_WRITE
pour Spanner sur le projet pour lequel l'appel d'API est effectué n'active le journal d'audit associé à l'API que lorsque l'autorisation IAM avec le type DATA_WRITE
est vérifiée.
Configurations spécifiques aux services
S'il existe à la fois une configuration pour tous les services Google Cloud (allServices
) et une configuration pour un service Google Cloud spécifique, la configuration pour le service correspond à l'union des deux configurations.
Autrement dit :
Vous pouvez activer les journaux d'audit pour l'accès aux données pour des services Google Cloud spécifiques, mais vous ne pouvez pas les désactiver pour les services Google Cloud activés dans la configuration globale.
Vous pouvez ajouter des types d'informations supplémentaires au journal d'audit pour l'accès aux données d'un service Google Cloud, mais vous ne pouvez pas supprimer les types d'informations spécifiés dans la configuration globale.
Vous pouvez ajouter des principaux à des listes d'exceptions, mais vous ne pouvez pas les supprimer des listes d'exceptions définies dans la configuration globale.
Pour le service de transfert de données BigQuery, la configuration des journaux d'audit d'accès aux données est héritée de la configuration des journaux d'audit par défaut.
Configurations de ressources Google Cloud
Vous pouvez configurer les journaux d'audit pour l'accès aux données au niveau des projets, des comptes de facturation, des dossiers et des organisations Google Cloud. S'il existe une configuration pour un service Google Cloud dans la hiérarchie, la configuration résultante est l'union des configurations. En d'autres termes, au niveau du projet Google Cloud:
Vous pouvez activer les journaux pour un service Google Cloud, mais vous ne pouvez pas les désactiver pour un service Google Cloud activé dans une organisation ou un dossier parent.
Vous pouvez activer des types d'informations, mais vous ne pouvez pas désactiver ceux qui sont activés dans une organisation ou un dossier parent.
Vous pouvez ajouter des principaux à des listes d'exceptions, mais vous ne pouvez pas les supprimer des listes d'exceptions d'une organisation ou d'un dossier parent.
Au niveau d'une organisation ou d'un dossier parent, vous pouvez activer les journaux d'audit pour l'accès aux données sur un projet Google Cloud au sein de cette organisation ou de ce dossier, même si les journaux d'audit pour l'accès aux données n'ont pas été configurés dans le projet Google Cloud.
Contrôle des accès
Les rôles et autorisations Identity and Access Management régissent l'accès aux données de Logging, y compris l'affichage et la gestion des stratégies IAM sous-jacentes aux configurations des journaux d'audit pour l'accès aux données.
Pour afficher ou définir les stratégies associées à la configuration de l'accès aux données, vous devez disposer d'un rôle doté d'autorisations au niveau des ressources approprié. Pour savoir comment attribuer ces rôles au niveau des ressources, consultez la page Gérer l'accès aux projets, dossiers et organisations Google Cloud.
Pour définir des stratégies IAM, vous devez disposer d'un rôle doté de l'autorisation
resourcemanager.RESOURCE_TYPE.setIamPolicy
.Pour afficher les stratégies IAM, vous devez disposer d'un rôle doté de l'autorisation
resourcemanager.RESOURCE_TYPE.getIamPolicy
.
Pour obtenir la liste des autorisations et des rôles dont vous avez besoin pour afficher les journaux d'audit pour l'accès aux données, consultez la page Contrôle des accès avec IAM.
Configurer les journaux d'audit pour l'accès aux données avec la console Google Cloud
Cette section explique comment utiliser la console Google Cloud pour configurer des journaux d'audit d'accès aux données.
Vous pouvez également utiliser l'API ou la Google Cloud CLI pour effectuer ces tâches par programmation. Pour en savoir plus, consultez la section Configurer les journaux d'audit pour l'accès aux données à l'aide de l'API.
Pour accéder aux options de configuration du journal d'audit dans la console Google Cloud, procédez comme suit:
-
Dans la console Google Cloud, accédez à la page Journaux d'audit:
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est IAM et administration.
Sélectionnez un projet, une organisation ou un dossier Google Cloud existant.
Activer les journaux d'audit
Pour activer les journaux d'audit des accès aux données, procédez comme suit:
Dans le tableau Configuration des journaux d'audit des accès aux données, sélectionnez un ou plusieurs services Google Cloud dans la colonne Service.
Dans l'onglet Types de journaux, sélectionnez les types de journaux d'audit pour l'accès aux données que vous souhaitez activer pour les services sélectionnés.
Cliquez sur Enregistrer.
Une coche check_circle Vérifier s'affiche dans le tableau lorsque vous activez un journal d'audit.
Dans l'exemple suivant, vous pouvez voir que, pour le service d'approbation des accès, le type de journal d'audit Data Read (Lecture de données) est activé:
Vous pouvez également activer les journaux d'audit pour tous les services Google Cloud qui génèrent des journaux d'audit d'accès aux données. Dans le tableau Configuration des journaux d'audit des accès aux données, sélectionnez tous les services Google Cloud.
Notez que cette méthode de configuration groupée ne s'applique qu'aux services Google Cloud disponibles pour votre ressource. Si un nouveau service Google Cloud est ajouté, il hérite de votre configuration d'audit par défaut.
Désactiver les journaux d'audit pour l'accès aux données
Pour désactiver les journaux d'audit des accès aux données, procédez comme suit:
Dans le tableau Configuration des journaux d'audit d'accès aux données, sélectionnez un ou plusieurs services Google Cloud.
Dans l'onglet Types de journaux du panneau d'informations, sélectionnez les types de journaux d'audit pour l'accès aux données que vous souhaitez désactiver pour les services sélectionnés.
Cliquez sur Enregistrer.
Un tiret s'affiche dans le tableau lorsque vous désactivez un journal d'audit. Les journaux d'audit pour l'accès aux données activés sont signalés par une icône check_circle Vérifier.
Définir des exceptions
Vous pouvez définir des exceptions afin de contrôler les comptes principaux autorisés à générer des journaux d'audit d'accès aux données pour des services spécifiques. Lorsque vous ajoutez un compte principal exempté, les journaux d'audit de tous les types sélectionnés ne sont pas créés pour ce compte principal.
Pour définir des exceptions, procédez comme suit:
Dans le tableau Configuration des journaux d'audit pour l'accès aux données, sélectionnez un service Google Cloud dans la colonne Service.
Sélectionnez l'onglet Principals exemptés dans le panneau d'informations.
Dans Ajouter un compte principal exempté, saisissez le compte principal que vous souhaitez exempter de la génération de journaux d'audit des accès aux données pour le service sélectionné.
Pour ajouter plusieurs comptes principaux, cliquez sur le bouton Ajouter un compte principal exempté autant de fois que nécessaire.
Pour obtenir la liste des comptes principaux valides, y compris les utilisateurs et les groupes, consultez la documentation de référence sur le type
Binding
.Dans Types de journaux désactivés, sélectionnez les types de journaux d'audit pour l'accès aux données que vous souhaitez désactiver.
Cliquez sur Enregistrer.
Lorsque vous ajoutez des comptes principaux exemptés à un service, le tableau Configuration des journaux d'audit des accès aux données indique un numéro dans la colonne Comptes principaux exemptés.
Pour supprimer un compte principal de votre liste d'exceptions, procédez comme suit:
Dans le tableau Configuration des journaux d'audit pour l'accès aux données, sélectionnez un service Google Cloud dans la colonne Service.
Sélectionnez l'onglet Principals exemptés dans le panneau d'informations.
Pointez sur un nom d'entité principale, puis sélectionnez
Supprimer.Une fois que le nom du principal s'affiche en texte barré, cliquez sur Enregistrer.
Pour modifier les informations d'un principal exempté, procédez comme suit:
Dans le tableau Configuration des journaux d'audit pour l'accès aux données, sélectionnez un service Google Cloud dans la colonne Service.
Sélectionnez l'onglet Principals exemptés dans le panneau d'informations.
Recherchez le principal, puis sélectionnez expand_more Afficher plus.
Sélectionnez ou désélectionnez les types de journaux d'audit pour l'accès aux données en fonction des autorisations que vous souhaitez accorder au principal.
Cliquez sur Enregistrer.
Définir la configuration par défaut
Vous pouvez définir une configuration qui sera appliquée à tous les services Google Cloud nouveaux et existants de votre projet, dossier ou organisation Google Cloud. Cette configuration par défaut est appliquée à tout nouveau service Google Cloud dès sa mise à disposition aux principaux de votre organisation lorsqu'ils commencent à l'utiliser: le service hérite de la stratégie de journalisation d'audit que vous avez définie précédemment pour d'autres services Google Cloud. Vous avez ainsi l'assurance que les journaux d'audit pour l'accès aux données sont bien capturés pour ce service.
Pour définir ou modifier la configuration par défaut, procédez comme suit:
Cliquez sur Définir la configuration par défaut.
Dans l'onglet Types de journaux du panneau d'informations, sélectionnez les types de journaux d'audit pour l'accès aux données que vous souhaitez activer ou désactiver.
Cliquez sur Enregistrer.
Sélectionnez l'onglet Principals exemptés dans le panneau d'informations.
Dans Ajouter un compte principal exempté, saisissez le compte principal que vous souhaitez exempter de la génération de journaux d'audit des accès aux données pour le service sélectionné.
Pour ajouter plusieurs comptes principaux, cliquez sur le bouton Ajouter un compte principal exempté autant de fois que nécessaire.
Pour obtenir la liste des comptes principaux valides, y compris les utilisateurs et les groupes, consultez la documentation de référence sur le type
Binding
.Dans Types de journaux désactivés, sélectionnez les types de journaux d'audit pour l'accès aux données que vous souhaitez désactiver.
Cliquez sur Enregistrer.
Configurer les journaux d'audit pour l'accès aux données à l'aide de l'API
Cette section explique comment utiliser l'API et la gcloud CLI pour configurer les journaux d'audit pour l'accès aux données par programmation.
La plupart de ces tâches peuvent également être effectuées à l'aide de la console Google Cloud. Pour en savoir plus, consultez la section Configurer les journaux d'audit pour l'accès aux données avec la console Google Cloud sur cette page.
Objets des stratégies IAM
Pour configurer les journaux d'audit pour l'accès aux données à l'aide de l'API, vous devez modifier la stratégie IAM associée au projet, au dossier ou à l'organisation Google Cloud. La configuration des journaux d'audit se trouve dans la section auditConfigs
de la stratégie :
"auditConfigs": [
{
object(AuditConfig)
}
]
Pour en savoir plus, reportez-vous au type de stratégie IAM.
Les sections suivantes décrivent l'objet AuditConfig
plus en détail.
Pour découvrir les commandes de l'API et de la gcloud CLI permettant de modifier la configuration, consultez la section getIamPolicy
et setIamPolicy
.
AuditConfig
objet
La configuration des journaux d'audit consiste en une liste d'objets AuditConfig
. Chaque objet configure les journaux pour un service spécifique ou établit une configuration globale applicable à tous les services. Voici à quoi ressemblent les objets :
{
"service": SERVICE_NAME,
"auditLogConfigs": [
{
"logType": "ADMIN_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_READ"
"exemptedMembers": [ PRINCIPAL,]
},
{
"logType": "DATA_WRITE"
"exemptedMembers": [ PRINCIPAL,]
},
]
},
SERVICE_NAME a une valeur telle que "appengine.googleapis.com"
, ou la valeur spéciale "allServices"
. Si une configuration ne mentionne pas un service spécifique, la configuration globale s'applique. Si aucune configuration n'est définie, les journaux d'audit pour l'accès aux données ne sont pas activés sur le service en question.
Pour obtenir la liste des noms de service, consultez la section Services de journalisation.
La section auditLogConfigs
de l'objet AuditConfig
est une liste de 0 à 3 objets, chacun d'entre eux configurant un type de journal d'audit. Si vous omettez l'un des types de la liste, ce type d'information n'est pas activé pour le service.
PRINCIPAL est un utilisateur pour lequel les journaux d'audit pour l'accès aux données ne sont pas collectés. Le type Binding
décrit différents types de comptes principaux, y compris les utilisateurs et les groupes, mais ils ne peuvent pas tous être utilisés pour configurer les journaux d'audit pour l'accès aux données.
Vous trouverez ci-dessous un exemple de configuration d'audit aux formats JSON et YAML. Le format YAML est utilisé par défaut lorsque vous utilisez la Google Cloud CLI.
JSON
"auditConfigs": [
{
"auditLogConfigs": [
{
"logType": "ADMIN_READ"
},
{
"logType": "DATA_WRITE"
},
{
"logType": "DATA_READ"
}
],
"service": "allServices"
},
{
"auditLogConfigs": [
{
"exemptedMembers": [
"499862534253-compute@developer.gserviceaccount.com"
],
"logType": "ADMIN_READ"
}
],
"service": "cloudsql.googleapis.com"
}
],
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
- auditLogConfigs:
- exemptedMembers:
- 499862534253-compute@developer.gserviceaccount.com
logType: ADMIN_READ
service: cloudsql.googleapis.com
Configurations courantes
Vous trouverez ci-dessous quelques configurations de journaux d'audit courantes pour les projets Google Cloud.
Activer tous les journaux d'audit pour l'accès aux données
La section auditConfigs
suivante active les journaux d'audit pour l'accès aux données pour tous les services et principaux:
JSON
"auditConfigs": [
{
"service": "allServices",
"auditLogConfigs": [
{ "logType": "ADMIN_READ" },
{ "logType": "DATA_READ" },
{ "logType": "DATA_WRITE" },
]
},
]
YAML
auditConfigs:
- auditLogConfigs:
- logType: ADMIN_READ
- logType: DATA_WRITE
- logType: DATA_READ
service: allServices
Activer un service et un type d'information
La configuration suivante active les journaux d'audit pour l'accès aux données DATA_WRITE
dans Cloud SQL:
JSON
"auditConfigs": [
{
"service": "cloudsql.googleapis.com",
"auditLogConfigs": [
{ "logType": "DATA_WRITE" },
]
},
]
YAML
auditConfigs:
- auditLogConfigs:
- logType: DATA_WRITE
service: cloudsql.googleapis.com
Désactiver tous les journaux d'audit pour l'accès aux données
Pour désactiver tous les journaux d'audit d'accès aux données (sauf BigQuery) dans un projet Google Cloud, ajoutez une section auditConfigs:
vide dans votre nouvelle stratégie IAM:
JSON
"auditConfigs": [],
YAML
auditConfigs:
Si vous supprimez entièrement la section auditConfigs
de votre nouvelle stratégie, alors setIamPolicy
ne modifie pas la configuration des journaux d'audit pour l'accès aux données. Pour en savoir plus, consultez la section Masque de mise à jour setIamPolicy
.
Les journaux d'audit pour l'accès aux données BigQuery ne peuvent pas être désactivés.
getIamPolicy
et setIamPolicy
Vous pouvez consulter et rédiger votre stratégie IAM à l'aide des méthodes getIamPolicy
et setIamPolicy
de l'API Cloud Resource Manager. Plusieurs options s'offrent à vous :
L'API Cloud Resource Manager propose les méthodes suivantes:
projects.getIamPolicy projects.setIamPolicy organizations.getIamPolicy organizations.setIamPolicy
La Google Cloud CLI propose les commandes Resource Manager suivantes:
gcloud projects get-iam-policy gcloud projects set-iam-policy gcloud resource-manager folders get-iam-policy gcloud resource-manager folders set-iam-policy gcloud organizations get-iam-policy gcloud organizations set-iam-policy gcloud beta billing accounts get-iam-policy gcloud beta billing accounts set-iam-policy
Quel que soit votre choix, suivez ces trois étapes :
- Consultez la stratégie actuelle en utilisant l'une des méthodes
getIamPolicy
. Enregistrez-la dans un fichier temporaire. - Modifiez la stratégie dans le fichier temporaire.
Ne modifiez (ou n'ajoutez) que la section
auditConfigs
. - Rédigez la stratégie modifiée dans le fichier temporaire à l'aide de l'une des méthodes
setIamPolicy
.
La méthode setIamPolicy
échoue si Resource Manager détecte qu'un autre utilisateur a modifié la stratégie depuis votre dernier accès lors de l'étape 1. Si cela se produit, répétez les trois étapes.
Examples
Les exemples suivants montrent comment configurer les journaux d'audit pour l'accès aux données de votre projet à l'aide de la commande gcloud
et de l'API Cloud Resource Manager.
Pour configurer les journaux d'audit pour l'accès aux données de votre organisation, remplacez la version "projects" des commandes et méthodes d'API par la version "organizations".
gcloud
Pour configurer vos journaux d'audit pour l'accès aux données à l'aide de la commande gcloud projects
, procédez comme suit :
Consultez la stratégie IAM de votre projet et stockez-la dans un fichier :
gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
La stratégie renvoyée est présentée ci-dessous. Cette stratégie ne comporte pas de section
auditConfigs
:bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Modifiez votre stratégie dans
/tmp/policy.yaml
. Vous ne pouvez ajouter ou modifier que la configuration des journaux d'audit pour l'accès aux données.Vous trouverez ci-dessous un exemple de stratégie modifiée, qui active les journaux d'audit pour l'accès en écriture aux données dans Cloud SQL:
auditConfigs: - auditLogConfigs: - logType: DATA_WRITE service: cloudsql.googleapis.com bindings: - members: - user:colleague@example.com role: roles/editor - members: - user:myself@example.com role: roles/owner etag: BwVM-FDzeYM= version: 1
Comme le montre l'exemple précédent, quatre lignes ont été ajoutées au début de la stratégie.
Rédigez votre nouvelle stratégie IAM :
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
Si la commande précédente signale un conflit avec une autre modification, répétez ces étapes depuis le début.
JSON
Pour exploiter votre stratégie IAM au format JSON au lieu de YAML, utilisez les commandes gcloud
suivantes dans l'exemple :
gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json
API
Pour configurer les journaux d'audit pour l'accès aux données à l'aide de l'API Cloud Resource Manager, procédez comme suit :
Consultez la stratégie IAM de votre projet en spécifiant les paramètres suivants dans la méthode d'API getIamPolicy :
- resource :
projects/PROJECT_ID
- Corps de la requête : empty
La méthode renvoie l'objet de la stratégie actuelle:
{ "version": 1, "etag": "BwXqwxkr40M=", "bindings": [ { "role": "roles/owner", "members": [ "user:myself@example.com" ] } ] }
L'exemple précédent montre que la stratégie du projet ne comporte pas de section
auditConfigs
.- resource :
Modifiez la stratégie actuelle :
Modifiez ou ajoutez la section
auditConfigs
.Pour désactiver vos journaux d'audit pour l'accès aux données, indiquez une valeur vide pour la section :
auditConfigs:[]
.Conservez la valeur de
etag
.
Vous pouvez également supprimer toutes les autres informations du nouvel objet de stratégie, à condition de définir
updateMask
à l'étape suivante. Vous trouverez ci-dessous la stratégie modifiée, qui active les journaux d'auditDATA_WRITE
de Cloud SQL:{ "policy": { "auditConfigs": [ { "auditLogConfigs": [ { "logType": "DATA_WRITE" } ], "service": "cloudsql.googleapis.com" } ], "etag": "BwXqwxkr40M=" }, "updateMask": "auditConfigs,etag" }
Rédigez la nouvelle stratégie à l'aide de la méthode d'API
setIamPolicy
, en spécifiant les paramètres suivants:- resource :
projects/PROJECT_ID
- Corps de la requête: incluez la stratégie modifiée.
- resource :
Masque de mise à jour setIamPolicy
Cette section explique l'importance du paramètre updateMask
dans la méthode setIamPolicy
et décrit la raison pour laquelle vous devez traiter la commande set-iam-policy
de gcloud CLI avec soin pour ne pas nuire accidentellement à votre projet ou à votre organisation Google Cloud.
La méthode API setIamPolicy
utilise un paramètre updateMask
pour contrôler les champs de stratégie mis à jour. Par exemple, si le masque ne contient pas de section bindings
, vous ne pouvez pas modifier accidentellement cette section de la stratégie. En revanche, si le masque contient une section bindings
, celle-ci est systématiquement mise à jour. Si vous n'incluez pas de valeur à jour pour bindings
, cette section est entièrement supprimée de la stratégie.
La commande gcloud projects set-iam-policy
, qui appelle setIamPolicy
, ne vous permet pas de spécifier le paramètre updateMask
. À la place, la commande calcule une valeur pour updateMask
de la façon suivante :
- Le paramètre
updateMask
contient toujours les champsbindings
etetag
. - Si l'objet de stratégie fourni dans
set-iam-policy
contient d'autres champs de premier niveau, tels queauditConfigs
, ces champs sont ajoutés àupdateMask
.
Compte tenu de ces règles, la commande set-iam-policy
présente les comportements suivants :
Si vous omettez la section
auditConfigs
dans votre nouvelle stratégie, la valeur précédente de la sectionauditConfigs
(le cas échéant) n'est pas modifiée, car cette section ne se trouve pas dans le masque de mise à jour. Cela n'a aucune incidence, mais cela peut porter à confusion.Si vous omettez
bindings
dans votre nouvel objet de stratégie, la sectionbindings
est supprimée de votre stratégie, car elle apparaît dans le masque de mise à jour. Une telle omission a de graves conséquences, car elle entraîne la révocation de l'accès au projet Google Cloud pour tous les principaux.Si vous omettez
etag
dans votre nouvel objet de stratégie, la vérification des modifications simultanées apportées à votre stratégie est désactivée. Cela peut entraîner l'écrasement accidentel des modifications effectuées par un autre utilisateur.