Zugriff auf das Auditprotokoll
Hinweis: 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 findest du 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 findest du 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.
- Klicke 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
- Für Aktionen außerhalb der Web-UI, wie der Benutzer (Akteur) sich authentifiziert 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 Server. 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.
Beachten Sie, dass Sie den Kontonamen in den repo
-Qualifizierer einschließen und ihn in Anführungszeichen setzen oder /
mit einem \
escapen. Es ist nicht möglich, nur nach repo:our-repo
oder repo:my-org/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 Server 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 |
---|---|
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. |
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. |
issue | Enthält Aktivitäten im Zusammenhang mit dem Löschen eines Problems. |
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_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. |
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_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_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 Pushschutz für Repositorys und Organisationen. |
repository_vulnerability_alert | Enthält alle Aktivitäten im Zusammenhang mit 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. |
team | Umfasst alle Aktivitäten in Verbindung mit Teams in deiner Organisation |
team_discussions | Umfasst Aktivitäten im Zusammenhang mit der Verwaltung von Teamdiskussionen für eine 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.
Hinweis: Das Überwachungsprotokoll enthält Daten für die 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.
Verwenden der Überwachungsprotokoll-API
Du kannst mit dem Überwachungsprotokoll mithilfe der GraphQL-API interagieren. Du kannst den read:audit_log
-Bereich verwenden, um über die APIs auf das Überwachungsprotokoll zuzugreifen.
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
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.