Zugriff auf das Auditprotokoll
Note
Webhooks sind für bestimmte Anwendungsfälle möglicherweise eine gute Alternative zum Überwachungsprotokoll oder API-Abruf. Webhooks sind eine Möglichkeit für GitHub, Ihren Server zu benachrichtigen, wenn bestimmte Ereignisse für ein Repository, eine Organisation oder ein Enterprise auftreten. Im Vergleich zu der API oder dem Durchsuchen des Überwachungsprotokolls können Webhooks effizienter sein, wenn Sie nur erfahren und möglicherweise protokollieren möchten, wann bestimmte Ereignisse in Ihrem Enterprise, Ihrer Organisation oder ihrem Repository auftreten. Weitere Informationen finden Sie unter „Webhooks-Dokumentation“.
Im Überwachungsprotokoll sind Ereignisauslöser von Aktivitäten aufgeführt, , die sich in den letzten 180 Tagen auf deine Organization ausgewirkt haben. Nur Organisationsinhaber können auf das Auditprotokoll einer Organisation zugreifen.
Standardmäßig werden nur Ereignisse aus den letzten drei Monaten angezeigt. Um ältere Ereignisse anzuzeigen, musst du einen Datumsbereich mit dem created
-Parameter angeben. Weitere Informationen finden Sie unter „Grundlagen der Suchsyntax“.
- Wählen Sie in der oberen rechten Ecke von GitHub Ihr Profilfoto aus, und klicken Sie dann auf Ihre Organisationen.
- Klicke neben der Organisation auf Einstellungen.
- Klicken Sie auf der Randleiste im Abschnitt „Archiv“ auf Protokolle und dann auf Überwachungsprotokoll.
Auditprotokoll durchsuchen
Der Name für jeden Überwachungsprotokolleintrag besteht aus einer Kategorie von Ereignissen gefolgt von einem Vorgangstyp. Der Eintrag repo.create
verweist beispielsweise auf den Vorgang create
in der Kategorie repo
.
Jeder Eintrag im Auditprotokoll zeigt die zutreffenden Informationen zu einem Ereignis an, beispielsweise:
- in welchem Unternehmen oder welcher Organisation eine Aktion durchgeführt wurde
- welcher Benutzer (Akteur) die Aktion durchgeführt hat
- welcher Benutzer von der Aktion betroffen ist
- an welchem Repository eine Aktion durchgeführt wurde
- Die Aktion, die ausgeführt wurde
- in welchem Land die Aktion durchgeführt wurde,
- Das Datum und die Uhrzeit, zu der die Aktion stattgefunden hat
- Die SAML SSO-Identität des Benutzers (Akteurs), der die Aktion durchgeführt hat
- Für Aktionen außerhalb der Web-UI, wie der Benutzer (Akteur) sich authentifiziert hat
- Optional wird die Quell-IP-Adresse für den Benutzer (Akteur) verwendet, der die Aktion ausgeführt hat.
Beachte, dass Du nicht mit Text nach Einträgen suchen kannst. Du kannst jedoch Suchabfragen mit den verschiedensten Filtern erstellen. Viele Operatoren, die beim Abfragen des Protokolls verwendet werden, z. B. -
, >
oder <
, entsprechen demselben Format wie beim Durchsuchen von GitHub Enterprise Cloud. Weitere Informationen findest du unter Informationen zur Suche auf GitHub.
Vorgangsbasierte Suche
Verwende den Qualifizierer operation
, um Aktionen für spezifische Typen von Vorgängen zu beschränken. Beispiel:
operation:access
findet alle Ereignisse, bei denen auf eine Ressource zugegriffen wurde.operation:authentication
findet alle Ereignisse, bei denen ein Authentifizierungsereignis ausgeführt wurde.operation:create
findet alle Ereignisse, bei denen eine Ressource erstellt wurde.operation:modify
findet alle Ereignisse, bei denen eine vorhandene Ressource geändert wurde.operation:remove
findet alle Ereignisse, bei denen eine vorhandene Ressource entfernt wurde.operation:restore
findet alle Ereignisse, bei denen eine vorhandene Ressource wiederhergestellt wurde.operation:transfer
findet alle Ereignisse, bei denen eine vorhandene Ressource übertragen wurde.
Suche basierend auf Repository
Verwende den Qualifizierer repo
, um Aktionen auf ein spezifisches Repository zu beschränken. Zum Beispiel:
repo:my-org/our-repo
sucht alle Ereignisse, die für dasour-repo
-Repository in dermy-org
-Organisation aufgetreten sind.repo:my-org/our-repo repo:my-org/another-repo
sucht alle Ereignisse, die für dieour-repo
- undanother-repo
-Repositorys in dermy-org
-Organisation aufgetreten sind.-repo:my-org/not-this-repo
schließt alle Ereignisse aus, die für dasnot-this-repo
-Repository in dermy-org
-Organisation aufgetreten sind.
Sie müssen den Namen Ihrer Organisation in den repo
-Qualifizierer einschließen. Es ist nicht möglich, nur nach repo:our-repo
zu suchen.
Suche nach Benutzer
Der actor
-Qualifizierer kann den Umfang von Ereignissen basierend auf dem Ausführenden der Aktion festlegen. Beispiel:
actor:octocat
findet alle Ereignisse, die vonoctocat
durchgeführt wurden.actor:octocat actor:hubot
findet alle Ereignisse, die vonoctocat
oderhubot
durchgeführt wurden.-actor:hubot
schließt alle Ereignisse aus, die vonhubot
durchgeführt wurden.
Beachte, dass du nur den in GitHub Enterprise Cloud verwendeten Benutzernamen nutzen kannst, nicht den wirklichen Namen eines Benutzers.
Suche nach der Art der durchgeführten Aktion
Verwende für die Suche nach bestimmten Ereignissen in deiner Abfrage den Qualifizierer action
. Die im Überwachungsprotokoll aufgeführten Aktionen sind in verschiedenen Kategorien gruppiert. Die vollständige Liste der Ereignisse in jeder Kategorie findest du unter Überwachungsprotokollereignisse für deine Organisation.
Kategoriename | Beschreibung |
---|---|
account | Enthält alle Aktivitäten im Zusammenhang mit Ihrem Organisationskonto. |
advisory_credit | Umfasst alle Aktivitäten im Zusammenhang mit Angaben dazu, von welchen Mitwirkenden Inhalte für Sicherheitsempfehlungen in der GitHub Advisory Database stammen. Weitere Informationen findest du unter Informationen zu Sicherheitsempfehlungen für Repositorys. |
auto_approve_personal_access_token_requests | Enthält Aktivitäten im Zusammenhang mit der Genehmigungsrichtlinie Ihrer Organisation für fine-grained personal access tokens. Weitere Informationen findest du unter Festlegen einer Richtlinie für persönliche Zugriffstoken für deine Organisation. |
billing | Umfasst alle Aktivitäten im Zusammenhang mit der Abrechnung deiner Organisation. |
business | Umfasst Aktivitäten im Zusammenhang mit Geschäftseinstellungen für ein Unternehmen. |
codespaces | Umfasst alle Aktivitäten im Zusammenhang mit den Codespaces deiner Organisation. |
copilot | Enthält alle Aktivitäten im Zusammenhang mit Ihrer GitHub Copilot Business- oder GitHub Copilot Enterprise-Subscription. |
dependabot_alerts | Enthält Konfigurationsaktivitäten auf Organisationsebene für Dependabot alerts in vorhandenen Repositorys. Weitere Informationen findest du unter Informationen zu Dependabot-Warnungen. |
dependabot_alerts_new_repos | Enthält Konfigurationsaktivitäten auf Organisationsebene für Dependabot alerts in neuen Repositorys, die in der Organisation erstellt wurden. |
dependabot_security_updates | Enthält Konfigurationsaktivitäten auf Organisationsebene für Dependabot security updates in vorhandenen Repositorys. Weitere Informationen findest du unter Konfigurieren von Dependabot-Sicherheitsupdates. |
dependabot_security_updates_new_repos | Enthält Konfigurationsaktivitäten auf Organisationsebene für Dependabot security updates für neue Repositorys, die in der Organisation erstellt wurden. |
dependency_graph | Enthält Konfigurationsaktivitäten auf Organisationsebene für Abhängigkeitsdiagramme für Repositorys. Weitere Informationen findest du unter Informationen zum Abhängigkeitsdiagramm. |
dependency_graph_new_repos | Enthält Konfigurationsaktivitäten auf Organisationsebene für neue Repositorys, die in der Organisation erstellt wurden. |
discussion_post | Enthält alle Aktivitäten im Zusammenhang mit Diskussionen, die auf einer Teamseite veröffentlicht wurden. |
discussion_post_reply | Enthält alle Aktivitäten im Zusammenhang mit Antworten auf Diskussionen, die auf einer Teamseite veröffentlicht wurden. |
enterprise | Enthält Aktivitäten im Zusammenhang mit Unternehmenseinstellungen. |
hook | Umfasst alle Aktivitäten in Verbindung mit Webhooks. |
integration_installation | Enthält Aktivitäten im Zusammenhang mit Integrationen, die in einem Konto installiert sind. |
integration_installation_request | Umfasst alle Aktivitäten im Zusammenhang mit Anforderungen, die von Organisationsmitgliedern an Besitzer*innen gesendet werden, um Integrationen zur Verwendung innerhalb der Organisation genehmigen zu lassen. |
ip_allow_list | Enthält Aktivitäten im Zusammenhang mit dem Aktivieren oder Deaktivieren der Liste zugelassener IP-Adressen für eine Organisation. |
ip_allow_list_entry | Enthält Aktivitäten im Zusammenhang mit dem Erstellen, Löschen und Bearbeiten eines IP-Zulassungslisteneintrags für eine Organisation. |
issue | Enthält Aktivitäten im Zusammenhang mit dem Löschen eines Problems. |
marketplace_agreement_signature | Umfasst alle Aktivitäten in Verbindung mit der Signierung der GitHub Marketplace-Entwicklervereinbarung. |
marketplace_listing | Enthält alle Aktivitäten im Zusammenhang mit dem Auflisten von Apps in GitHub Marketplace. |
members_can_create_pages | Enthält alle Aktivitäten zum Verwalten der Veröffentlichung von GitHub Pages-Websites für Repositorys in der Organisation. Weitere Informationen findest du unter Verwalten der Veröffentlichung von GitHub Pages-Websites für deine Organisation. |
org | Enthält Aktivitäten im Zusammenhang mit der Organisationsmitgliedschaft. |
org_credential_authorization | Enthält alle Aktivitäten im Zusammenhang mit der Autorisierung von Anmeldeinformationen für die Verwendung mit SAML Single Sign-On. |
org_secret_scanning_automatic_validity_checks | Enthält Aktivitäten auf Organisationsebene im Zusammenhang mit dem Aktivieren und Deaktivieren der automatischen Gültigkeitsprüfung für secret scanning. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für deine Organisation. |
org_secret_scanning_custom_pattern | Umfasst Aktivitäten auf Organisationsebene im Zusammenhang mit benutzerdefinierten Mustern für die secret scanning. Weitere Informationen findest du unter Definieren von benutzerdefinierten Mustern für die Geheimnisüberprüfung. |
organization_default_label | Umfasst alle Aktivitäten im Zusammenhang mit Standardbezeichnungen für Repositorys in Ihrer Organisation. |
oauth_application | Umfasst alle Aktivitäten im Zusammenhang mit OAuth apps. |
packages | Umfasst alle Aktivitäten im Zusammenhang mit GitHub Packages. |
payment_method | Enthält alle Aktivitäten, die sich darauf beziehen, wie Ihre Organisation für GitHub bezahlt. |
personal_access_token | Enthält Aktivitäten im Zusammenhang mit fine-grained personal access tokens in Ihrer Organisation. Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken. |
profile_picture | Enthält alle Aktivitäten im Zusammenhang mit dem Profilbild Ihrer Organisation. |
project | Umfasst alle Aktivitäten im Zusammenhang mit Projekte (klassisch). |
protected_branch | Umfasst alle Aktivitäten im Zusammenhang mit geschützten Branches. |
repo | Umfasst Aktivitäten in Verbindung mit den Ihrer Organisation gehörenden Repositorys. |
repository_advisory | Enthält Aktivitäten auf Repositoryebene im Zusammenhang mit Sicherheitshinweisen in der GitHub Advisory Database. Weitere Informationen findest du unter Informationen zu Sicherheitsempfehlungen für Repositorys. |
repository_content_analysis | Enthält alle Aktivitäten im Zusammenhang mit der Aktivierung oder Deaktivierung der Datenverwendung für ein privates Repository. Weitere Informationen findest du unter Verwalten von Sicherheits- und Analyseeinstellungen für dein Repository. |
repository_dependency_graph | Enthält Aktivitäten auf Repositoryebene im Zusammenhang mit dem Aktivieren oder Deaktivieren des Abhängigkeitsdiagramms für ein privates Repository. Weitere Informationen findest du unter Informationen zum Abhängigkeitsdiagramm. |
repository_secret_scanning | Enthält Aktivitäten auf Repositoryebene im Zusammenhang mit der secret scanning. Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung. |
repository_secret_scanning_automatic_validity_checks | Enthält Aktivitäten auf Repository-Ebene im Zusammenhang mit dem Aktivieren und Deaktivieren der automatischen Gültigkeitsprüfung für secret scanning. Weitere Informationen findest du unter Aktivieren der Überprüfung auf geheime Schlüssel für Ihr Repository. |
repository_secret_scanning_custom_pattern | Enthält Aktivitäten auf Repositoryebene im Zusammenhang mit secret scanning benutzerdefinierten Mustern. Weitere Informationen findest du unter Definieren von benutzerdefinierten Mustern für die Geheimnisüberprüfung. |
repository_secret_scanning_custom_pattern_push_protection | Enthält Aktivitäten auf Repository-Ebene im Zusammenhang mit dem Push-Schutz eines benutzerdefinierten Musters für secret scanning. Weitere Informationen findest du unter Definieren von benutzerdefinierten Mustern für die Geheimnisüberprüfung. |
repository_secret_scanning_push_protection | Enthält Aktivitäten auf Repositoryebene im Zusammenhang mit secret scanning-Push-Schutz. Weitere Informationen findest du unter Informationen zum Pushschutz. |
repository_vulnerability_alert | Enthält alle Aktivitäten im Zusammenhang mit Dependabot alerts. |
repository_vulnerability_alerts | Enthält Konfigurationsaktivitäten auf Repositoryebene für Dependabot alerts. |
role | Enthält alle Aktivitäten imZusammenhang mit benutzerdefinierten Repositoryrollen. |
secret_scanning | Enthält Konfigurationsaktivitäten auf Organisationsebene für secret scanning in bestehenden Repositorys. Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung. |
secret_scanning_new_repos | Enthält Konfigurationsaktivitäten auf Organisationsebene für secret scanning für neue in der Organisation erstellte Repositorys. |
restore_member | Wird ausgelöst, wenn ein Organisationsbesitzer ein Mitglied reaktiviert. Weitere Informationen findest du unter Reaktivieren eines ehemaligen Mitglieds deiner Organisation. |
sponsors | Enthält alle Ereignisse im Zusammenhang mit Sponsorschaltflächen (siehe „Sponsorenschaltfläche in deinem Repository anzeigen“) |
team | Umfasst alle Aktivitäten in Verbindung mit Teams in deiner Organisation |
workflows | Umfasst Aktivitäten im Zusammenhang mit GitHub Actions-Workflows. |
Mit den folgenden Suchbegriffen kannst du nach bestimmten Aktionsgruppen suchen. Beispiel:
action:team
sucht alle Ereignisse, die in der Teamkategorie gruppiert sind.-action:hook
schließt alle Ereignisse in der Webhookkategorie aus.
Bei jeder Kategorie gibt es eine Gruppe von zugeordneten Aktionen, nach denen du filtern kannst. Beispiel:
action:team.create
sucht alle Ereignisse, bei denen ein Team erstellt wurde.-action:hook.events_changed
schließt alle Ereignisse aus, bei denen die Ereignisse in einem Webhook geändert wurden.
Suche nach dem Zeitpunkt der Aktion
Verwende den Qualifizierer created
, um Ereignisse im Überwachungsprotokoll basierend auf dem Zeitpunkt, an dem sie aufgetreten sind, zu filtern. Die Datumsformatierung muss dem ISO8601-Standard entsprechen: YYYY-MM-DD
(Jahr-Monat-Tag). Du kannst nach dem Datum auch optionale Zeitinformationen im Format THH:MM:SS+00:00
hinzufügen, um nach Stunde, Minute und Sekunde zu suchen. Das heißt, T
, gefolgt von HH:MM:SS
(Stunden-Minuten-Sekunden) und einem UTC-Offset (+00:00
).
Wenn du nach einem Datum suchst, kannst du „größer als“, „kleiner als“ und Bereichsqualifizierer verwenden, um Ergebnisse weiter zu filtern. Weitere Informationen findest du unter Grundlagen der Suchsyntax.
Beispiel:
created:2014-07-08
sucht alle Ereignisse, die am 8. Juli 2014 aufgetreten sind.created:>=2014-07-08
sucht alle Ereignisse, die am oder nach dem 8. Juli 2014 aufgetreten sind.created:<=2014-07-08
sucht alle Ereignisse, die am oder vor dem 8. Juli 2014 aufgetreten sind.created:2014-07-01..2014-07-31
sucht alle Ereignisse, die im Juli 2014 aufgetreten sind.
Note
Das Überwachungsprotokoll enthält Daten der letzten 180 Tage.
Suche nach Standort
Mithilfe des Qualifizierers country
kannst du Ereignisse im Überwachungsprotokoll basierend auf dem Ursprungsland filtern. Hierzu verwendest du den zweistelligen Kurzcode oder den vollständigen Namen des Landes. Ländernamen mit Leerzeichen müssen in Anführungszeichen eingeschlossen sein. Beispiel:
country:de
sucht alle Ereignisse, die in Deutschland aufgetreten sind.country:Mexico
sucht alle Ereignisse, die in Mexiko aufgetreten sind.country:"United States"
sucht alle Ereignisse, die in den USA aufgetreten sind.
Suche basierend auf Zugriffstoken
Du kannst alle Ereignisse identifizieren, die von einem bestimmten Zugriffstoken ausgeführt wurden. Weitere Informationen findest du unter Identifizieren von Überwachungsprotokollereignissen, die von einem Zugriffstoken ausgeführt werden.
Auditprotokoll exportieren
Du kannst das Protokoll über das Dropdownmenü Exportieren als JSON-Daten oder als durch Trennzeichen getrennte Datei (CSV) exportieren.
Um die Ergebnisse deines Exports zu filtern, suche nach einem oder mehreren dieser unterstützten Qualifizierer, bevor du das Dropdownmenü Exportieren verwendest.
Qualifizierer | Beispielwert |
---|---|
action | team.create |
actor | octocat |
user | codertocat |
org | octo-org |
repo | octo-org/documentation |
created | 2019-06-01 |
Note
Wenn du Git-Ereignisse exportierst, sind diejenigen Ereignisse nicht enthalten, die über den Webbrowser oder die REST- oder GraphQL-APIs initiiert wurden. Wenn ein Benutzer beispielsweise einen Pull Request im Webbrowser mergt, werden Änderungen in den Basisbranch gepusht, aber das Git-Ereignis für diesen Push ist nicht im Export enthalten.
Nachdem du das Protokoll exportiert hast, werden die folgenden Schlüssel und Werte in der resultierenden Datei aufgeführt.
Schlüssel | Beispielwert |
---|---|
action | team.create |
actor | octocat |
user | codertocat |
actor_location.country_code | US |
org | octo-org |
repo | octo-org/documentation |
created_at | 1429548104000 (der Zeitstempel gibt die Zeit in Millisekunden seit Beginn der UNIX-Zeit an) |
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 |
Verwenden der Überwachungsprotokoll-API
Du kannst mit dem Überwachungsprotokoll mithilfe der GraphQL-API oder der REST-API interagieren. Du kannst den read:audit_log
-Bereich verwenden, um über die APIs auf das Überwachungsprotokoll zuzugreifen.
Note
Um die Überwachungsprotokoll-API nutzen zu können, muss deine Organisation GitHub Enterprise Cloud verwenden. Weitere Informationen zum kostenlosen Testen von GitHub Enterprise Cloud findest du unter Eine Testversion von GitHub Enterprise Cloud einrichten.
Verwenden der GraphQL-API
Damit der Schutz deines geistigen Eigentums sichergestellt ist und die Compliancevorgaben für deine Organisation eingehalten werden, kannst du über die GraphQL-API des Überwachungsprotokolls Kopien deiner Überwachungsprotokolldaten aufbewahren und überwachen: * Zugriff auf dine Organisations- oder Repositoryeinstellungen
- Änderungen an Berechtigungen
- Hinzugefügte oder entfernte Benutzer*innen in einer Organisation, einem Repository oder einem Team
- Benutzerinnen, die zu Administratorinnen ernannt werden
- Änderungen an den Berechtigungen einer GitHub App
- API-Anforderungen (müssen aktiviert werden)
Hinweis: Mit der GraphQL-API können keine Git-Ereignisse abgerufen werden. Verwende zum Abrufen von Git-Ereignissen stattdessen die REST-API. Weitere Informationen findest du unter Aktionen der git
-Kategorie.
Die GraphQL-Antwort kann Daten für bis zu 90 bis 120 Tage beinhalten.
Du kannst beispielsweise eine GraphQL-Anforderung erstellen, die alle deiner Organisation neu hinzugefügten Organisationsmitglieder anzeigt. Weitere Informationen findest du unter Schnittstellen.
Verwenden der REST-API
Damit der Schutz deines geistigen Eigentums sichergestellt ist und die Compliancevorgaben für deine Organisation eingehalten werden, können Sie über die REST-API des Überwachungsprotokolls Kopien Ihrer Überwachungsprotokolldaten aufbewahren. Weitere Informationen zu den spezifischen Ereignissen, auf die Sie mithilfe der REST-API zugreifen können, finden Sie unter Überwachungsprotokollereignisse für deine Organisation.
Das Überwachungsprotokoll behält Git-Ereignisse sieben Tage lang bei. Dies ist kürzer als andere Überwachungsprotokollereignisse, die bis zu sieben Monate lang aufbewahrt werden können.
Standardmäßig werden nur Ereignisse aus den letzten drei Monaten zurückgegeben. Wenn ältere Ereignisse eingeschlossen werden sollen, musst du in deiner Abfrage einen Zeitstempel angeben.
Wenn Sie Git-Ereignisse über die REST-API anfordern, sind Ereignisse, die über den Webbrowser bzw. die REST- oder GraphQL-API initiiert wurden, nicht enthalten. Wenn Sie beispielsweise einen Pull Request im Webbrowser zusammenführen, werden Änderungen per Push an den Basisbranch gesendet, aber das Git-Ereignis für diesen Push ist in der Antwort nicht enthalten.
Weitere Informationen zur REST-API für das Überwachungsprotokoll findest du unter REST-API-Endpunkte für Organisationen.