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.
- Dans le coin supérieur droit de GitHub, cliquez sur votre photo de profil, puis sur Vos organisations.
- En regard de l’organisation, cliquez sur Paramètres.
- 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:accessrecherche tous les événements au cours desquels une ressource a été utilisée.operation:authenticationrecherche tous les événements au cours desquels un événement d’authentification a eu lieu.operation:createrecherche tous les événements au cours desquels une ressource a été créée.operation:modifyrecherche tous les événements au cours desquels une ressource existante a été modifiée.operation:removerecherche tous les événements au cours desquels une ressource existante a été supprimée.operation:restorerecherche tous les événements au cours desquels une ressource existante a été restaurée.operation:transferrecherche 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-reporecherche tous les événements qui se sont produits pour le dépôtour-repodans l’organisationmy-org.repo:my-org/our-repo repo:my-org/another-reporecherche tous les événements qui se sont produits pour les dépôtsour-repoetanother-repodans l’organisationmy-org.-repo:my-org/not-this-repoexclut tous les événements qui se sont produits pour le dépôtnot-this-repodans l’organisationmy-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égorie | Description |
|---|---|
account | Contient toutes les activités liées au compte de votre organisation. |
advisory_credit | Contient 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_requests | Contient 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 ». |
billing | Contient toutes les activités liées à la facturation de votre organisation. |
business | Contient des activités liées aux paramètres métier d’une entreprise. |
code-scanning | Contient toutes les activités liées aux alertes d’analyse de code de votre organisation. |
codespaces | Contient toutes les activités liées aux codespaces de votre organisation. |
copilot | Contient toutes les activités liées à votre abonnement GitHub Copilot Business ou GitHub Copilot Enterprise. |
dependabot_alerts | Contient 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_repos | Contient 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_updates | Contient 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_repos | Contient 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_graph | Contient 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_repos | Contient des activités de configuration au niveau de l’organisation pour les nouveaux référentiels créés dans l’organisation. |
discussion_post | Contient toutes les activités liées aux discussions publiées sur une page d’équipe. |
discussion_post_reply | Contient toutes les activités liées aux réponses aux discussions publiées sur une page d’équipe. |
enterprise | Contient des activités liées aux paramètres d’entreprise. |
hook | Contient toutes les activités liées aux webhooks. |
integration_installation | Contient des activités liées aux intégrations installées dans un compte. |
integration_installation_request | Contient 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_list | Contient des activités liées à l’activation ou à la désactivation de la liste adresses IP autorisées pour une organisation. |
ip_allow_list_entry | Contient 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. |
issue | Contient des activités liées à la suppression d’un problème. |
marketplace_agreement_signature | Contient toutes les activités liées à la signature du contrat de développeur GitHub Marketplace. |
marketplace_listing | Contient toutes les activités liées à la liste des applications dans GitHub Marketplace. |
members_can_create_pages | Contient 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 ». |
org | Contient des activités liées à l’abonnement à l’organisation. |
org_credential_authorization | Contient toutes les activités liées à l’autorisation des identifiants pour l’authentification unique SAML. |
org_secret_scanning_automatic_validity_checks | Contient 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_pattern | Contient 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_label | Contient toutes les activités liées aux étiquettes par défaut pour les référentiels de votre organisation. |
oauth_application | Contient toutes les activités en rapport avec OAuth apps. |
packages | Contient toutes les activités liées au GitHub Packages. |
payment_method | Contient toutes les activités liées à la façon dont votre organisation paie pour GitHub. |
personal_access_token | Contient 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_picture | Contient toutes les activités liées à l’image de profil de l’organisation. |
project | Contient toutes les activités liées aux projects. |
protected_branch | Contient toutes les activités liées aux branches protégées. |
repo | Contient les activités liées aux dépôts appartenant à votre organisation. |
repository_advisory | Contient 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_analysis | Contient 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_graph | Contient 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_scanning | Contient 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_checks | Contient 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_pattern | Contient 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_protection | Contient 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_protection | Contient 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_alert | Contient toutes les activités liées aux Dependabot alerts. |
repository_vulnerability_alerts | Contient des activités de configuration au niveau du référentiel pour les Dependabot alerts. |
role | Contient toutes les activités liées aux rôles de référentiel personnalisés. |
secret_scanning | Contient 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_repos | Contient 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_member | Dé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 ». |
sponsors | Contient tous les événements liés aux boutons de parrainage (consultez Affichage d’un bouton Sponsor dans votre dépôt) |
team | Contient toutes les activités liées aux équipes de votre organisation. |
workflows | Contient 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.
| Qualificateur | Valeur d'exemple |
|---|---|
action | team.create |
actor | octocat |
user | codertocat |
org | octo-org |
repo | octo-org/documentation |
created | 2019-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 |
|---|---|
action | team.create |
actor | octocat |
user | codertocat |
actor_location.country_code | US |
org | octo-org |
repo | octo-org/documentation |
created_at | 1429548104000 (Timestamp indique le temps écoulé depuis l’époque, en millisecondes). |
data.email | octocat@nowhere.com |
data.hook_id | 245 |
data.events | ["issues", "issue_comment", "pull_request", "pull_request_review_comment"] |
data.events_were | ["push", "pull_request", "issues"] |
data.target_login | octocat |
data.old_user | hubot |
data.team | octo-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)