Cette page décrit les journaux d'audit créés par Firebase dans le cadre de Cloud Audit Logs :
Présentation
Les services Firebase rédigent des journaux d'audit pour vous aider à déterminer qui quoi, où et quand ?". Il s'agit Cloud Audit Logs, fournis dans le cadre projet Google Cloud associé à votre projet Firebase.
Chacun de vos projets Firebase contient uniquement les journaux d'audit des ressources directement dans le projet.
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 Firebase App Check:
-
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 pour l'accès aux données
Inclut les opérations de lecture administrateur qui lisent les métadonnées ou les informations de configuration. Ils comprennent également les opérations de lecture 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.
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 journal d'audit dans Firebase App Check :
Type d'autorisation | Méthodes |
---|---|
ADMIN_READ |
google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigs google.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigs google.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigs google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigs google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configs google.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigs google.firebase.appcheck.v1.ConfigService.GetAppAttestConfig google.firebase.appcheck.v1.ConfigService.GetDebugToken google.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfig google.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfig google.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfig google.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Config google.firebase.appcheck.v1.ConfigService.GetSafetyNetConfig google.firebase.appcheck.v1.ConfigService.GetService google.firebase.appcheck.v1.ConfigService.ListDebugTokens google.firebase.appcheck.v1.ConfigService.ListServices google.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigs google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configs google.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigs google.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfig google.firebase.appcheck.v1beta.ConfigService.GetDebugToken google.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfig google.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfig google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfig google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfig google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Config google.firebase.appcheck.v1beta.ConfigService.GetResourcePolicy google.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfig google.firebase.appcheck.v1beta.ConfigService.GetService google.firebase.appcheck.v1beta.ConfigService.ListDebugTokens google.firebase.appcheck.v1beta.ConfigService.ListResourcePolicies google.firebase.appcheck.v1beta.ConfigService.ListServices |
ADMIN_WRITE |
google.firebase.appcheck.v1.ConfigService.BatchUpdateServices google.firebase.appcheck.v1.ConfigService.CreateDebugToken google.firebase.appcheck.v1.ConfigService.DeleteDebugToken google.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfig google.firebase.appcheck.v1.ConfigService.UpdateDebugToken google.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfig google.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfig google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfig google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Config google.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfig google.firebase.appcheck.v1.ConfigService.UpdateService google.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePolicies google.firebase.appcheck.v1beta.ConfigService.BatchUpdateServices google.firebase.appcheck.v1beta.ConfigService.CreateDebugToken google.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicy google.firebase.appcheck.v1beta.ConfigService.DeleteDebugToken google.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicy google.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfig google.firebase.appcheck.v1beta.ConfigService.UpdateDebugToken google.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfig google.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfig google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfig google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfig google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Config google.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicy google.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfig google.firebase.appcheck.v1beta.ConfigService.UpdateService google.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken |
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'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 champprotoPayload
de l'entrée de journalUn objet (facultatif) de type "informations d'audit propres au service". Pour les intégrations plus anciennes, cet objet est conservé dans le champ
serviceData
de l'objetAuditLog
. Les intégrations plus récentes utilisent le champmetadata
.
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 Firebase ou un autre L'entité Google Cloud qui possède les journaux d'audit et indique si le journal contient Données des journaux d'audit des activités d'administration, des accès aux données, des refus de règles ou des é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 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 du service
firebaseappcheck.googleapis.com
Pour obtenir la liste complète des 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
Utilisation des journaux d'audit Firebase App Check
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 la section Types de ressources surveillées.
Activer la journalisation d'audit
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 des accès aux données sont désactivés par défaut et ne sont pas écrit à moins d'être explicitement activé (à l'exception des journaux d'audit des accès aux données BigQuery, qui ne peut pas être désactivé).
Pour savoir comment activer les journaux d'audit des accès aux données, consultez la page 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 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 avez juste ce rôle, vous ne pouvez pas afficher les journaux d'audit des accès aux données qui se trouvent dans le_Default
bucket.Le rôle Lecteur de journaux privés (
(roles/logging.privateLogViewer
) inclut les autorisations contenues dansroles/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 Cloud IAM qui s'appliquent aux données des journaux d'audit, consultez la page Contrôle des accès.
Afficher les journaux
Pour rechercher et afficher les journaux d'audit, vous devez connaître l'identifiant
Projet, dossier ou organisation Firebase que vous souhaitez afficher
les informations des journaux d'audit. Vous pouvez également spécifier d'autres champs LogEntry
indexés, comme resource.type
. Pour en savoir plus, consultez la section Trouver des entrées de journal rapidement.
Voici les noms des journaux d'audit : ils incluent des variables pour 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
la console Google Cloud, l'outil de ligne de commande gcloud
ou l'API Logging.
Vous pouvez utiliser l'explorateur de journaux dans la console Google Cloud pour récupérer les entrées des journaux d'audit de vos projets, dossiers et journaux Firebase ou l'organisation:
Dans la console Google Cloud, accédez à Journalisation > Explorateur de journaux.
Sur la page Explorateur de journaux, sélectionnez un fichier projet, dossier ou organisation Firebase.
Dans le volet Générateur de requêtes, 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.
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 Firebase.
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 de journal.
L'outil de ligne de commande gcloud
fournit une interface de ligne de commande à l'API Cloud 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 Firebase, exécutez la commande suivante : 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 plus d'informations sur l'utilisation de l'outil gcloud
, consultez la page Lire des entrées de journal.
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, le L'identifiant de projet que vous fournissez doit faire référence à l'identifiant actuellement sélectionné projet Firebase.
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 Exemple d'entrée de journal d'audit.
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 vous pouvez acheminer des copies de vos journaux d'audit vers Google Cloud Storage, BigQuery ou Google Cloud Pub/Sub. En utilisant Cloud Pub/Sub, vous pouvez acheminer vos requêtes vers d'autres applications, aux référentiels et à des tiers.
Pour gérer les journaux d'audit à l'échelle de votre organisation, vous pouvez créer récepteurs agrégés qui peuvent d'acheminer les journaux de tout ou partie des projets Firebase de l'organisation.
- Si les journaux d'audit des accès aux données que vous avez activés transfèrent des projets Firebase au-delà de vos quotas d'attribution de journaux, vous pouvez créer des récepteurs exclure les journaux d'audit des accès aux données de Logging.
Pour obtenir des instructions sur le routage des journaux, consultez la page Configurer des récepteurs.
Tarifs
les journaux d'audit pour les activités d'administration ; Les journaux d'audit pour les événements système sont disponibles sans frais.
Les journaux d'audit pour l'accès aux données et les journaux d'audit des refus de règles sont payants.
Pour en savoir plus sur les tarifs de Cloud Logging, consultez la page Tarifs de la suite Google Cloud Operations : Cloud Logging.