Skip to main content

Examen du journal d’audit de votre organisation

Le journal d’audit permet aux administrateurs de l’organisation d’examiner rapidement les actions effectuées par les membres de votre organisation. Il comprend des informations telles que l’auteur, la nature et la date d’exécution de l’action.

Accès au journal d’audit

Remarque

Les webhooks peuvent être une bonne alternative au journal d’audit ou à l’interrogation d’API pour certains cas d'utilisation. Les webhooks sont un moyen pour GitHub de notifier votre serveur lorsque des événements spécifiques se produisent pour un référentiel, une organisation ou une entreprise. Par rapport à l’API ou à la recherche dans le journal d’audit, les webhooks peuvent être plus efficaces si vous souhaitez simplement apprendre et éventuellement journaliser quand certains événements se produisent sur votre entreprise, organisation ou référentiel. Consultez Documentation sur les webhooks.

Le journal d’audit répertorie les événements déclenchés par les activités qui ont affecté votre organisation au cours des 180 derniers jours. Seuls les propriétaires peuvent accéder au journal d’audit d’une organisation.

Par défaut, seuls les événements des trois derniers mois sont affichés. Pour voir les événements plus anciens, vous devez spécifier une plage de dates avec le paramètre created. Consultez Compréhension de la syntaxe de recherche.

  1. Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.
  2. En regard de l’organisation, cliquez sur Paramètres.
  3. Dans la section « Archive » de la barre latérale, cliquez sur Logs, puis sur Journal d’Audit.

Recherche dans le journal d’audit

Le nom de chaque entrée dans le journal d’audit est composé du qualificateur d’objet ou de catégorie, suivi d’un type d’opération. Par exemple, l’entrée repo.create fait référence à l’opération create sur la catégorie repo.

Chaque entrée du journal d’audit présente les informations applicables sur un événement, comme :

  • L’entreprise ou organisation dans laquelle une action a été effectuée
  • L’utilisateur (acteur) qui a effectué l’action
  • L’utilisateur affecté par l’action
  • Le dépôt dans lequel une action a été effectuée
  • L'action qui a été effectuée
  • Le pays où l’action a eu lieu
  • Date et heure à laquelle l’action s’est produite
  • L'identité SAML SSO et SCIM de l'utilisateur (acteur) qui a effectué l'action
  • Pour les actions en dehors de l’interface IU web, comment l’utilisateur (acteur) s’est authentifié
  • Si vous le souhaitez, l’adresse IP source de l’utilisateur (acteur) qui a effectué l’action

Notez que vous ne pouvez pas rechercher d’entrées avec du texte. Toutefois, vous pouvez construire des requêtes de recherche à l’aide d’une variété de filtres. De nombreux opérateurs utilisés lors de la requête du journal, par exemple -, > ou <, ont le même format que pour la recherche dans GitHub. Pour plus d’informations, consultez « À propos de la recherche sur GitHub ».

Recherche basée sur l’opération

Utilisez le qualificateur operation pour limiter les actions à des types d’opérations spécifiques. Par exemple :

  • operation:access recherche tous les événements au cours desquels une ressource a été utilisée.
  • operation:authentication recherche tous les événements au cours desquels un événement d’authentification a eu lieu.
  • operation:create recherche tous les événements au cours desquels une ressource a été créée.
  • operation:modify recherche tous les événements au cours desquels une ressource existante a été modifiée.
  • operation:remove recherche tous les événements au cours desquels une ressource existante a été supprimée.
  • operation:restore recherche tous les événements au cours desquels une ressource existante a été restaurée.
  • operation:transfer recherche tous les événements au cours desquels une ressource existante a été transférée.

Recherche en fonction du dépôt

Utilisez le qualificateur repo pour limiter les actions à un dépôt spécifique. Par exemple :

  • repo:my-org/our-repo recherche tous les événements qui se sont produits pour le dépôt our-repo dans l’organisation my-org.
  • repo:my-org/our-repo repo:my-org/another-repo recherche tous les événements qui se sont produits pour les dépôts our-repo et another-repo dans l’organisation my-org.
  • -repo:my-org/not-this-repo exclut tous les événements qui se sont produits pour le dépôt not-this-repo dans l’organisation my-org.

Notez que vous devez inclure le nom de compte dans le qualificateur repo. La recherche de repo:our-repo uniquement ne fonctionne pas.

Rechercher en fonction de l’acteur

Le actor qualificateur peut étendre les événements en fonction de la personne ou de l’agent qui a effectué l’action. Par exemple :

  •         `actor:octocat` recherche tous les événements effectués par `octocat`.
    
  •         `actor:octocat actor:Copilot` recherche tous les événements effectués par `octocat` ou `Copilot`.
    
  •         `-actor:Copilot` exclut tous les événements effectués par `Copilot`.
    

Notez que vous pouvez uniquement utiliser un nom d’utilisateur GitHub, et non le nom réel d’une personne.

Recherche basée sur l’action effectuée

Pour rechercher des événements spécifiques, utilisez le qualificateur action dans votre requête. Les actions listées dans le journal d’audit sont regroupées en différentes catégories. Pour obtenir la liste complète des événements de chaque catégorie, consultez Événements du journal d’audit pour votre organisation.

Nom de la catégorieDescription
accountContient toutes les activités liées au compte de votre organisation.
advisory_creditContient toutes les activités liées à l’attribution d’un crédit à un contributeur pour un avis de sécurité dans GitHub Advisory Database. Pour plus d’informations, consultez « À propos des avis de sécurité des référentiels ».
auto_approve_personal_access_token_requestsContient les activités liées à la stratégie d’approbation de votre organisation pour les fine-grained personal access token. Pour plus d’informations, consultez « Définition d’une stratégie de jeton d’accès personnel pour votre organisation ».
billingContient toutes les activités liées à la facturation de votre organisation.
businessContient des activités liées aux paramètres métier d’une entreprise.
code-scanningContient toutes les activités liées aux alertes d’analyse de code de votre organisation.
codespacesContient toutes les activités liées aux codespaces de votre organisation.
copilotContient toutes les activités liées à votre abonnement GitHub Copilot Business ou GitHub Copilot Enterprise.
dependabot_alertsContient des activités de configuration au niveau de l’organisation pour Dependabot alerts dans des référentiels existants. Pour plus d’informations, consultez « À propos des alertes Dependabot ».
dependabot_alerts_new_reposContient les activités de configuration au niveau de l’organisation pour Dependabot alerts dans les nouveaux référentiels créés dans l’organisation.
dependabot_security_updatesContient des activités de configuration au niveau de l’organisation pour Dependabot security updates dans des référentiels existants. Pour plus d’informations, consultez « Configuration des mises à jour de sécurité Dependabot ».
dependabot_security_updates_new_reposContient des activités de configuration au niveau de l’organisation pour Dependabot security updates pour les nouveaux référentiels créés dans l’organisation.
dependency_graphContient des activités de configuration au niveau de l’organisation pour les graphes des dépendances des référentiels. Pour plus d’informations, consultez « À propos du graphe de dépendances ».
dependency_graph_new_reposContient des activités de configuration au niveau de l’organisation pour les nouveaux référentiels créés dans l’organisation.
discussion_postContient toutes les activités liées aux discussions publiées sur une page d’équipe.
discussion_post_replyContient toutes les activités liées aux réponses aux discussions publiées sur une page d’équipe.
enterpriseContient des activités liées aux paramètres d’entreprise.
hookContient toutes les activités liées aux webhooks.
integration_installationContient des activités liées aux intégrations installées dans un compte.
integration_installation_requestContient toutes les activités liées aux requêtes des membres de l’organisation visant à ce que les propriétaires approuvent les intégrations à utiliser dans l’organisation.
ip_allow_listContient des activités liées à l’activation ou à la désactivation de la liste adresses IP autorisées pour une organisation.
ip_allow_list_entryContient des activités liées à la création, à la suppression et à la modification d’une entrée de la liste adresses IP autorisées pour une organisation.
issueContient des activités liées à la suppression d’un problème.
marketplace_agreement_signatureContient toutes les activités liées à la signature du contrat de développeur GitHub Marketplace.
marketplace_listingContient toutes les activités liées à la liste des applications dans GitHub Marketplace.
members_can_create_pagesContient toutes les activités liées à la gestion de la publication des sites GitHub Pages pour les référentiels de l’organisation. Pour plus d’informations, consultez « Gestion de la publication de sites GitHub Pages pour votre organisation ».
orgContient des activités liées à l’abonnement à l’organisation.
org_credential_authorizationContient toutes les activités liées à l’autorisation des identifiants pour l’authentification unique SAML.
org_secret_scanning_automatic_validity_checksContient les activités au niveau de l’organisation liées à l’activation et à la désactivation des vérifications de validité automatiques pour secret scanning. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d'analyse pour votre organisation ».
org_secret_scanning_custom_patternContient les activités au niveau de l’organisation liées aux modèles personnalisés secret scanning. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».
organization_default_labelContient toutes les activités liées aux étiquettes par défaut pour les référentiels de votre organisation.
oauth_applicationContient toutes les activités en rapport avec OAuth apps.
packagesContient toutes les activités liées au GitHub Packages.
payment_methodContient toutes les activités liées à la façon dont votre organisation paie pour GitHub.
personal_access_tokenContient les activités liées aux fine-grained personal access tokens dans votre organisation. Pour plus d’informations, consultez « Gestion de vos jetons d’accès personnels ».
profile_pictureContient toutes les activités liées à l’image de profil de l’organisation.
projectContient toutes les activités liées aux projects.
protected_branchContient toutes les activités liées aux branches protégées.
repoContient les activités liées aux dépôts appartenant à votre organisation.
repository_advisoryContient les activités au niveau du référentiel liées aux avis de sécurité dans GitHub Advisory Database. Pour plus d’informations, consultez « À propos des avis de sécurité des référentiels ».
repository_content_analysisContient toutes les activités liées à l’activation ou à la désactivation de l’utilisation de données d’un référentiel privé. Pour plus d’informations, consultez « Gestion des paramètres de sécurité et d’analyse pour votre dépôt ».
repository_dependency_graphContient les activités au niveau du référentiel liées à l’activation ou la désactivation du graphe des dépendances pour un référentiel privé. Pour plus d’informations, consultez « À propos du graphe de dépendances ».
repository_secret_scanningContient les activités au niveau du référentiel liées à secret scanning. Pour plus d’informations, consultez « À propos de l’analyse des secrets ».
repository_secret_scanning_automatic_validity_checksContient les activités au niveau du référentiel liées à l’activation et à la désactivation des vérifications de validité automatiques pour secret scanning. Pour plus d’informations, consultez « Activation de l’analyse des secrets pour votre dépôt ».
repository_secret_scanning_custom_patternContient les activités au niveau du référentiel liées aux modèles personnalisés secret scanning. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».
repository_secret_scanning_custom_pattern_push_protectionContient les activités au niveau du référentiel liées à la protection push d’un modèle personnalisé pour secret scanning. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».
repository_secret_scanning_push_protectionContient les activités au niveau du référentiel liées à la protection push secret scanning. Pour plus d’informations, consultez « À propos de la protection lors du push ».
repository_vulnerability_alertContient toutes les activités liées aux Dependabot alerts.
repository_vulnerability_alertsContient des activités de configuration au niveau du référentiel pour les Dependabot alerts.
roleContient toutes les activités liées aux rôles de référentiel personnalisés.
secret_scanningContient des activités de configuration au niveau de l’organisation pour secret scanning dans les référentiels existants. Pour plus d’informations, consultez « À propos de l’analyse des secrets ».
secret_scanning_new_reposContient des activités de configuration au niveau de l’organisation pour secret scanning pour les nouveaux référentiels créés dans l’organisation.
restore_memberDéclenché lorsque le propriétaire d’organisation réintègre un membre. Pour plus d’informations, consultez « Réactivation d’un ancien membre de votre organisation ».
sponsorsContient tous les événements liés aux boutons de parrainage (consultez Affichage d’un bouton Sponsor dans votre dépôt)
teamContient toutes les activités liées aux équipes de votre organisation.
workflowsContient les activités liées aux flux de travail GitHub Actions.

Vous pouvez rechercher des ensembles d’actions spécifiques à l’aide de ces termes. Par exemple :

  •         `action:team` recherche tous les événements regroupés dans la catégorie d'équipe.
    
  •         `-action:hook` exclut tous les événements de la catégorie webhook.
    

Chaque catégorie a un ensemble d’actions associées sur lesquelles vous pouvez filtrer. Par exemple :

  •         `action:team.create` recherche tous les événements ayant impliqué la création d’une équipe.
    
  •         `-action:hook.events_changed` exclut tous les événements ayant impliqué la modification des événements sur un webhook.
    

Recherche basée sur l’heure de l’action

Utilisez le qualificateur created pour filtrer les événements du journal d’audit en fonction du moment où ils se sont produits. La mise en forme de la date doit respecter la norme ISO8601, à savoir YYYY-MM-DD (année, mois, jour). Vous pouvez également ajouter des informations facultatives d’heure THH:MM:SS+00:00 après la date, pour rechercher par heure, minute et seconde. Il s’agit de T, suivi de HH:MM:SS (heures-minutes-secondes) et d’un décalage UTC (+00:00).

Lorsque vous recherchez une date, vous pouvez utiliser des qualificateurs supérieur à, inférieur à et de plage pour filtrer davantage les résultats. Pour plus d’informations, consultez « Compréhension de la syntaxe de recherche ».

Par exemple :

  •         `created:2014-07-08` recherche tous les événements qui se sont produits le 8 juillet 2014.
    
  •         `created:>=2014-07-08` recherche tous les événements qui se sont produits le 8 juillet 2014 ou après cette date.
    
  •         `created:<=2014-07-08` recherche tous les événements qui se sont produits le 8 juillet 2014 ou avant cette date.
    
  •         `created:2014-07-01..2014-07-31` recherche tous les événements qui se sont produits en juillet 2014.
    

Remarque

Le journal d’audit contient les données des 180 derniers jours.

Recherche basée sur l’emplacement

À l’aide du qualificateur country, vous pouvez filtrer les événements du journal d’audit en fonction du pays d’origine. Vous pouvez utiliser le code court à deux lettres ou le nom complet d’un pays. Gardez à l’esprit que les pays dont le nom contient des espaces doivent être placés entre guillemets. Par exemple :

  •         `country:de` recherche tous les événements qui se sont produits en Allemagne.
    
  •         `country:Mexico` recherche tous les événements qui se sont produits au Mexique.
    
  •         `country:"United States"` recherche tous les événements qui se sont produits aux États-Unis.
    

Rechercher en fonction du jeton d’accès

Vous pouvez identifier tous les événements qui ont été effectués par un jeton d’accès spécifique. Pour plus d’informations, consultez « Identification des événements du journal d’audit effectués par un jeton d’accès ».

Exportation du journal d’audit

Vous pouvez exporter le journal sous forme de données JSON ou en tant que fichier CSV (valeurs séparées par des virgules) à l’aide du menu déroulant Exporter.

Pour filtrer les résultats de votre exportation, effectuez une recherche en fonction d’un ou de plusieurs des qualificateurs pris en charge avant d’utiliser le menu déroulant Exporter.

QualificateurValeur d'exemple
actionteam.create
actoroctocat
usercodertocat
orgocto-org
repoocto-org/documentation
created2019-06-01

Remarque

Lorsque vous exportez des événements Git, les événements lancés via le navigateur web ou les API REST ou GraphQL ne sont pas inclus. Par exemple, lorsqu’un utilisateur fusionne une demande de tirage dans le navigateur web, les modifications sont poussées vers la branche de base, mais l’événement Git pour cette poussée n’est pas inclus dans l’exportation.

Après avoir exporté le journal, vous verrez les clés et valeurs suivantes dans le fichier qui en résulte.

CléValeur d'exemple
actionteam.create
actoroctocat
usercodertocat
actor_location.country_codeUS
orgocto-org
repoocto-org/documentation
created_at1429548104000 (Timestamp indique le temps écoulé depuis l’époque, en millisecondes).
data.emailoctocat@nowhere.com
data.hook_id245
data.events["issues", "issue_comment", "pull_request", "pull_request_review_comment"]
data.events_were["push", "pull_request", "issues"]
data.target_loginoctocat
data.old_userhubot
data.teamocto-org/engineering

Utilisation de l’API de journal d’audit

Vous pouvez interagir avec le journal d’audit à l’aide de l’API GraphQL ou de l’API REST. Vous pouvez utiliser l'étendue read:audit_log pour accéder au journal d'audit via les API.

Remarque

Pour utiliser l’API de journal d’audit, votre organisation doit utiliser GitHub Enterprise Cloud. Pour plus d’informations sur la façon d’essayer gratuitement GitHub Enterprise Cloud, consultez Configuration d’un essai de GitHub Enterprise Cloud.

Utilisation de l’API GraphQL

Pour garantir la sécurité de votre propriété intellectuelle et assurer la conformité de votre organisation, vous pouvez utiliser l’API GraphQL de journal d’audit pour conserver des copies de vos données de journal d’audit et superviser : * L’accès aux paramètres de votre organisation ou de votre dépôt.

  • Les modifications des autorisations.
  • Les utilisateurs ajoutés ou supprimés dans une organisation, un dépôt ou une équipe.
  • Les utilisateurs promus en administrateurs
  • Modifications dans les autorisations d'une GitHub App
  • Demandes API (doivent être activées)

Notez que vous ne pouvez pas récupérer les événements Git avec l’API GraphQL. Pour récupérer des événements Git, utilisez plutôt l’API REST. Pour plus d’informations, consultez gitActions de catégorie .

La réponse GraphQL peut inclure des données allant jusqu’à 90 à 120 jours.

Par exemple, vous pouvez effectuer une demande GraphQL pour afficher tous les nouveaux membres de l’organisation ajoutés à votre organisation. Pour plus d’informations, consultez Interfaces.

En utilisant l’API REST

Pour garantir la sécurité de votre propriété intellectuelle et la conformité de votre organisation, vous pouvez utiliser l’API REST du journal d’audit pour conserver des copies de vos données de journal d’audit. Pour plus d’informations sur les événements spécifiques auxquels vous pouvez accéder à l’aide de l’API REST, consultez Événements du journal d’audit pour votre organisation.

Le journal d’audit conserve les événements Git pendant sept jours. Cette période est plus courte que les autres événements du journal d'audit, qui peuvent être conservés jusqu'à sept mois.

Par défaut, seuls les événements des trois derniers mois sont retournés. Pour inclure des événements plus anciens, vous devez spécifier un horodatage dans votre requête.

Lorsque vous utilisez l'API REST pour rechercher des événements Git, les événements initiés via le navigateur Web ou les REST ou GraphQL ne sont pas inclus. Par exemple, lorsque vous fusionnez une pull request dans le navigateur Web, les modifications sont poussées vers la branche de base, mais l'événement Git pour ce push n'est pas inclus dans la réponse.

Pour plus d’informations sur l’API REST de journal d’audit, consultez Points de terminaison d’API REST pour les organisations.

Pour aller plus loin

  •           [AUTOTITLE](/organizations/keeping-your-organization-secure)
    
  •         [AUTOTITLE](/organizations/managing-membership-in-your-organization/exporting-member-information-for-your-organization)