Journaux d'audit

Cette page décrit les journaux d'audit créés par Cloud Search dans le cadre des audits Cloud Audit Logs.

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. Vos projets Cloud ne contiennent que les journaux d'audit des ressources directement intégrées au projet. D'autres entités, telles que les dossiers, les organisations et les comptes de facturation Cloud, contiennent les journaux d'audit la concernant.

Pour découvrir Cloud Audit Logging, consultez la page Cloud Audit Logging. Pour approfondir vos connaissances sur Cloud Audit Logs, consultez la page Comprendre les journaux d'audit.

Cloud Audit Logging gère les journaux d'audit suivants pour chaque projet, dossier et organisation sur le cloud :

  • Les journaux d'audit des activités d'administration contenant des entrées correspondant aux méthodes effectuant des opérations d'écriture administrateur Les méthodes correspondant aux opérations d'écriture de type "Activité d'administration:administrateur" seront traitées dans une prochaine section, intitulée Opérations auditées.
  • Les journaux d'audit des accès aux données contenant des entrées correspondant aux méthodes effectuant des opérations de lecture administrateur, d'écriture de données et de lecture de données Les méthodes correspondant aux opérations "Accès aux données:lecture administrateur", "Accès aux données:écriture des données" et "Accès aux données:lecture des données" seront abordées dans une prochaine section Opérations auditées.
  • Journaux d'audit des événements système
  • Journaux d'audit des refus de règles

Cloud Search écrit les journaux d'audit pour les activités d'administration, qui enregistrent les opérations modifiant la configuration ou les métadonnées d'une ressource. Vous ne pouvez pas les désactiver.

Cloud Search n'écrit les journaux d'audit des accès aux données que si l'option est explicitement activée. Les journaux d'audit des accès aux données contiennent des appels d'API qui lisent la configuration ou les métadonnées des ressources, et des appels d'API pilotés par l'utilisateur qui créent, modifient ou lisent des données de ressources fournies par l'utilisateur.

Cloud Search n'écrit pas de journaux d'audit pour les événements système.

Cloud Search n'écrit pas de journaux d'audit des refus de règles.

Opérations auditées

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

Catégorie de journal d'audit Opérations Cloud Search
Activité d'administration: accès administrateur indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
cloudsearch.IdentitySourceService.create
cloudsearch.IdentitySourceService.update
Accès aux données: lecture administrateur indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
Accès aux données: écriture de données indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
indexing.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
Accès aux données: lecture des données index.datasources.items.get
indexing.datasources.items.list
operations.get
Operations.list
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
get.identitymapids.







Format des journaux d'audit

Les entrées des journaux d'audit, qui peuvent être affichées dans Cloud Logging à l'aide de l'explorateur de journaux, de l'API Cloud Logging ou de l'outil de ligne de commande gcloud, incluent 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 contenu dans le champ protoPayload de l'entrée de journal.

Un objet (facultatif) de type "information d'audit spécifique 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 ressources Cloud Audit Logs indiquent le projet Cloud ou une autre entité Google Cloud dont ils dépendent. Ils précisent également 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. Vous trouverez ci-dessous les noms des journaux concernant les activités d'administration au niveau du projet et les noms des journaux d'audit des accès aux données d'une organisation. Les variables désignent des identifiants de projet et d'organisation.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nom du service

Les journaux d'audit Cloud Search utilisent le nom de service cloudsearch.googleapis.com.

Types de ressources

Les journaux d'audit Cloud Search utilisent le type de ressource audited_resource pour tous les journaux d'audit.

Pour obtenir la liste des autres types de ressources, consultez la page Types de ressources surveillés.

Activer la journalisation d'audit

Par défaut, les journaux d'audit sont désactivés pour l'API Cloud Search. Pour activer la journalisation d'audit pour Google Cloud Search, procédez comme suit:

  1. (Facultatif) Si vous n'avez pas créé de projet Google Cloud Platform pour stocker les journaux, consultez la section Configurer l'accès à l'API Google Cloud Search.

  2. Obtenez l'ID du projet Google Cloud dans lequel vous souhaitez stocker les journaux. Pour savoir comment obtenir un ID de projet, reportez-vous à la section Identifier des projets.

  3. Pour activer les journaux d'audit pour une API spécifique, vous devez déterminer sa catégorie de journal à activer. Pour les API et les catégories correspondantes, reportez-vous à la section Opérations auditées plus tôt dans ce document.

  4. Utilisez la méthode API REST updateCustomer() pour mettre à jour auditLogSettings avec les catégories de journaux à activer:

    1. Obtenir un jeton d'accès OAuth 2.0 auprès du serveur d'autorisation Google Pour plus d'informations sur l'obtention du jeton, reportez-vous à l'étape 2 de la section Utiliser OAuth 2.0 pour accéder aux API Google. Utilisez l'un des champs d'application OAuth suivants lors de l'obtention du jeton d'accès:

      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. Exécutez la commande Curl suivante.

    curl --request PATCH \
    'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \
    --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
    --header 'Content-Type: application/json' \
    --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }'
    

    Où :

    • YOUR_ACCESS_TOKEN correspond au jeton d'accès OAuth 2.0 obtenu à l'étape 4a.
    • PROJECT_ID correspond à l'ID de projet obtenu à l'étape 2.
    • CATEGORY1, CATEGORY2 et sont les catégories que vous avez choisi d'activer à l'étape 3. Les valeurs valides sont logAdminReadActions, logDataWriteActions et logDataReadActions. Les actions d'écriture administrateur sont activées par défaut et ne peuvent pas être désactivées. Si vous souhaitez utiliser des journaux d'audit pour les méthodes de requête, vous devez activer la catégorie "Data read" (Lecture de données).

    Après avoir mis à jour AuditLoggingSettings, les nouvelles requêtes envoyées à l'API Cloud Search génèrent un journal d'audit dans l'ID de projet spécifié dans AuditLoggingSettings.

  5. La journalisation d'audit pour les méthodes de requête nécessite l'activation de la catégorie "Data read" (Lecture de données) (étape 4). Pour activer les journaux d'audit pour les méthodes de requête (query.sources.list, query.suggest et query.search), procédez comme suit:

    1. Récupérez le nom de chaque application de recherche pour laquelle vous souhaitez activer la journalisation d'audit. Le nom doit être au format searchapplications/<search_application_id>.

    2. Utilisez le nom pour appeler settings.searchapplications.update avec enableAuditLog défini sur true.

  6. Pour activer la journalisation d'audit pour les appels provenant de cloudsearch.google.com, assurez-vous que la catégorie "Data read" (Lecture de données) est activée (étape 4). De plus, effectuez l'étape 5b avec un name défini sur searchapplications/default .

Une fois activé, les journaux peuvent être consultés dans la section "Explorateur de journaux" de la console Google Cloud. Utilisez le filtre suivant pour n'afficher que les journaux d'audit Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

Pour savoir comment afficher les journaux, consultez la section Présentation de l'explorateur de journaux.

Autorisations relatives aux journaux d'audit

Les autorisations et rôles IAM (Identity and Access Management) déterminent les journaux d'audit que vous pouvez afficher ou exporter. Les journaux sont consignés dans des projets Cloud et dans certaines autres entités, telles que des organisations, des dossiers et des comptes de facturation Cloud. Pour en savoir plus, consultez la page Comprendre les rôles.

Pour afficher les journaux d'audit pour les activités d'administration, vous devez disposer d'un des rôles IAM suivants dans le projet qui contient vos journaux d'audit:

Pour afficher les journaux d'audit des accès aux données, vous devez disposer d'un des rôles suivants dans le projet qui contient les journaux d'audit :

Si vous utilisez des journaux d'audit pour une entité autre qu'un projet, telle qu'une organisation, vous devez remplacer les rôles au niveau du projet Cloud par des rôles appropriés au niveau de l'organisation.

Afficher les journaux

Pour rechercher et afficher des journaux d'audit, vous devez connaître l'identifiant du projet, du dossier ou de l'organisation Cloud pour lesquels vous souhaitez consulter les informations de journalisation d'audit. Vous pouvez également spécifier d'autres champs LogEntry indexés, comme resource.type. Pour en savoir plus, consultez la section Créer des requêtes dans l'explorateur de journaux.

Voici les noms des journaux d'audit. Ils incluent des variables correspondant aux identifiants de l'organisation, du dossier ou du projet Cloud:

   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

   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

Plusieurs options s'offrent à vous pour afficher les entrées de vos journaux d'audit.

Console

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

  1. Dans Cloud Console, accédez à la page Journaux > Explorateur de journaux.

    Accéder à la page "Explorateur de journaux"

  2. Sur la page Explorateur de journaux, sélectionnez un projet Cloud existant.

  3. Dans le volet Générateur de requêtes, procédez comme suit :

    • Dans Ressource, sélectionnez le type de 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.

    Si ces options ne s'affichent pas, cela signifie qu'aucun journal d'audit de ce type n'est disponible dans le projet Cloud.

    Pour en savoir plus sur l'exécution de requêtes à l'aide du nouvel explorateur de journaux, consultez la page Créer des requêtes dans l'explorateur de journaux.

gcloud

gcloud fournit une interface de ligne de commande à l'API Logging. Fournissez un ID PROJECT_ID, FOLDER_ID ou ORGANIZATION_ID valide dans chacun des noms de journaux.

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 en savoir plus sur l'utilisation de l'outil gcloud, consultez la page gcloud logging read.

API

Lorsque vous créez des requêtes, remplacez les variables par des valeurs valides. Spécifiez des noms et identifiants de journaux d'audit appropriés au niveau d'un projet, d'un dossier ou d'une organisation, comme indiqué dans les noms des journaux d'audit. Par exemple, si votre requête inclut un PROJECT_ID, l'identifiant de projet que vous fournissez doit faire référence au projet Cloud actuellement sélectionné.

Pour consulter les entrées de journal d'audit à l'aide de l'API Logging, 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.

Pour en savoir plus sur les requêtes, consultez la page Langage de requête Logging.

Pour obtenir un exemple d'entrée de journal d'audit et savoir comment y trouver les informations les plus importantes, consultez la page Comprendre les journaux d'audit.

Exporter des journaux d'audit

Vous pouvez exporter les journaux d'audit de la même manière que vous exportez d'autres types de journaux. Pour en savoir plus sur l'exportation des journaux, consultez la page Exporter des journaux. Voici des exemples d'applications associées à l'exportation des 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 de vos journaux d'audit vers Cloud Storage, BigQuery ou Pub/Sub. Avec Pub/Sub, vous pouvez exporter vos journaux vers d'autres applications, vers 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 Cloud spécifique ou pour l'ensemble des projets 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 Cloud, vous pouvez les exporter et les exclure de Logging. Pour en savoir plus, consultez la page Exclure des journaux.

Tarification et fidélisation

Cloud Logging ne facture pas les journaux d'audit qui ne peuvent pas être désactivés, ce qui inclut tous les journaux d'audit pour les activités d'administration. Cloud Logging facture les journaux d'audit d'accès aux données que vous demandez explicitement.

Pour en savoir plus sur la tarification des journaux d'audit, consultez la page Tarifs de la suite Google Cloud Operations.

La durée de stockage associée aux journaux d'audit Cloud Search est la suivante:

  • Journaux des activités d'administration (ou écriture administrateur) : ces journaux sont conservés pendant 400 jours.
  • Journaux des accès aux données (lecture administrateur, écriture de données et lecture de données) : ces journaux sont conservés pendant 30 jours.

Pour en savoir plus sur la durée de stockage, consultez la section Durée de conservation des journaux.

Limites actuelles

Les limites actuelles liées aux journaux d'audit Cloud Search sont les suivantes:

  • La taille de l'entrée de journal doit être inférieure à 512 Ko. Si la taille dépasse 512 Ko, la réponse est supprimée de l'entrée de journal. Si cela ne permet pas de réduire la taille à 512 Ko ou moins, la requête est abandonnée. Enfin, si la taille dépasse toujours 512 Ko, l'entrée de journal est supprimée.

  • Les corps de la réponse ne sont pas enregistrés pour les méthodes list(), get() et suggest(). Toutefois, les états des réponses sont disponibles.

  • Seuls les appels d'API Query provenant de cloudsearch.google.com (si cette option est activée) et d'applications de recherche de clients sont consignés.

  • Pour les appels search(), seuls Query, RequestOptions et DataSourceRestriction sont consignés dans la requête. Dans la réponse, seules l'URL et les métadonnées (source et objectType) de chaque SearchResult sont auditées.

  • Les appels émis vers le backend Cloud Search et correspondant à l'exportation de données ne sont pas audités.