Cette page décrit les journaux d'audit créés par Cloud Search 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. Vos projets Cloud ne contiennent que les journaux d'audit des ressources directement intégrées au projet. Les autres entités, telles que les dossiers, les organisations et les comptes de facturation Cloud, contiennent les journaux d'audit de l'entité elle-même.
Pour découvrir Cloud Audit Logging, consultez la page Cloud Audit Logging. Pour en savoir plus sur Cloud Audit Logging, 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 :
- Journaux d'audit des activités d'administration contenant des entrées correspondant aux méthodes effectuant des opérations d'écriture par l'administrateur. Les méthodes correspondant aux opérations d'écriture Admin Activity:Admin sont décrites dans la section Opérations auditées à venir.
- Journaux d'audit pour l'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 Data Access:Admin read, Data Access:Data write et Data Access:Data read sont décrites dans la section Opérations auditées à venir.
- Journaux d'audit des événements système
- Journaux d'audit des refus de règles
Cloud Search écrit des 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 ne consigne les journaux d'audit pour l'accès aux données que si cette fonction est explicitement activée. Les journaux d'audit pour l'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: écriture (administration) | 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 cloudsearch.IdentitySourceService.delete |
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 | indexing.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 stats.session.searchapplications.get stats.user.search applications.get debug.identitysources.items.listForunmappedidentity debug.identitysources.unmappedids.list debug.datasources.items.unmappedids.list query.sources.list query.suggest query.search stats.getSearchapplication |
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, 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'auditresource
, qui contient la cible de l'opération auditéetimeStamp
, qui indique l'heure à laquelle l'opération auditée a été effectuéeprotoPayload
, 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.
Informations d'audit facultatives propres au service, qui sont un objet propre 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 toute autre entité Google Cloud dont ils dépendent. En outre, ils précisent 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. Par exemple, voici les noms des journaux d'audit des activités d'administration au niveau du projet et des journaux d'audit d'accès aux données d'une organisation. Les variables désignent les 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, la journalisation des audits est désactivée pour l'API Cloud Search. Pour activer la journalisation d'audit pour Google Cloud Search:
(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.
Obtenez l'ID du projet Google Cloud dans lequel vous souhaitez stocker les journaux. Pour savoir comment obtenir un ID de projet, consultez la section Identifier des projets.
Pour activer la journalisation d'audit pour une API spécifique, vous devez déterminer la catégorie de journaux à activer. Pour connaître les API et les catégories correspondantes, consultez la section Opérations auditées plus haut dans ce document.
Utilisez la méthode API REST
updateCustomer()
pour mettre à jour auditLogSettings avec les catégories de journaux à activer:Obtenez un jeton d'accès OAuth 2.0 auprès du serveur d'autorisation Google. Pour en savoir plus sur l'obtention du jeton, consultez 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 lorsque vous obtenez le 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
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
est le jeton d'accès OAuth 2.0 obtenu à l'étape 4a.PROJECT_ID
est l'ID du projet obtenu à l'étape 2.CATEGORY1
,CATEGORY2
et…
sont les catégories que vous avez choisies d'activer à l'étape 3. Les valeurs valides sontlogAdminReadActions
,logDataWriteActions
etlogDataReadActions
. Les actions d'écriture des administrateurs sont activées par défaut et ne peuvent pas être désactivées. Si vous souhaitez enregistrer des journaux d'audit pour les méthodes de requête, vous devez activer la catégorie "Lecture de données".
Après avoir mis à jour
AuditLoggingSettings
, les requêtes supplémentaires envoyées à l'API Cloud Search génèrent un journal d'audit dans l'ID de projet spécifié dansAuditLoggingSettings
.La journalisation d'audit pour les méthodes de requête nécessite d'activer la catégorie "Lecture de données" (effectué à l'étape 4). Pour activer la journalisation d'audit pour les méthodes de requête (
query.sources.list
,query.suggest
etquery.search
), procédez comme suit:Pour chaque application de recherche pour laquelle vous souhaitez activer la journalisation d'audit, récupérez le nom. Le nom doit être au format
searchapplications/<search_application_id>
.Utilisez le nom pour appeler
settings.searchapplications.update
avecenableAuditLog
défini surtrue
.
Pour activer la journalisation d'audit pour les appels provenant de
cloudsearch.google.com
, assurez-vous que la catégorie "Lecture des données" est activée (étape 4). En outre, effectuez l'étape 5b avec unname
desearchapplications/default
.
Une fois activés, les journaux peuvent être consultés dans la section "Explorateur de journaux" de la console Google Cloud. Utilisez le filtre suivant pour afficher uniquement les journaux d'audit Cloud Search:
protoPayload.serviceName="cloudsearch.googleapis.com"
Pour savoir comment afficher les journaux, consultez la page Présentation de l'explorateur de journaux.
Autorisations relatives aux journaux d'audit
Les autorisations et rôles IAM (gestion de l'authentification et des accès) 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 des activités d'administration, vous devez disposer d'un des rôles IAM suivants dans le projet qui contient vos journaux d'audit:
- Propriétaire de projet, éditeur de projet ou lecteur de projet
- Rôle Lecteur de journaux de Logging
- Rôle IAM personnalisé disposant de l'autorisation IAM
logging.logEntries.list
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 :
- Propriétaire du projet
- Rôle Lecteur des journaux privés de Logging
- Rôle IAM personnalisé disposant de l'autorisation IAM
logging.privateLogEntries.list
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.
Les noms de journaux d'audit sont indiqués ci-dessous. 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 Cloud Console pour récupérer les entrées du journal d'audit de votre projet Cloud:
Dans Cloud Console, accédez à la page Journaux > Explorateur de journaux.
Sur la page Explorateur de journaux, sélectionnez un projet Cloud existant.
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 sont pas visibles, 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 :
Accédez à la section Essayer cette API dans la documentation de la méthode
entries.list
.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" }
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 des journaux d'audit vers Cloud Storage, BigQuery ou Pub/Sub. Avec Pub/Sub, vous avez la possibilité d'exporter 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. Ces récepteurs permettent 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 d'accès aux données (lecture par l'administrateur, écriture des données et lecture des 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
La journalisation d'audit de Cloud Search présente les limites 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 la taille n'est pas réduite à 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 réponse ne sont pas consignés pour les méthodes
list()
,get()
etsuggest()
. Toutefois, les états de réponse sont disponibles.Seuls les appels d'API de requête à partir de
cloudsearch.google.com
(si activés) et les applications de recherche client sont consignés.Pour les appels
search()
, seulsQuery
,RequestOptions
etDataSourceRestriction
sont consignés dans la requête. Dans la réponse, seules l'URL et les métadonnées (source etobjectType
) de chaqueSearchResult
sont auditées.Les appels émis vers le backend Cloud Search et correspondant à l'exportation de données ne sont pas audités.