Skip to main content

Streamen des Überwachungsprotokolls für ein Unternehmen

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

Wer kann dieses Feature verwenden?

Enterprise owners can configure audit log streaming.

Hinweise:

  • Das Streamen von Überwachungsprotokollen ist derzeit für GitHub Enterprise Server als Betaversion verfügbar. Änderungen sind vorbehalten.
  • 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.

Informationen zum Streamen von Überwachungsprotokollen

Zum Schutz Ihres geistigen Eigentums und zur Einhaltung von Vorschriften in Ihrem Unternehmen können Sie Streaming verwenden, um Kopien von Überwachungsprotokolldaten zu speichern. Das Überwachungsprotokoll enthält Details zu Ereignissen wie Änderungen an Einstellungen und Zugriff, Benutzermitgliedschaft, App-Berechtigungen und mehr. Wenn Sie Überwachungsprotokolldaten streamen, können Sie die folgenden Vorteile nutzen.

  • Datenuntersuchung Sie können gestreamte Ereignisse mithilfe deines bevorzugten Tools zum Abfragen großer Datenmengen untersuchen. Der Stream enthält sowohl Überwachungsereignisse als auch Git-Ereignisse für das gesamte Unternehmenskonto.
  • Datenaufbewahrung Sie können Ihre exportierten Überwachungsprotokolle und Git-Ereignisdaten solange wie erforderlich speichern.

Unternehmensinhaber*innen können Streams jederzeit 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 Dateiformat ist YYYY/MM/HH/MM/<uuid>.json.gz.

Hinweis: GitHub verwendet 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 von Ressourcen zur Verringerung dieser Leistungsauswirkungen unter „CPU- und Arbeitsspeicherressourcen erhöhen“ zu finden.

Ereignisse, die in Überwachungsprotokollstreaming angezeigt werden

Sie können die spezifischen Ereignisse überprüfen, die in gestreamten Überwachungsprotokollen angezeigt werden. Weitere Informationen findest du in den folgenden Artikeln.

Einrichten des Überwachungsprotokollstreamings

Den Überwachungsprotokollstream auf GitHub Enterprise Server richten Sie ein, indem Sie die Anweisungen für deinen Anbieter befolgen.

Einrichten des Streamings an Amazon S3

Zum Einrichten des Überwachungsprotokollstreamings 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.

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

  2. Erstelle in AWS eine Richtlinie, die GitHub das Schreiben in den Bucket gestattet, indem du den folgenden JSON-Code kopierst und EXAMPLE-BUCKET durch den Namen deines Buckets ersetzt. 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/*"
         }
       ]
    }
    

    Weitere Informationen findest du unter Erstellen von IAM-Richtlinien in der AWS-Dokumentation.

  3. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  4. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  5. Wähle unter „ Einstellungen“ die Option Überwachungsprotokoll aus.

  6. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

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

  8. Konfiguriere die Streameinstellungen.

    • 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.
  9. Zum Überprüfen, ob GitHub eine Verbindung mit dem Amazon S3-Endpunkt herstellen und in ihm schreiben kann, klicke auf Endpunkt überprüfen.

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

Integrieren mit AWS CloudTrail Lake

Sie können Ihre Überwachungsprotokolle aus GitHub Enterprise Server mit AWS-Aktivitätsprotokollen konsolidieren, indem Sie das Überwachungsprotokollstreaming in S3 mit AWS CloudTrail Lake integrieren. Weitere Informationen finden Sie in der Dokumentation zu AWS CloudTrail oder unter Integration von GitHub-Überwachungsprotokollen mit CloudTrail Lake im Repository aws-samples/aws-cloudtrail-lake-github-audit-log.

Einrichten des Streamings an Azure Blob Storage

Bevor Sie in GitHub einen Stream einrichten, müssen Sie in Microsoft Azure ein Speicherkonto und einen Container erstellen. Informationen hierzu finden Sie in der Microsoft-Dokumentation unter Einführung in Azure Blob Storage.

Zum Konfigurieren des Streams in GitHub benötigen Sie die URL eines SAS-Tokens.

Führen Sie im Microsoft Azure-Portal folgende Schritte durch:

  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.

Auf GitHub:

  1. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  2. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  3. Wähle unter „ Einstellungen“ die Option Überwachungsprotokoll aus.

  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  5. Wählen Sie das Dropdownmenü Stream konfigurieren und dann Azure Blob Storage aus.

  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 an Azure Event Hubs

In GitHub können Sie einen Stream erst einrichten, wenn Sie in Microsoft Azure über einen Event Hub-Namespace verfügen. Dann müssen Sie im Namespace eine Event Hub-Instanz erstellen. Zum Einrichten des Streams benötigen Sie die Details dieser Event Hub-Instanz. Informationen hierzu finden Sie in der Microsoft-Dokumentation Schnellstart: Erstellen eines Event Hubs mithilfe des Azure-Portals.

Sie benötigen zwei Angaben zu Ihrem Event Hub: den Instanznamen und die Verbindungszeichenfolge.

Führen Sie im Microsoft Azure-Portal folgende Schritte durch:

  1. Verwenden Sie oben auf der Seite neben „Microsoft Azure“ das Suchfeld, um nach „Event Hubs“ zu suchen.
  2. Klicken Sie auf Event Hubs. Daraufhin werden die Namen deiner Event Hubs angezeigt.
  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 die Verbindungszeichenfolge aus dem Feld Verbindungszeichenfolge – Primärschlüssel.

Auf GitHub:

  1. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  2. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  3. Wähle unter „ Einstellungen“ die Option Überwachungsprotokoll aus.

  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  5. Wählen Sie das Dropdownmenü Stream konfigurieren und dann Azure Event Hubs aus.

  6. Geben Sie auf der Konfigurationsseite Folgendes ein:

    • Den Namen der Azure Event Hubs-Instanz.
    • Verbindungszeichenfolge.
  7. Klicken Sie auf Check endpoint (Endpunkt überprüfen), um sich zu vergewissern, dass GitHub eine Verbindung mit dem Azure Event Hub-Endpunkt herstellen und in ihm schreiben kann.

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

Einrichten des Streamings an Datadog

Um das Streaming an Datadog einzurichten, müssen Sie ein Clienttoken oder einen API-Schlüssel in Datadog erstellen und dann das Überwachungsprotokollstreaming in GitHub Enterprise Server mithilfe des Tokens für die Authentifizierung konfigurieren. 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. Weitere Informationen finden Sie unter 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. Weitere Informationen finden Sie unter API- und Anwendungsschlüssel in der Datadog-Dokumentation.

  3. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  4. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  5. Wähle unter „ Einstellungen“ die Option Überwachungsprotokoll aus.

  6. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  7. Wählen Sie das Dropdownmenü 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 Dropdownmenü Website und dann Ihre Datadog-Website aus. Um Ihre Datadog-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. Vergewissere dich nach einigen Minuten, dass auf der Registerkarte Protokolle in Datadog Überwachungsprotokolldaten angezeigt werden. Wenn keine Überwachungsprotokolldaten angezeigt werden, stellen Sie sicher, dass Ihr Token und Ihre Website in GitHub korrekt sind.

Einrichten des Streamings an Google Cloud Storage

Zum Einrichten des Streamings an Google Cloud Storage müssen Sie in Google Cloud ein Dienstkonto mit den entsprechenden Anmeldeinformationen und Berechtigungen erstellen und anschließend in GitHub Enterprise Server mithilfe der Anmeldeinformationen des Dienstkontos für die Authentifizierung das Streamen von Überwachungsprotokollen konfigurieren.

  1. Erstelle ein Dienstkonto für Google Cloud. Du musst keine Zugriffssteuerelemente oder IAM-Rollen für das Dienstkonto festlegen. Weitere Informationen finden Sie in der Google Cloud-Dokumentation zum Erstellen und Verwalten von Dienstkonten.

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

  3. Wenn Sie noch keinen Bucket erstellt haben, erstellen Sie den Bucket. Weitere Informationen finden Sie in der Google Cloud-Dokumentation zum Erstellen von Storage-Buckets.

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

  5. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  6. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  7. Wähle unter „ Einstellungen“ die Option Überwachungsprotokoll aus.

  8. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  9. Wählen Sie das Dropdownmenü Stream konfigurieren und dann Google Cloud Storage aus.

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

  11. Füge unter „JSON Credentials“ (JSON-Anmeldeinformationen) den gesamten Inhalt der Datei für den JSON-Schlüssel deines 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.

Einrichten des Streamings an Splunk

Zum Streamen von Überwachungsprotokollen an den HEC-Endpunkt (HTTP Event Collector) von Splunk müssen Sie sicherstellen, dass der Endpunkt so konfiguriert ist, dass HTTPS-Verbindungen zulässig sind. Weitere Informationen finden Sie in der Splunk-Dokumentation unter Set up and use HTTP Event Collector in Splunk Web (Einrichten und Verwenden von HTTP Event Collector in Splunk Web).

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

  1. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  2. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  3. Wähle unter „ Einstellungen“ die Option Überwachungsprotokoll aus.

  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  5. Wählen Sie das Dropdownmenü Stream konfigurieren und dann Splunk aus.

  6. Geben Sie auf der Konfigurationsseite Folgendes ein:

    • Die Domäne, in der die Anwendung gehostet wird, an die 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.

      Wenn Sie Splunk Cloud verwenden und die Portkonfiguration nicht geändert haben, sollte Port auf 443 festgelegt sein.

      Wenn Sie die kostenlose Testversion von Splunk Cloud verwenden|in Anspruch nehmen|einsetzen|nutzen, muss Port auf 8088 festgelegt 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. Sie können die Auswahl dieser Option deaktivieren, aber es wird 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. Klicken Sie in der oberen rechten Ecke von GitHub Enterprise Server auf Ihr Profilfoto und dann auf Unternehmenseinstellungen.

    Screenshot des Dropdownmenüs, das angezeigt wird, wenn du auf GitHub Enterprise Server auf das Profilfoto klickst. Die Option „Unternehmenseinstellungen “ ist dunkelorange umrandet.

  2. Wähle auf der Randleiste des Unternehmenskontos die Option Einstellungen aus.

  3. Wähle unter „ Einstellungen“ die Option Überwachungsprotokoll aus.

  4. Klicke unter „Überwachungsprotokoll“ auf Protokollstreaming.

  5. Wählen Sie unter „Gefahrenzone“ die Option Stream löschen aus.

  6. Eine Bestätigungsmeldung wird angezeigt. Klicken Sie auf Delete stream (Stream löschen), um den Vorgang zu bestätigen.