Journalisation d'audit pour Firebase App Check

Cette page décrit les journaux d'audit créés par Firebase dans le cadre de Cloud Audit Logs .

Aperçu

Les services Firebase écrivent des journaux d'audit pour vous aider à répondre aux questions : "Qui a fait quoi, où et quand ?". Il s'agit des journaux d'audit Cloud, fournis dans le cadre du projet Google Cloud connecté à votre projet Firebase .

Vos projets Firebase ne contiennent chacun que les journaux d'audit des ressources qui se trouvent directement dans le projet.

Pour une présentation générale des journaux d'audit Cloud, consultez Présentation des journaux d' audit Cloud . Pour une compréhension plus approfondie du format du journal d'audit, voir Comprendre les journaux d'audit .

Journaux d'audit disponibles

Les types de journaux d'audit suivants sont disponibles pour Firebase App Check :

  • Journaux d'audit des activités d'administration

    Inclut les opérations « admin write » qui écrivent des métadonnées ou des informations de configuration.

    Vous ne pouvez pas désactiver les journaux d'audit des activités d'administration.

  • Journaux d'audit d'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 d'accès aux données, vous devez les activer explicitement .

Pour des descriptions plus complètes des types de journaux d'audit, voir Types de journaux d'audit .

Opérations auditées

Voici un récapitulatif des opérations d'API correspondant à chaque type de journal d'audit dans Firebase App Check :

Catégorie des journaux d'audit Opérations Firebase App Check
Opérations du projet
Activité d'administration Service de mise à jour
BatchUpdateServices
Accès aux données (ADMIN_READ) ObtenirService
ListServices
Opérations d'application
Activité d'administration UpdateAppAttestConfig
UpdateDeviceCheckConfig
UpdatePlayIntegrityConfig
UpdateRecaptchaEnterpriseConfig
Mettre à jourRecaptchaV3Config
Mettre à jourSafetyNetConfig
CreateDebugToken
Mettre à jour le jeton de débogage
SupprimerDebugToken
Accès aux données (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
GetDeviceCheckConfig
BatchGetDeviceCheckConfigs
GetPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
GetRecaptchaV3Config
BatchGetRecaptchaV3Configs
GetSafetyNetConfig
BatchGetSafetyNetConfigs
GetDebugToken
ListDebugTokens

Format du journal d'audit

Les entrées du journal d'audit incluent les objets suivants :

  • L'entrée de journal elle-même, qui est un objet de type LogEntry . Les champs utiles incluent les suivants :

    • Le logName contient l'ID de ressource et le type de journal d'audit.
    • La resource contient la cible de l'opération auditée.
    • L' timeStamp contient l'heure de l'opération auditée.
    • Le protoPayload contient les informations auditées.
  • Les données de journalisation d'audit, qui sont un objet AuditLog dans le champ protoPayload de l'entrée de journal.

  • Informations d'audit facultatives spécifiques au service, qui sont un objet spécifique au service. Pour les intégrations plus anciennes, cet objet est contenu dans le champ serviceData de l'objet AuditLog ; les nouvelles intégrations utilisent le champ de metadata .

Pour les autres champs de ces objets et la manière de les interpréter, consultez Comprendre les journaux d'audit .

Nom du journal

Les noms des ressources des journaux d'audit Cloud indiquent le projet Firebase ou une autre entité Google Cloud qui possède les journaux d'audit, et si le journal contient des données de journalisation d'audit d'activité d'administration, d'accès aux données, de stratégie refusée ou d'événement système. Par exemple, ce qui suit montre les noms des journaux pour les journaux d'audit des activités d'administration au niveau du projet et les journaux d'audit d'accès aux données d'une organisation. Les variables indiquent les identifiants de projet et d'organisation Firebase.

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

Nom du service

Les journaux d'audit Firebase App Check utilisent le nom de service firebaseappcheck.googleapis.com .

Pour obtenir la liste complète de tous les noms de service de l'API Cloud Logging et leur type de ressource surveillée correspondant, consultez Mapper les services aux ressources .

Types de ressources

Les journaux d'audit Firebase App Check utilisent le type de ressource audited_resource pour tous les journaux d'audit.

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

Activer la journalisation d'audit

Les journaux d'audit des activités d'administration sont toujours activés ; vous ne pouvez pas les désactiver.

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

Pour obtenir des instructions sur l'activation de tout ou partie de vos journaux d'audit d'accès aux données, consultez Configurer les journaux d'accès aux données .

Autorisations et rôles

Les autorisations et les rôles Cloud 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 des rôles spécifiques à Logging qui s'appliquent à votre cas d'utilisation, tenez compte des points suivants :

  • Le rôle de visionneuse de journaux ( roles/logging.viewer ) vous donne un accès en lecture seule aux journaux d'audit des activités d'administration, des politiques refusées 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 _Default .

  • Le rôle de visionneuse de journaux privés (roles/logging.privateLogViewer ) inclut les autorisations contenues dans roles/logging.viewer , ainsi que la possibilité de lire les journaux d'audit d'accès aux données dans le _Default .

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

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

Regardes les connexions

Pour rechercher et afficher les journaux d'audit, vous devez connaître l'identifiant du projet, du dossier ou de l'organisation Firebase pour lequel vous souhaitez afficher les informations de journalisation d'audit. Vous pouvez également spécifier d'autres champs LogEntry indexés, comme resource.type ; pour plus de détails, consultez Rechercher rapidement les entrées du journal .

Voici les noms des journaux d'audit ; ils incluent des variables pour les identifiants du projet, du dossier ou de l'organisation Firebase :

   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

Vous pouvez afficher les journaux d'audit dans Cloud Logging à l'aide de la console GCP, de l'outil de ligne de commande gcloud ou de l'API Logging.

Console

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

  1. Dans la console GCP, accédez à la page Journalisation > Explorateur de journaux .

    Accédez à la page de l'explorateur de journaux

  2. Sur la page de l' explorateur de journaux , sélectionnez un projet, un dossier ou une organisation Firebase existant.

  3. Dans le volet de l'éditeur de requête , 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 des activités d'administration, sélectionnez activity .
      • Pour les journaux d'audit d'accès aux données, sélectionnez data_access .
      • Pour les journaux d'audit des événements système, sélectionnez system_event .
      • Pour Journaux d'audit de stratégie refusée, sélectionnez stratégie .

    Si vous ne voyez pas ces options, aucun journal d'audit de ce type n'est disponible dans le projet, le dossier ou l'organisation Firebase.

    Pour plus d'informations sur les requêtes à l'aide de l'explorateur de journaux, consultez Créer des requêtes de journal .

gcloud

L'outil de ligne de commande gcloud fournit une interface de ligne de commande à l'API Cloud Logging. Indiquez un PROJECT_ID , FOLDER_ID ou ORGANIZATION_ID valide dans chacun des noms de journal.

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

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

Pour lire les entrées du journal d'audit au niveau du 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 du 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 plus d'informations sur l'utilisation de l'outil gcloud , consultez Lire les entrées de journal .

API

Lors de la création de vos requêtes, remplacez les variables par des valeurs valides, remplacez le nom ou les identifiants de journal d'audit appropriés au niveau du projet, du dossier ou de l'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 Firebase actuellement sélectionné.

Pour utiliser l'API Logging afin d'examiner les entrées de votre journal d'audit, procédez comme suit :

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

  2. Mettez ce qui suit dans la partie corps de la requête du formulaire Essayez cette API . Cliquer sur ce formulaire pré -rempli remplit automatiquement le corps de la requête, mais vous devez fournir un PROJECT_ID valide dans chacun des noms de journal.

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

Pour plus de détails sur les requêtes, voir Langage de requête de journalisation .

Pour obtenir un exemple d'entrée de journal d'audit et savoir comment y trouver les informations les plus importantes, voir Exemple d'entrée de journal d'audit .

Acheminer les journaux d'audit

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

  • Pour conserver les journaux d'audit plus longtemps ou pour utiliser des fonctionnalités de recherche plus puissantes, vous pouvez acheminer des copies de vos journaux d'audit vers Google Cloud Storage, BigQuery ou Google Cloud Pub/Sub. À l'aide de Cloud Pub/Sub, vous pouvez router vers d'autres applications, d'autres référentiels et des tiers.

  • Pour gérer vos journaux d'audit dans l'ensemble d'une organisation, vous pouvez créer des récepteurs agrégés qui peuvent acheminer les journaux d'un ou de tous les projets Firebase de l'organisation.

  • Si vos journaux d'audit d'accès aux données activés poussent vos projets Firebase au-delà de vos allocations de journaux, vous pouvez créer des récepteurs qui excluent les journaux d'audit d'accès aux données de Logging.

Pour obtenir des instructions sur le routage des journaux, consultez Configurer les récepteurs .

Tarification

Les journaux d' audit des activités d'administration et les journaux d'audit des événements système sont gratuits.

Les journaux d' audit d'accès aux données et les journaux d'audit de politique refusée sont payants.

Pour plus d'informations sur les tarifs de Cloud Logging, consultez Tarification de la suite d'opérations Google Cloud : Cloud Logging .