Skip to main content

Einrichten eines Governanceframeworks für dein Unternehmen

Du kannst Governance und Compliance für dein Unternehmen mithilfe von Features und Tools verwalten, die in GitHub Enterprise verfügbar sind.

Du hast den Unternehmensbesitz inne und bist dafür verantwortlich, innerhalb deines Unternehmens einen starken Sicherheitsstatus zu wahren, Vorschriften einzuhalten, Risiken zu verringern und geistiges Eigentum zu schützen. GitHub verfügt über Tools, die dir dabei helfen können.

Indem du den Code deines Unternehmens auf GitHub speicherst, vereinfachst du die Zusammenarbeit, die Nachverfolgung und die Bereitstellung von einem einzigen Ort aus. Denn Projektbeteiligten das reibungslose Arbeiten in Repositorys zu ermöglichen, ist zwar wichtig für Kultur und Produktivität, du solltest jedoch auch gewisse Kontrollmechanismen implementieren, um sicherzustellen, dass dein Code sicher und zuverlässig bleibt.

Mit GitHub Enterprise hast du Zugriff auf alle Governancefeatures von GitHub. So kannst du:

  • kontrollieren, wie Beteiligte Code aktualisieren können
  • steuern, wie Beteiligte Repositorys verwenden können
  • Überwachen der Aktivität
  • kompromittierte Geheimnisse erkennen
  • einen Genehmigungsprozess für wichtige Aktionen einrichten
  • Sicherheitsrisiken oder Fehler im Code erkennen

Schützen von Branches

Bei wichtigen Branches in den Repositorys deines Unternehmens, z. B. solche mit Produktionscode, sollte dein Complianceframework das Risiko senken, dass Fehler oder bösartiger Code in deine Produktionsumgebungen gelangt.

Mit Regelsätzen kannst du Regeln anwenden, die steuern, wie mit bestimmten Branches interagiert werden kann. Du kannst bestimmten Benutzenden auch das Recht erteilen, die Regeln explizit zu umgehen. Dies ermöglicht Flexibilität und verdeutlicht gleichzeitig die vorgesehenen Einschränkungen.

Viele Unternehmen führen Regeln ein, die:

  •           **Löschungen einschränken**, damit du sicher sein kannst, dass die Benutzenden den Branch nicht versehentlich löschen
    
  •           ** Verlange eine Pull-Request** für alle Änderungen, damit du einen schriftlichen Nachweis hast und Überprüfungen durchsetzen kannst
    
  •           **Verlangt vor dem Zusammenführen von Pull-Requests Statusüberprüfungen und erfolgreiche Bereitstellungen** , damit ihr euch vor Fehlern in der Produktion schützen könnt.
    

Andere Regeln wie das Erfordern signierter Commits oder eines linearen Commitverlaufs hängen stärker von der Situation und deinen Complianceanforderungen ab.

Wenn du den Unternehmensbesitz inne hast, kannst du Regelsätze auf Unternehmensebene erstellen, die flexibel auf die gewünschten Repositorys und Branches angewendet werden. Dazu fügst du zunächst jedem Standardbranch in deinem Unternehmen grundlegende Schutzmechanismen hinzu und erstellst dann auf dieser Grundlage dein Framework. Weitere Informationen zu den ersten Schritten findest du unter Erzwingen der Codegovernance in deinem Unternehmen mit Regelsätzen.

Verwalten der Verwendung von Repositorys

Da der Code und die Daten deines Unternehmens in Repositorys aufbewahrt werden, solltest du unbedingt definieren, wie Benutzende mit deinen Repositorys interagieren können, um das Risiko von Datenlecks zu verringern. In den Unternehmenseinstellungen kannst du festlegen, dass Richtlinien:

  • die Standardsichtbarkeit von Repositorys einschränken
  • verhindern, dass Nichtmitglieder zu Repositorys eingeladen werden
  • verhindern, dass Repositorys geforkt oder an einen Ort außerhalb einer Organisation übertragen werden

Das Ziel deiner Richtlinien sollte sein, deine Sicherheitsanforderungen beizubehalten und gleichzeitig die reibungslose Zusammenarbeit in der Entwicklung zu fördern. Du kannst beispielsweise eine Open-Source-Organisation für alle öffentlichen Repositorys deines Unternehmens erstellen und verhindern, dass öffentliche Repositorys in einer anderen Organisation erstellt werden.

Die einfachste Möglichkeit, Einschränkungen zu erzwingen, besteht in der Erstellung einer Repositoryrichtlinie. Auf diese Weise kannst du Einschränkungen zu Sichtbarkeit, Benennung, Erstellung, Löschung und Übertragung flexibel auf Organisationen und Repositorys in deinem Unternehmen anwenden. Weitere Informationen findest du unter Verwalten der Verwendung von Repositorys in deinem Unternehmen.

Andere Richtlinien setzen allgemeine Beschränkungen durch. Diese Richtlinien bieten dir mehr Kontrolle über den Lebenszyklus eines Repositorys, sind aber nicht so flexibel wie Repositoryrichtlinienfeatures. Weitere Informationen findest du unter Erzwingen von Repositoryverwaltungsrichtlinien in einem Unternehmen.

Adressierung von Richtlinien mit Metadaten

Sie können eine bessere Governance durch automatisierte Richtlinienerzwingung aktivieren. Dies ist mit benutzerdefinierten Eigenschaften möglich, sodass Sie Ihren Ressourcen strukturierte Metadaten hinzufügen können. Weitere Informationen findest du unter Benutzerdefinierte Eigenschaften.

Mit benutzerdefinierten Repositoryeigenschaften können Sie Repositorys nach Attributen wie Risikostufe, Teambesitz oder Complianceanforderungen klassifizieren. Mit diesen Metadaten können Sie basierend auf Repositorymerkmalen automatisch unterschiedliche Governanceregeln anwenden.

Mit benutzerdefinierten Eigenschaften der Organisation können Sie Organisationen innerhalb Ihres Unternehmens nach Datenempfindlichkeit, regulatorischen Frameworks oder Geschäftseinheiten kategorisieren. Anschließend können Sie diese Eigenschaften verwenden, um Organisationen selektiv mit Enterprise-Rulesets zu adressieren.

Beide Arten von benutzerdefinierten Eigenschaften sind in Regelets integriert, sodass Sie leistungsstarke Governanceframeworks erstellen können, die die richtigen Richtlinien basierend auf Metadaten und nicht auf der manuellen Repositoryauswahl automatisch erzwingen.

Informationen findest du unter Verwalten von benutzerdefinierten Eigenschaften für Repositorys in Ihrer Organisation und Verwalten von benutzerdefinierten Eigenschaften für Organisationen.

Überwachen von Aktivitäten

Wenn etwas schiefgeht, ist es wichtig, Aktivitäten in deinem Unternehmen durchsuchen zu können, um die Ursache oder den Umfang des Problems zu untersuchen.

Das Überwachungsprotokoll von GitHub enthält detaillierte Ereignisse zu deinem Unternehmenskonto, deinen Organisationen und, wenn du Enterprise Managed Users verwendest, deinen verwalteten Benutzerkonten. Du kannst das Überwachungsprotokoll z. B. nach Abrechnungsaktivitäten filtern oder nach Ereignissen zu einem kompromittierten Token suchen.

Informationen zum Zugriff auf das Überwachungsprotokoll findest du unter Zugreifen auf das Überwachungsprotokoll für dein Unternehmen.

GitHub bewahrt die Daten aus Überwachungsprotokollen nicht auf unbestimmte Zeit auf. Es wird empfohlen, deine Überwachungsprotokolle an einen externen Ort zu streamen, damit die Daten so lange wie nötig aufbewahrt und mit externen Tools abgefragt werden können. Weitere Informationen findest du unter Streamen des Überwachungsprotokolls für ein Unternehmen.

Verhindern, dass vertrauliche Informationen deine Codebasis erreichen

Um geistiges Eigentum zu schützen und Sicherheitsincidents zu verhindern, muss ein System implementiert werden, um vertrauliche Informationen wie Token aus deiner Codebasis herauszuhalten.

Secret scanning

Mit secret scanning kannst du deinen Code scannen, um vertrauliche Informationen wie API-Schlüssel, Kennwörter und andere Anmeldeinformationen in der Codebasis zu erkennen und unbefugten Zugriff sowie potenzielle Verstöße zu verhindern. Secret scanning benachrichtigt dich über vertrauliche Informationen in deiner Codebasis, sodass du entsprechend reagieren kannst, indem du Kennwörter änderst oder Token rotierst. Bei generischen Geheimnissen wie Kennwörtern wird secret scanning von GitHub Copilot unterstützt und verwendet KI. Siehe Verantwortungsvolle Erkennung von generischen Geheimnissen mit Copilot Secret Scanning

Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung.

Secret scanning kann auf Unternehmens-, Organisations- und Repositoryebene aktiviert werden. Weitere Informationen zur Aktivierung auf Unternehmensebene findest du unter Informationen zu Sicherheitskonfigurationen.

Push-Schutz

Darüber hinaus kannst du mit Push-Schutz verhindern, dass vertrauliche Daten und Anmeldeinformationen versehentlich an Repositorys übertragen werden.

Der Push-Schutz scannt in Echtzeit auf Geheimnisse und blockiert Pushes, die potenziell vertrauliche Informationen enthalten. Organisationsbesitzende können Push-Schutzrichtlinien auf Organisationsebene konfigurieren, um einheitliche Sicherheitsstandards in allen Repositorys durchzusetzen. Wenn ein Push blockiert wird, erhält die Entwicklungsabteilung detaillierte Angaben zur Problembehebung, z. B. zum Entfernen des Geheimnisses aus dem Code.

Weitere Informationen findest du unter Informationen zum Pushschutz.

Der Push-Schutz kann auf Organisations-, Repository- und Benutzerkontoebene aktiviert werden. Weitere Informationen findest du unter Aktivieren des Push-Schutzes für dein Repository.

Hinweis

Die Konfiguration von Mustern für den Pushschutz auf Unternehmens- und Organisationsebene befindet sich derzeit in der öffentliche Vorschau. Änderungen sind vorbehalten.

Um die Erkennung von Geheimnissen an internen Sicherheitsrichtlinien auszurichten und die unbefugte Offenlegung sensibler Informationen in deinen Repositorys effektiver zu verhindern, kannst du auf Unternehmens- oder Organisationsebene festlegen, welche Geheimnismuster in den Push-Schutz einbezogen werden. Informationen findest du unter Zusätzliche Einstellungen für Secret Scanning für dein Unternehmen festlegen und Konfigurieren globaler Sicherheitseinstellungen für Ihre Organisation.

Einrichten eines Genehmigungsprozesses für vertrauliche Aktionen

Du solltest auch einen Genehmigungsprozess einrichten, um besser zu steuern, wer in deinem Unternehmen vertrauliche Aktionen ausführen kann. Ein Genehmigungsprozess hilft, das Risiko nicht autorisierter oder böswilliger Änderungen zu verringern, und protokolliert, wer die Umgehung warum verwendet hat und stellt so sicher, dass alle Aktionen nachverfolgbar und rechenschaftspflichtig sind.

Hinweis

Die Implementierung dieses Genehmigungsprozesse kann unter Umständen Spannungen verursachen. Daher solltest du zunächst sicherstellen, dass dein Sicherheitsmanagementteam ausreichend Kompetenzen hat.

Genehmigungsprozesse sind verfügbar für:

  • Umgehungen des Push-Schutzes: Du kannst auswählen, wer den Push-Schutz umgehen darf, und einen Überprüfungs- und Genehmigungszyklus für Pushes einrichten, die Geheimnisse der anderen Mitwirkenden enthalten. Weitere Informationen zur delegierten Umgehung des Push-Schutzes findest du unter Info zur delegierten Umgehung für den Pushschutz.
  • Entlassung von Warnungen für code scanning, Dependabot, und secret scanning-Du kannst zusätzliche Kontrolle und Visibility über die Bewertung von Warnungen gewährleisten, indem du sicherstellst, dass nur bestimmte Personen Warnungen entlassen (oder abschließen) können. Weitere Informationen zur delegierten Warnungsentlassung finden Sie in den folgenden Artikeln:
    •           [AUTOTITLE](/code-security/code-scanning/managing-your-code-scanning-configuration/enabling-delegated-alert-dismissal-for-code-scanning)
      
    •       [AUTOTITLE](/code-security/dependabot/dependabot-alerts/enable-delegated-alert-dismissal)
      
    •           [AUTOTITLE](/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/enabling-delegated-alert-dismissal-for-secret-scanning)
      

Ermitteln von Sicherheitsrisiken und Fehlern

In vielen Branchen gelten Bestimmungen, die regelmäßige Sicherheitsbewertungen und Vulnerability Management vorschreiben. Code scanning hilft dabei, die Compliance mit Branchenstandards zu gewährleisten, indem Sicherheitsrisiken in deinem Code, wie z. B. unsichere Muster, identifiziert und behoben werden.

Code scanning kann in deine CI/CD-Pipeline integriert werden und bietet eine kontinuierliche Überwachung und Bewertung deiner Codebasis.

Für einen Direkteinstieg in code scanning empfehlen wir, das Standardsetup zu verwenden. Weitere Informationen findest du unter Konfigurieren des Standardsetups für das Code-Scanning.

Code scanning kann auf Unternehmens-, Organisations- und Repositoryebene aktiviert werden. Weitere Informationen zur Aktivierung auf Unternehmensebene findest du unter Informationen zu Sicherheitskonfigurationen.