Skip to main content

Streaming des Überwachungsprotokolls für Ihre Organisation

Erfahren Sie, wie Sie Überwachungs- und Git-Ereignisdaten aus GitHub in ein externes Datenverwaltungssystem streamen können.

Wer kann dieses Feature verwenden?

Enterprise owners

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.

Informationen zum Streamen von Überwachungsprotokollen

Sie können zum Schutz von geistigem Eigentum und zur Einhaltung von Vorschriften in Ihrem Unternehmen beitragen, indem Sie Kopien von Daten aus Überwachungsprotokollen per Streaming speichern. Das Überwachungsprotokoll enthält Details zu Ereignissen wie Änderungen an Einstellungen und Zugriff, Benutzermitgliedschaft, App-Berechtigungen und mehr. Weitere Informationen findest du unter Prüfprotokollereignisse für Ihr Unternehmen, Audit-Protokollereignisse für Ihre Organisation und Sicherheitsprotokollereignisse.

Das Streaming von Daten aus Überwachungsprotokollen hat folgende Vorteile:

  •         **Datenuntersuchung** Untersuchen Sie gestreamte Ereignisse mithilfe Ihres bevorzugten Tools zum Abfragen großer Datenmengen. Der Stream enthält sowohl Überwachungsereignisse als auch Git-Ereignisse für das gesamte Unternehmenskonto.
    
  •         **Datenaufbewahrung** Bewahren Sie exportierte Überwachungsprotokolle und Git-Ereignisdaten so lange wie nötig auf.
    

Sie können jederzeit einen Stream einrichten oder löschen. Der Stream exportiert Überwachungsereignisdaten und Git-Ereignisdaten für alle Organisationen in Ihrem Unternehmen für Aktivitäten ab dem Zeitpunkt, zu dem der Stream aktiviert ist.

Alle gestreamten Überwachungsprotokolle werden als komprimierte JSON-Dateien gesendet. Das Dateinamensformat ist YYYY/MM/HH/MM/<uuid>.json.gz.

Hinweis

GitHub nutzt die Übermittlungsmethode „mindestens einmal“. Aufgrund bestimmter Netzwerk- oder Systemprobleme können einige Ereignisse dupliziert werden.

Das Aktivieren des Streamings von Überwachungsprotokollen kann geringfügige Auswirkungen auf die Leistung von Ihre GitHub Enterprise Server-Instance haben. Weitere Informationen zum Erhöhen der Anzahl von Ressourcen zum Verringern dieser Leistungsauswirkungen findest du unter CPU- und Arbeitsspeicherressourcen erhöhen.

Gesundheitsprüfungen für Audit-Log-Streams

Alle 24 Stunden wird eine Gesundheitsprüfung für jeden Stream durchgeführt. Wenn ein Stream nicht korrekt eingerichtet ist, wird eine E-Mail an die Unternehmensbesitzer gesendet. Um zu verhindern, dass Überwachungsprotokollereignisse aus dem Datenstrom gelöscht werden, muss ein falsch konfigurierter Stream innerhalb von sechs Tagen behoben werden.

Um die Streaming-Konfiguration zu korrigieren, folge den Schritten unter Einrichten des Streamings von Überwachungsprotokollen.

Einrichten des Überwachungsprotokollstreamings

Befolgen Sie zum Einrichten des Audit-Protokoll-Streams die Anweisungen Ihres Anbieters:

  •         [Amazon S3](#setting-up-streaming-to-amazon-s3)
    
  •         [Azure Blob Storage](#setting-up-streaming-to-azure-blob-storage)
    
  •         [Azure Event Hubs](#setting-up-streaming-to-azure-event-hubs)
    
  •         [Datadog](#setting-up-streaming-to-datadog)
    
  •         [Google Cloud Storage](#setting-up-streaming-to-google-cloud-storage)
    
  •         [Splunk](#setting-up-streaming-to-splunk)
    

Einrichten des Streamings an Amazon S3

Hinweis

Die Amazon-Region us-east-1 muss in Ihrer Anwendung erreichbar sein, damit das Streaming zu S3 funktioniert. Dein S3-Bucket kann sich in anderen AWS-Regionen befinden.

Zum Einrichten des Streamings von Überwachungsprotokollen von GitHub benötigen Sie Folgendes:

  • Die ID Ihres AWS-Zugriffsschlüssels
  • Ihren geheimen AWS-Schlüssel

Informationen zum Erstellen oder Zugreifen auf Ihre Zugriffsschlüssel-ID und ihren geheimen Schlüssel finden Sie unter Deine AWS-Anmeldeinformationen in der AWS-Dokumentation.

Von AWS:

  1. Erstelle einen Bucket, und blockiere den öffentlichen Zugriff auf den Bucket. Siehe Erstellen, Konfigurieren und Arbeiten mit Amazon S3-Buckets in der AWS-Dokumentation.

  2. Erstelle eine Richtlinie, die es GitHub gestattet, in den Bucket zu schreiben. Kopieren Sie den folgenden JSON-Code, und ersetzen Sie EXAMPLE-BUCKET durch den Namen Ihres Buckets. Für GitHub sind nur die folgenden Berechtigungen in diesem JSON-Code erforderlich.

    {
       "Version": "2012-10-17",
       "Statement": [
          {
             "Sid": "VisualEditor0",
             "Effect": "Allow",
             "Action": [
                "s3:PutObject"
             ],
             "Resource": "arn:aws:s3:::EXAMPLE-BUCKET/*"
         }
       ]
    }
    

    Siehe Erstellen von IAM-Richtlinien in der AWS-Dokumentation.

Aus GitHub:

  1. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilbild und dann auf Enterprise settings.

  2. Klicke oben auf der Seite auf Settings.

  3. Klicke unter „Settings auf Audit log.

  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  5. Wähle das Dropdownmenü Datenstrom konfigurieren aus, und klicke auf Amazon S3.

  6. Konfiguriere die Streameinstellungen.

    • Wählen Sie unter „Region“ die Region des Buckets aus. Beispiel: us-east-1.
    • Geben Sie unter „Bucket“ den Namen des Buckets ein, an den Sie streamen möchten. Beispiel: auditlog-streaming-test.
    • Geben Sie unter „Zugriffsschlüssel-ID“ Ihre Zugriffsschlüssel-ID ein. Beispiel: ABCAIOSFODNN7EXAMPLE1.
    • Geben Sie unter „Geheimer Schlüssel“ deinen geheimen Schlüssel ein. Beispiel: aBcJalrXUtnWXYZ/A1MDENG/zPxRfiCYEXAMPLEKEY.
  7. Zum Überprüfen, ob GitHub eine Verbindung mit dem Amazon S3-Endpunkt herstellen und in ihm schreiben kann, klicke auf Endpunkt überprüfen.

  8. Nachdem du den Endpunkt erfolgreich überprüft hast, klicke auf Speichern.

Integrieren mit AWS CloudTrail Lake

Die Überwachungsprotokolle können Sie konsolidieren, indem Sie das Streaming zu S3 in AWS CloudTrail Lake integrieren. Weitere Informationen finden Sie in der AWS CloudTrail-Dokumentation oder im GitHub Überwachungsprotokoll bei CloudTrail Open Audit im Repository aws-samples/aws-cloudtrail-lake-github-audit-log.

Einrichten des Streamings für Azure Blob Storage

Hinweis

Auditprotokoll-Streaming in den Blob-Speicher in Azure Government wird nicht unterstützt.

Bevor Sie einen Datenstrom in GitHub einrichten, erstellen Sie zuerst ein Speicherkonto und einen Container in Microsoft Azure. Siehe Introduction to Azure Blob Storage in der Microsoft-Dokumentation.

Zum Konfigurieren des Streams benötigen Sie die URL eines SAS-Token.

Aus dem Microsoft Azure Portal:

  1. Klicken Sie auf der Startseite auf Speicherkonten.
  2. Klicken Sie unter „Name“ auf den Namen des Speicherkontos, das Sie verwenden möchten.
  3. Klicken Sie unter „Datenspeicher“ auf Container.
  4. Klicken Sie auf den Namen des Containers, den Sie verwenden möchten.
  5. Klicken Sie in der linken Seitenleiste unter „Einstellungen“ auf Freigegebene Zugriffstoken.
  6. Wählen das Dropdownmenü Berechtigungen aus, wählen Sie dann Create und Write aus, und heben die Auswahl für alle anderen Optionen auf.
  7. Legen Sie ein Ablaufdatum fest, das Ihrer Richtlinie für die Geheimnisrotation entspricht.
  8. Klicken Sie auf "SAS-Token und URL generieren".
  9. Kopieren Sie den Wert des angezeigten Felds Blob-SAS-URL. Diese URL wird in GitHub verwendet.

In GitHub:

  1. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilbild und dann auf Enterprise settings.
  2. Klicke oben auf der Seite auf Settings.
  3. Klicke unter „Settings auf Audit log.
  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.
  5. Wählen Sie den Configure-Stream Dropdownmenü aus, und klicken Sie auf Azure Blob Storage.
  6. Geben Sie auf der Konfigurationsseite die BLOB-SAS-URL ein, die Sie in Azure kopiert haben. Das Feld Container wird basierend auf der URL automatisch ausgefüllt.
  7. Klicken Sie auf Check endpoint (Endpunkt überprüfen), um sich zu vergewissern, dass GitHub eine Verbindung mit dem Azure Blob Storage-Endpunkt herstellen und in ihm schreiben kann.
  8. Nachdem du den Endpunkt erfolgreich überprüft hast, klicke auf Speichern.

Einrichten des Streamings für Azure Event Hubs

Hinweis

Event Hubs-Instanzen in Azure Government werden nicht unterstützt.

Bevor Sie einen Stream in GitHub einrichten, müssen Sie:

Aus dem Microsoft Azure Portal:

  1. Suchen Sie im Suchfeld ganz oben auf der Seite nach „Event Hubs“.
  2. Klicke auf Event Hubs. Die Namen Ihrer Event Hubs werden aufgelistet.
  3. Notieren Sie den Namen des Event Hubs, an den Sie streamen möchten. Wählen Sie den Event Hub aus.
  4. Wählen Sie im linken Menü Richtlinien für gemeinsamen Zugriff aus.
  5. Wählen Sie in der Liste mit den Richtlinien eine Richtlinie für den gemeinsamen Zugriff aus, oder erstelle eine neue Richtlinie.
  6. Kopieren Sie den connection string aus dem Feld Connection string-primary key.

In GitHub:

  1. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilbild und dann auf Enterprise settings.
  2. Klicke oben auf der Seite auf Settings.
  3. Klicke unter „Settings auf Audit log.
  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.
  5. Wählen Sie das Dropdown-Menü Konfigurieren aus und klicken Sie auf Azure Event Hubs.
  6. Geben Sie auf der Konfigurationsseite Folgendes ein:
    • Der Name der Azure Event Hubs Instanz.
    • Die Verbindungszeichenfolge.
  7. Klicken Sie auf Endpunkt überprüfen, um zu überprüfen, ob GitHub eine Verbindung zum Azure Event Hub-Endpunkt herstellen und darauf schreiben kann.
  8. Nachdem du den Endpunkt erfolgreich überprüft hast, klicke auf Speichern.

Einrichten des Streamings an Datadog

Wenn du das Streaming an Datadog einrichten möchtest, erstelle ein Clienttoken oder einen API-Schlüssel in Datadog, und konfiguriere dann das Streamen von Überwachungsprotokollen in GitHub mithilfe des Tokens für die Authentifizierung. Sie müssen keinen Bucket oder einen anderen Speichercontainer in Datadog erstellen.

Nachdem Sie das Streaming auf Datadog eingerichtet haben, können Sie Ihre Überwachungsprotokolldaten anzeigen, indem Sie nach „github.audit.streaming“ filtern. Siehe Protokollverwaltung.

  1. Wenn Sie noch nicht über ein Datadog-Konto verfügen, erstellen Sie jetzt eins.
  2. Generieren Sie in Datadog ein Clienttoken oder einen API-Schlüssel, und wählen Sie dann Schlüssel kopieren aus. Siehe API- und Anwendungsschlüssel in der Datadog-Dokumentation.
  3. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilbild und dann auf Enterprise settings.
  4. Klicke oben auf der Seite auf Settings.
  5. Klicke unter „Settings auf Audit log.
  6. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.
  7. Wählen Sie das Dropdown-Menü Stream konfigurieren aus, und klicken Sie auf Datadog.
  8. Fügen Sie im Feld Token das Token ein, das Sie zuvor kopiert haben.
  9. Wählen Sie das Dropdown-Menü Website aus, und klicken Sie dann auf Ihre Datadog-Website. Um Ihre Website zu ermitteln, vergleichen Sie Ihre Datadog-URL mit der Tabelle unter Datadog-Websites in der Datadog-Dokumentation.
  10. Um zu verifizieren, dass GitHub eine Verbindung mit dem Datadog-Endpunkt herstellen und Schreibvorgänge durchführen kann, klicken Sie auf Endpunkt überprüfen.
  11. Nachdem du den Endpunkt erfolgreich überprüft hast, klicke auf Speichern.
  12. Vergewissern Sie sich nach einigen Minuten, dass auf der Registerkarte Protokolle in Datadog Daten aus Überwachungsprotokollen angezeigt werden. Wenn sie nicht angezeigt werden, stellen Sie sicher, dass das Token und die Website in GitHub korrekt sind.

Einrichten des Streamings an Google Cloud Storage

Erstelle zum Einrichten des Streamings an Google Cloud Storage in Google Cloud ein Dienstkonto mit den entsprechenden Anmeldeinformationen und Berechtigungen, und konfiguriere anschließend in GitHub mithilfe der Anmeldeinformationen des Dienstkontos für die Authentifizierung das Streamen von Überwachungsprotokollen.

  1. Erstelle ein Dienstkonto für Google Cloud. Sie müssen keine Zugriffskontrollen oder IAM-Rollen für dieses Konto festlegen. Siehe Erstellen und Verwalten von Dienstkonten in der Google Cloud-Dokumentation.

  2. Erstelle einen JSON-Schlüssel für das Dienstkonto, und speichere den Schlüssel sicher. Siehe Erstellen und Verwalten von Dienstkontoschlüsseln in der Google Cloud-Dokumentation.

  3. Wenn Sie noch keinen erstellt haben, erstellen Sie einen Bucket. Siehe Erstellen von Storage-Buckets in der Google Cloud-Dokumentation.

  4. Weisen Sie dem Dienstkonto die Rolle „Storage Object Creator“ für den Bucket zu. Siehe Verwenden von Cloud-IAM-Berechtigungen in der Google Cloud-Dokumentation.

  5. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilbild und dann auf Enterprise settings.

  6. Klicke oben auf der Seite auf Settings.

  7. Klicke unter „Settings auf Audit log.

  8. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  9. Wählen Sie das Dropdown-Menü Stream konfigurieren aus, und klicken Sie dann auf Google Cloud Storage.

  10. Geben Sie unter „Bucket“ den Namen deines Google Cloud Storage-Buckets ein.

  11. Fügen Sie unter „JSON-Anmeldedaten“ den gesamten Inhalt der Datei für den JSON-Schlüssel Ihres Dienstkontos ein.

  12. Klicken Sie auf Check endpoint (Endpunkt überprüfen), um sich zu vergewissern, dass GitHub eine Verbindung mit dem Google Cloud Storage-Bucket herstellen und in ihm schreiben kann.

  13. Nachdem du den Endpunkt erfolgreich überprüft hast, klicke auf Speichern.

Streaming auf Splunk einrichten

Zum Streamen von Überwachungsprotokollen zum HEC-Endpunkt (HTTP Event Collector) von Splunk müssen Sie sicherstellen, dass der Endpunkt so konfiguriert ist, dass HTTPS-Verbindungen zulässig sind. Siehe Einrichten und Verwenden von HTTP Event Collector in Splunk Web in der Splunk-Dokumentation.

Hinweis

GitHub validiert den HEC-Endpunkt über <Domain>:port/services/collector. Wenn der Endpunkt selbst gehostet wird (z. B. mit Splunk HEC Receiver über OpenTelemetry), stellen Sie sicher, dass der Endpunkt an diesem Ziel erreichbar ist.

  1. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilbild und dann auf Enterprise settings.

  2. Klicke oben auf der Seite auf Settings.

  3. Klicke unter „Settings auf Audit log.

  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  5. Wählen Sie das Dropdown-Menü Stream konfigurieren aus, und klicken Sie dann auf Splunk.

  6. Geben Sie auf der Konfigurationsseite Folgendes ein:

    • Die Domäne, in der die Anwendung gehostet wird, zu der gestreamt werden soll.

      Wenn Sie Splunk Cloud verwenden, muss Domain auf http-inputs-<host> festgelegt sein, wobei host die Domäne ist, die Sie in Splunk Cloud verwenden. Beispiel: http-inputs-mycompany.splunkcloud.com.

      Wenn Sie die kostenlose Testversion von Splunk Cloud verwenden, muss Domain auf inputs.<host> festgelegt sein, wobei host die Domäne ist, die Sie in Splunk Cloud verwenden. Beispiel: inputs.mycompany.splunkcloud.com.

    • Der Port, auf dem die Anwendung Daten empfängt.

      Verwenden Sie Splunk Cloud, sollte Port``443 sein.

      Wenn Sie die kostenlose Testversion von Splunk Cloud verwenden, sollte Port auf 8088 gesetzt sein.

    • Ein Token, das von GitHub verwendet werden kann, um die Anwendung eines Drittanbieters zu authentifizieren.

  7. Lass das Kontrollkästchen Enable SSL verification (SSL-Überprüfung aktivieren) aktiviert.

    Überwachungsprotokolle werden immer als verschlüsselte Daten übertragen. Wenn diese Option aktiviert ist, wird jedoch das SSL-Zertifikat deiner Splunk-Instanz beim Bereitstellen von Ereignissen durch GitHub überprüft. Durch die SSL-Überprüfung wird sichergestellt, dass Ereignisse sicher an deinen URL-Endpunkt übermittelt werden. Die Überprüfung ist optional. Es wird jedoch empfohlen, die SSL-Überprüfung aktiviert zu lassen.

  8. Klicken Sie auf Check endpoint (Endpunkt überprüfen), um sich zu vergewissern, dass GitHub eine Verbindung mit dem Splunk-Endpunkt herstellen und in ihm schreiben kann.

  9. Nachdem du den Endpunkt erfolgreich überprüft hast, klicke auf Speichern.

Löschen des Überwachungsprotokollstreams

  1. Klicke in der oberen rechten Ecke von GitHub Enterprise Server auf dein Profilbild und dann auf Enterprise settings.
  2. Klicke oben auf der Seite auf Settings.
  3. Klicke unter „Settings auf Audit log.
  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.
  5. Wählen Sie unter „Gefahrenzone“ die Option Stream löschen aus.
  6. Daraufhin wird eine Bestätigungsmeldung angezeigt. Klicken Sie auf Delete stream (Stream löschen), um den Vorgang zu bestätigen.