Informations relatives aux journaux d'audit de Bigtable

Ce document décrit les journaux d'audit créés par Bigtable dans le cadre des journaux d'audit Cloud.

Présentation

Les services Google Cloud génèrent des journaux d'audit pour vous aider à déterminer qui fait quoi, où et quand dans vos ressources Google Cloud.

Vos projets Google Cloud ne contiennent que les journaux d'audit des ressources directement intégrées au projet Google Cloud. Les autres ressources Google Cloud, telles que les dossiers, les organisations et les comptes de facturation, contiennent les journaux d'audit de l'entité elle-même.

Pour découvrir Cloud Audit Logs, consultez la page présentation de Cloud Audit Logs. Pour en savoir plus sur le format des journaux d'audit, consultez la page Comprendre les journaux d'audit.

Journaux d'audit disponibles

Les types de journaux d'audit suivants sont disponibles pour AutoML :

  • Journaux d'audit pour les activités d'administration

    Ils incluent les opérations d'écriture administrateur qui écrivent des métadonnées ou des informations de configuration.

    Vous ne pouvez pas les désactiver.

  • Journaux d'audit des accès aux données

    Inclut les opérations de lecture administrateur qui lisent les métadonnées ou les informations de configuration. Inclut également les opérations de "lecture de données" et d'écriture de données qui lisent ou écrivent des données fournies par l'utilisateur.

    Pour recevoir les journaux d'audit des accès aux données, vous devez les activer explicitement.

  • Journaux d'audit des événements système

    Identifie les actions Google Cloud automatisées qui modifient la configuration des ressources.

    Vous ne pouvez pas désactiver les journaux d'audit d'événement système.

Pour obtenir une description plus complète des types de journaux d'audit, consultez la section Types de journaux d'audit.

Opérations auditées

Le tableau suivant récapitule les opérations d'API correspondant à chaque type de journaux d'audit dans Bigtable:

Journaux d'audit pour les activités d'administration

Type de ressource Opération Bigtable Type de journal
AppProfile CreateAppProfile ADMIN_WRITE
UpdateAppProfile ADMIN_WRITE
EnableAppProfile ADMIN_WRITE
DisableAppProfile ADMIN_WRITE
DeleteAppProfile ADMIN_WRITE
Sauvegarde CreateBackup ADMIN_WRITE
UpdateBackup ADMIN_WRITE
DeleteBackup ADMIN_WRITE
RestoreTable ADMIN_WRITE
SetIamPolicy ADMIN_WRITE
Cluster CreateCluster ADMIN_WRITE
UpdateCluster ADMIN_WRITE
PartialUpdateCluster ADMIN_WRITE
DeleteCluster ADMIN_WRITE
Instance CreateInstance ADMIN_WRITE
UpdateInstance ADMIN_WRITE
PartialUpdateInstance ADMIN_WRITE
DeleteInstance ADMIN_WRITE
SetIamPolicy ADMIN_WRITE
Table CreateTable ADMIN_WRITE
DeleteTable ADMIN_WRITE
ModifyColumnFamilies ADMIN_WRITE
SetIamPolicy ADMIN_WRITE
CheckAndMutateRow ADMIN_WRITE

Journaux d'audit des accès aux données

Type de ressource Opération Bigtable Type de journal
AppProfile
GetAppProfile ADMIN_READ
ListAppProfiles ADMIN_READ
Sauvegarde CreateBackup DATA_READ
GetBackup ADMIN_READ
ListBackups ADMIN_READ
GetIamPolicy ADMIN_READ
Cluster GetCluster ADMIN_READ
ListClusters ADMIN_READ
Instance GetInstance ADMIN_READ
ListInstances ADMIN_READ
GetIamPolicy ADMIN_READ
Table ListTables ADMIN_READ
GetTable ADMIN_READ
GenerateConsistencyToken ADMIN_READ
CheckConsistency ADMIN_READ
GetIamPolicy ADMIN_READ
ReadRows DATA_READ
SampleRowKeys DATA_READ
MutateRow DATA_WRITE
MutateRows DATA_WRITE
CheckAndMutateRow DATA_READ
ReadModifyWriteRow DATA_WRITE ou
DATA_READ
DropRowRange DATA_WRITE

Si vous avez déjà activé les journaux d'audit des accès aux données de tous les services Google Cloud dans la configuration par défaut de Cloud Audit Logs, vous devrez peut-être prendre des mesures supplémentaires pour activer la journalisation d'audit pour l'accès aux données de Bigtable. Les clients concernés voient une notification en haut de la page Bigtable de la console Google Cloud.

Pour en savoir plus sur les champs relatifs à la journalisation d'audit pour l'accès aux données, consultez la section Champs des journaux d'audit.

Journaux d'audit d'événements système

Type de ressource Opération Bigtable
Ressource auditée AutoscaleCluster

Format des journaux d'audit

Les entrées des journaux d'audit comprennent les objets suivants :

  • L'entrée de journal proprement dite, qui est un objet de type LogEntry. Les champs utiles sont les suivants :

    • logName, qui contient l'ID de ressource et le type de journal d'audit
    • resource, qui contient la cible de l'opération auditée
    • timeStamp, qui indique l'heure à laquelle l'opération auditée a été effectuée
    • protoPayload, qui contient les informations auditées
  • Les données de journalisation d'audit, qui correspondent à un objet AuditLog inclus dans le champ protoPayload de l'entrée de journal

  • Un objet (facultatif) de type "informations d'audit propres au service". Pour les intégrations précédentes, cet objet est conservé dans le champ serviceData de l'objet AuditLog. Les intégrations ultérieures utilisent le champ metadata.

Pour en savoir plus sur les autres champs de ces objets, ainsi que sur leur interprétation, consultez la page Comprendre les journaux d'audit.

Nom du journal

Les noms des journaux Cloud Audit Logs incluent des identifiants de ressources qui désignent le projet Google Cloud ou toute autre entité Google Cloud dont ils dépendent et permettent également de déterminer si les journaux contiennent des données sur les activités d'administration, l'accès aux données, les refus de règles ou les événements système.

Voici les noms des journaux d'audit incluant des variables pour les identifiants de ressource :

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Nom du service

Les journaux d'audit Bigtable utilisent le nom de service bigtableadmin.googleapis.com pour les opérations d'administration et bigtable.googleapis.com pour les opérations de données.

Pour obtenir la liste de tous les noms de service de l'API Cloud Logging et du type de ressource surveillée correspondant, consultez la section Mapper des services sur des ressources.

Types de ressources

Les journaux d'audit Bigtable utilisent les types de ressources suivants :

  • bigtable_instance
  • bigtable_cluster
  • bigtable_table
  • bigtable_backup

En outre, pour les opérations IAM, les journaux d'audit utilisent le type de ressource audited_resource.

Pour obtenir la liste de tous les types de ressources surveillées Cloud Logging et des informations descriptives, consultez la section Types de ressources surveillées.

Identités des appelants

L'adresse IP de l'appelant est conservée dans le champ RequestMetadata.caller_ip de l'objet AuditLog. Logging peut masquer certaines identités et adresses IP d'appelant.

Pour en savoir plus sur les informations masquées dans les journaux d'audit, consultez la section Identités des appelants dans les journaux d'audit.

Activer la journalisation d'audit

Les journaux d'audit d'événements système sont toujours activés. Vous ne pouvez pas les désactiver.

Les journaux d'audit pour les activités d'administration sont toujours activés. Vous ne pouvez pas les désactiver.

Les journaux d'audit pour l'accès aux données sont désactivés par défaut et ne sont pas écrits à moins d'être explicitement activés (à l'exception de ceux pour BigQuery, qui ne peuvent pas être désactivés).

Pour savoir comment activer tout ou partie des journaux d'audit d'accès aux données, consultez la page Activer les journaux d'audit des accès aux données.

Autorisations et rôles

Les autorisations et les rôles IAM déterminent votre capacité à accéder aux données des journaux d'audit dans les ressources Google Cloud.

Lorsque vous décidez des autorisations et rôles spécifiques à Logging qui s'appliquent à votre cas d'utilisation, tenez compte des points suivants :

  • Le rôle Lecteur de journaux (roles/logging.viewer) vous donne un accès en lecture seule aux journaux d'audit des activités d'administration, des refus de règles et des événements système. Si vous ne disposez que de ce rôle, vous ne pouvez pas afficher les journaux d'audit d'accès aux données qui se trouvent dans le bucket _Default.

  • Le rôle Lecteur de journaux privés ((roles/logging.privateLogViewer) inclut les autorisations contenues dans roles/logging.viewer et permet également de lire les journaux d'audit d'accès aux données dans le bucket _Default.

    Notez que si ces journaux privés sont stockés dans des buckets définis par l'utilisateur, tout utilisateur autorisé à lire les journaux dans ces buckets peut lire les journaux privés. Pour en savoir plus sur les buckets de journaux, consultez la page Présentation du routage et du stockage.

Pour en savoir plus sur les autorisations et les rôles IAM qui s'appliquent aux données des journaux d'audit, consultez la page Contrôle des accès avec IAM.

Voir les journaux

Vous pouvez interroger tous les journaux d'audit ou interroger les journaux selon leur nom de journal d'audit. Le nom du journal d'audit inclut l'identifiant de ressource du projet, du dossier, du compte de facturation ou de l'organisation Google Cloud dont vous souhaitez afficher les informations de journalisation d'audit. Vos requêtes peuvent spécifier des champs LogEntry indexés. Si vous utilisez la page Analyse de journaux, qui est compatible avec les requêtes SQL, vous pouvez afficher les résultats de votre requête sous forme de graphique.

Pour en savoir plus sur l'interrogation de journaux, consultez les pages suivantes :

Vous pouvez afficher les journaux d'audit dans Cloud Logging à l'aide de la console Google Cloud, de Google Cloud CLI ou de l'API Logging.

Console

Vous pouvez utiliser l'explorateur de journaux de la console Google Cloud pour récupérer les entrées du journal d'audit de votre projet, dossier ou organisation Google Cloud :

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Explorateur de journaux :

    Accéder à l'explorateur de journaux

  2. Sélectionnez un projet, une organisation ou un dossier Google Cloud existant.

  3. Pour afficher tous les journaux d'audit, saisissez l'une des requêtes suivantes dans le champ de l'éditeur de requête, puis cliquez sur Exécuter la requête :

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. Pour afficher les journaux d'audit d'une ressource et d'un type de journal d'audit spécifiques, accédez au volet Générateur de requêtes et procédez comme suit :

    • Dans Type de ressource, sélectionnez la ressource Google Cloud dont vous souhaitez afficher les journaux d'audit.

    • Dans Nom du journal, sélectionnez le type de journal d'audit que vous souhaitez afficher :

      • Pour les journaux d'audit pour les activités d'administration, sélectionnez activity.
      • Pour les journaux d'audit des accès aux données, sélectionnez data_access.
      • Pour les journaux d'audit des événements système, sélectionnez system_event.
      • Pour les journaux d'audit des refus de règles, sélectionnez policy.
    • Cliquez sur Exécuter la requête.

    Si ces options ne sont pas visibles, cela signifie qu'aucun journal d'audit de ce type n'est disponible dans le projet, le dossier ou l'organisation Google Cloud.

    Si vous rencontrez des problèmes lors de la tentative d'affichage de journaux dans l'explorateur de journaux, consultez les informations de dépannage.

    Pour en savoir plus sur l'utilisation de l'explorateur de journaux pour effectuer des requêtes, consultez la page Créer des requêtes dans l'explorateur de journaux. Pour en savoir plus sur la synthèse des entrées de journal dans l'explorateur de journaux à l'aide de Gemini, consultez la section Résumer les entrées de journal avec l'assistance Gemini.

gcloud

Google Cloud CLI fournit une interface de ligne de commande à l'API Logging. Fournissez un identifiant de ressource valide dans chacun des noms de journaux. Par exemple, si votre requête inclut un PROJECT_ID, l'identifiant de projet que vous fournissez doit faire référence au projet Google Cloud actuellement sélectionné.

Pour lire les entrées de journal d'audit au niveau du projet Google Cloud, exécutez la commande suivante :

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
    --project=PROJECT_ID

Pour lire les entrées de journal d'audit au niveau d'un dossier, exécutez la commande suivante :

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
    --folder=FOLDER_ID

Pour lire les entrées de journal d'audit au niveau de l'organisation, exécutez la commande suivante :

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
    --organization=ORGANIZATION_ID

Pour lire les entrées de journal d'audit au niveau de votre compte de facturation Cloud, exécutez la commande suivante :

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

Ajoutez l'option --freshness à votre commande pour lire les journaux datant de plus d'une journée.

Pour en savoir plus sur l'utilisation de gcloud CLI, consultez la page gcloud logging read.

API

Lors de la création de vos requêtes, fournissez un identifiant de ressource valide dans chacun des noms de journaux. Par exemple, si votre requête inclut un PROJECT_ID, l'identifiant de projet que vous fournissez doit faire référence au projet Google Cloud actuellement sélectionné.

Par exemple, pour utiliser l'API Logging afin d'afficher les entrées de journal d'audit au niveau d'un projet, procédez comme suit :

  1. Accédez à la section Essayer cette API dans la documentation de la méthode entries.list.

  2. Insérez les éléments suivants dans la partie Corps de la requête du formulaire Essayer cette API. En cliquant sur ce formulaire prérempli, vous remplissez automatiquement le corps de la requête mais vous devez fournir un ID de projet PROJECT_ID valide pour chaque nom de journal.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Cliquez sur Exécuter.

Acheminer les journaux d'audit

Vous pouvez acheminer les journaux d'audit vers des destinations compatibles de la même manière que vous pouvez acheminer d'autres types de journaux. Voici quelques raisons pour lesquelles vous pouvez acheminer vos journaux d'audit :

  • Pour conserver les journaux d'audit pendant une période plus longue ou pour utiliser des fonctionnalités de recherche plus puissantes, vous pouvez exporter des copies des journaux d'audit vers Cloud Storage, BigQuery ou Pub/Sub. Avec Pub/Sub, vous avez la possibilité d'acheminer vos journaux vers d'autres applications, d'autres dépôts, ainsi que vers des organisations tierces.

  • Pour gérer les journaux d'audit à l'échelle de votre organisation, vous pouvez créer des récepteurs agrégés capables d'exporter les journaux pour un projet Google Cloud spécifique ou pour l'ensemble des projets Google Cloud de l'organisation.

  • Si les journaux d'audit des accès aux données que vous avez activés entraînent le dépassement du quota d'attribution de journaux défini pour vos projets Google Cloud, vous pouvez créer des récepteurs qui excluent les journaux d'audit des accès aux données de Logging.

Pour obtenir des instructions sur l'acheminement des journaux, consultez la section Acheminer les journaux vers les destinations compatibles.

Tarification

Pour en savoir plus sur les tarifs, consultez la section Synthèse des tarifs Cloud Logging.

Diviser les entrées du journal d'audit

Lorsqu'une entrée de journal dépasse la limite de taille, Cloud Logging la divise et distribue les données sur plusieurs entrées. Pour savoir comment identifier et reassembler les journaux d'audit fractionnés, consultez la section Diviser les entrées de journaux d'audit.

Gérer les coûts

Ce service est généralement utilisé pour les charges de travail volumineuses. Par conséquent, si vous ne gérez pas le volume de journaux, Bigtable peut générer un nombre très élevé de journaux DATA_READ et DATA_WRITE, ce qui entraîne des coûts de stockage des journaux importants et inattendus. Si vous utilisez les journaux d'audit des accès aux données, vous devez adopter des mesures pour gérer le volume des journaux.

Lorsque vous suivez les bonnes pratiques en matière d'authentification Bigtable, la plupart des activités de journalisation d'audit d'accès aux données sont générées par un compte de service. Un compte de service est un compte qu'une application utilise pour s'authentifier et effectuer des appels d'API vers des services Google Cloud tels que Bigtable. La gestion des journaux de compte de service constitue l'étape la plus importante pour réduire le volume des journaux. Vous pouvez également limiter les journaux à l'aide d'autres critères.

Vous pouvez activer la journalisation d'audit d'accès aux données pour Bigtable de différentes manières :

Après avoir activé la journalisation, procédez comme suit pour limiter le volume des journaux.

Identifier les comptes de service

Commencez par identifier les comptes de service pour lesquels les journaux ne sont pas nécessaires. La liste des comptes de service inutiles et qui ne doivent pas être journalisés dépend de votre application et des besoins de votre entreprise.Pour obtenir la liste des comptes de service disposant des autorisations de l'API Cloud Bigtable (API Data), vous pouvez rechercher des stratégies IAM pour votre organisation. Vous pouvez également les consulter sur la page Autorisations IAM de la console Google Cloud dans l'onglet Comptes principaux.

Configurer les restrictions de journal

Ensuite, configurez vos restrictions de journal. Il existe deux manières de gérer le volume de journaux de Bigtable en limitant les journaux de compte de service. Vous pouvez soit exclure les comptes de service utilisant la configuration d'audit, soit exclure les journaux du compte de service à l'aide de filtres d'exclusion de journaux. Pour chaque méthode, vous pouvez utiliser l'API Cloud Logging ou Google Cloud Console.

Exclure des comptes de service à l'aide d'une configuration d'audit

L'exclusion des comptes de service à l'aide de la configuration d'audit est l'approche recommandée, car elle vous permet d'empêcher la génération de certains journaux. Pour obtenir des instructions détaillées, consultez les pages suivantes :

Exclure des comptes de service à l'aide de filtres d'exclusion

Les filtres d'exclusion vous permettent de spécifier les journaux à exclure de l'ingestion dans vos buckets de journaux. Dans cette approche, les journaux sont supprimés après leur création. Ils imposent donc toujours une charge de traitement sur les composants du service Bigtable qui diffusent vos données. En raison de cette charge, nous vous recommandons d'utiliser plutôt la configuration d'audit. Pour en savoir plus sur la configuration des filtres à l'aide de la console Google Cloud et de l'API, consultez la page Créer un récepteur.