Verwalten der GitHub Advanced Security-Features und -Warnungen

Abgeschlossen

Nachdem die Sicherheit für Ihr Projekt eingerichtet ist, müssen Sie nur noch die GitHub Advanced Security-Features und -Warnungen für Ihr Projekt überwachen und verwalten.

In dieser Lektion erfahren Sie, wie Sie die Sicherheitsrisiken in Ihrem Projekt mithilfe der Sicherheitsübersicht überwachen. In dieser Lektion wird auch erläutert, wie Sie die GitHub Advanced Security-Endpunkte zum Verwalten der GitHub Advanced Security-Features und -Warnungen verwenden.

Verwenden der Sicherheitsübersicht

Die Sicherheitsübersicht ist auf der Registerkarte "Sicherheit " von Organisationen und Repositorys verfügbar. Sie können es verwenden, um einen allgemeinen Überblick über den Sicherheitsstatus Ihrer Organisation zu erhalten oder problematische Repositorys zu identifizieren, die einen Eingriff erfordern.

  • Auf Organisationsebene zeigt die Sicherheitsübersicht aggregierte und repositoryspezifische Sicherheitsinformationen für Repositorys an, die Ihre Organisation besitzt. Sie können informationen auch pro Sicherheitsfeature filtern.
  • Auf Teamebene zeigt die Sicherheitsübersicht repositoryspezifische Sicherheitsinformationen für Repositorys an, für die das Team über Administratorrechte verfügt.
  • Auf Repositoryebene zeigt die Sicherheitsübersicht, welche Sicherheitsfeatures für das Repository aktiviert sind, und bietet die Möglichkeit, alle verfügbaren Sicherheitsfeatures zu konfigurieren, die derzeit nicht verwendet werden.

Screenshot der Sicherheitsübersicht auf Organisationsebene.

Dank seiner hohen Interaktivität und zahlreicher Filter ist die Sicherheitsübersicht sowohl für umfassende als auch spezifische Analysen des Sicherheitsstatus Ihrer Organisation nützlich. Sie können es beispielsweise verwenden, um die Einführung von Features durch Ihre Organisation oder ein bestimmtes Team zu überwachen, während Sie GitHub Advanced Security für Ihr Unternehmen bereitstellen, oder sie verwenden, um alle Warnungen eines bestimmten Typs und Schweregrads für alle Repositorys in Ihrer Organisation zu überprüfen.

Verwenden der GitHub Advanced Security-Endpunkte

In der folgenden Tabelle wird erläutert, welche Endpunkte für jedes Advanced Security-Feature mit Links zu ihrer Dokumentation verfügbar sind.

Merkmal Endpunkte Dokumentation
Code-Überprüfung Abrufen und Aktualisieren von Codeüberprüfungswarnungen aus einem Repository.
Erstellen Sie automatisierte Berichte für Codescanbenachrichtigungen in einer Organisation.
Analyseergebnisse hochladen, die mithilfe von Offline-Code-Scan-Tools generiert wurden.
Codescan-API
Geheimnisüberprüfung Aktivieren oder Deaktivieren von Geheimnisscans für ein Repository.
Abrufen und Aktualisieren geheimer Scanwarnungen aus einem privaten Repository.
Repos-API
Geheime Scan-API
Abhängigkeitsüberprüfung Aktivieren und deaktivieren Sie Abhängigkeitswarnungen und das Abhängigkeitsdiagramm für ein Repository.
Aktivieren und Deaktivieren von Sicherheitsupdates für ein Repository.
Anzeigen von Abhängigkeitsinformationen.
Repos-API
GraphQL-API

Wenn Sie GitHub-Aktionen verwenden möchten, um Ihre Sicherheitsworkflows zu automatisieren, ist es wichtig, die Berechtigungen für die GITHUB_TOKEN verwendung für authentifizierte API-Aufrufe ordnungsgemäß festzulegen. Das GITHUB_TOKEN verfügt je nach Geltungsbereich über Standardberechtigungen:

Umfang Standardzugriff (zulässig) Standardzugriff (eingeschränkt) Maximaler Zugriff von geforkten Repositories
Aktionen Lesen/Schreiben nichts Lesen
Prüfungen Lesen/Schreiben nichts Lesen
Inhalt Lesen/Schreiben Lesen Lesen
Bereitstellungen Lesen/Schreiben nichts Lesen
id-token Lesen/Schreiben nichts Lesen
Probleme Lesen/Schreiben nichts Lesen
Metadaten Lesen Lesen Lesen
pakete Lesen/Schreiben nichts Lesen
pull-requests Lesen/Schreiben nichts Lesen
Repository-Projekte Lesen/Schreiben nichts Lesen
Sicherheitsereignisse Lesen/Schreiben nichts Lesen
Status Lesen/Schreiben nichts Lesen

Du kannst die Berechtigungen für das GITHUB_TOKEN in einzelnen Workflowdateien ändern. Wenn die Standardberechtigungen für die GITHUB_TOKEN einschränkungsbeschränkt sind, müssen Sie möglicherweise die Berechtigungen erhöhen, damit einige Aktionen und Befehle erfolgreich ausgeführt werden können. Wenn die Standardberechtigungen freizügig sind, kannst du die Workflowdatei bearbeiten, um einige Berechtigungen aus dem GITHUB_TOKEN zu entfernen. Als bewährte Sicherheitsmethode solltest du dem GITHUB_TOKEN nur den geringsten erforderlichen Zugriff gewähren.

Sie können auch den permissions Schlüssel in Ihren Workflowdateien verwenden, um Berechtigungen für den GITHUB_TOKEN gesamten Workflow oder für einzelne Aufträge zu ändern. Mit diesem Schlüssel können Sie die erforderlichen Mindestberechtigungen für einen Workflow oder Auftrag konfigurieren. Wenn der permissions Schlüssel verwendet wird, werden alle nicht angegebenen Berechtigungen auf keinen Zugriff festgelegt, mit Ausnahme des Metadatenbereichs, der immer Lesezugriff erhält.

name: Create issue on commit

on: [ push ]

jobs:
  create_commit:
    runs-on: ubuntu-latest
    permissions:
      issues: write
    steps:
      - name: Create issue using REST API
        run: |
          curl --request POST \
          --url http(s)://[hostname]/api/v3/repos/${{ github.repository }}/issues \
          --header 'authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' \
          --header 'content-type: application/json' \
          --data '{
            "title": "Automated issue for commit: ${{ github.sha }}",
            "body": "This issue was automatically created by the GitHub Action workflow **${{ github.workflow }}**. \n\n The commit hash was: _${{ github.sha }}_."
            }' \
          --fail

Im Beispiel oben wird Schreibzugriff für einen Bereich für einen einzelnen Auftrag gewährt.

Darüber hinaus können Sie den permissions-Schlüssel verwenden, um Leseberechtigungen für geforkte Repositories hinzuzufügen und zu entfernen, aber in der Regel können Sie keinen Schreibzugriff gewähren. Eine Ausnahme dieses Verhaltens besteht dann, wenn Sie in den Einstellungen für GitHub Actions die Option Send write tokens to workflows from pull requests (Schreibtoken an Workflows aus Pull Requests senden) ausgewählt haben.