Phase 2: Vorbereiten auf das Aktivieren im großen Stil
In dieser Phase bereitest du Entwickler*innen vor und sammelst Daten zu deinen Repositorys, sodass deine Teams bereit sind und du über alles verfügst, das du für Pilotprogramme sowie für das Rollout der code scanning und der secret scanning benötigst. Vorbereitung
Dieser Artikel ist Teil einer Reihe zum Einführen von GitHub Advanced Security im großen Stil.
Den vorherigen Artikel dieser Reihe findest du unter Phase 1: Ausrichten auf die Rolloutstrategie und -ziele.
Das Rollout der code scanning hunderte von Repositorys übergreifend kann eine Herausforderung darstellen, besonders dann, wenn es ineffizient erfolgt.
Wenn du die folgenden Schritte befolgst, wird dein Rollout sowohl effizient als auch erfolgreich. Als Teil der Vorbereitung arbeitest du in Teams, verwendest Automatisierung zum Sammeln von Daten zu deinen Repositorys und aktivierst die code scanning. Vorbereiten von Teams auf die code scanning
Bereite deine Teams zunächst darauf vor, die code scanning zu verwenden. Je mehr Teams die code scanning nutzen, desto mehr Daten können für Wartungspläne und zum Überwachen des Fortschritts bei deinem Rollout verwendet werden.
Konzentriere dich in dieser Phase auf das Nutzen von APIs und das Ausführen von internen Aktivierungen.
Dein Hauptfokus sollte auf dem Vorbereiten möglichst vieler Teams auf das Verwenden der code scanning liegen.
Du kannst die Teams auch dazu ermutigen, entsprechende Wartungen vorzunehmen. Es wird jedoch empfohlen, in dieser Phase das Aktivieren und Verwenden der code scanning gegenüber dem Lösen von Problemen zu priorisieren.
Sammeln von Informationen zu deinen Repositorys Du kannst programmgesteuert Informationen zu verschiedenen Programmiersprachen sammeln, die in deinen Repositorys verwendet werden, und diese Daten zum Aktivieren der code scanning mithilfe der GraphQL-API von GitHub AE in allen Repositorys nutzen, die dieselbe Sprache verwenden.
Hinweis: Um diese Daten zu sammeln, ohne die in diesem Artikel beschriebenen GraphQL-Abfragen manuell auszuführen, kannst du unser öffentlich verfügbares Tool verwenden. Weitere Informationen findest du im „ghas-enablement“-Tool-Repository.
query {
enterprise(slug: "OCTO-ENTERPRISE") {
organizations(first: 100) {
totalCount
nodes {
name
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
query {
organization(login: "OCTO-ORG") {
repositories(first: 100) {
totalCount
nodes {
nameWithOwner
languages(first: 100) {
totalCount
nodes {
name
}
}
}
pageInfo {
endCursor
hasNextPage
}
}
}
}
Ersetze „OCTO-ENTERPRISE“ durch deinen Unternehmensnamen.
Indem du die Repositorys auf Organisationsebene nach Sprache sortierst, kannst du ermitteln, welche Repositorys welche Sprachen verwenden.
Du kannst die nachstehende Beispiel-GraphQL-Abfrage ändern, indem du „OCTO-ORG“ durch den Namen der Organisation ersetzt. | Weitere Informationen zum Ausführen von GraphQL-Abfragen findest du unter Erstellen von Aufrufen mit GraphQL. | Konvertiere dann die Daten aus der GraphQL-Abfrage in ein lesbares Format, z. B. eine Tabelle. |
---|---|---|
Sprache | Anzahl der Repositorys | Name der Repositorys JavaScript (TypeScript) |
4212 | org/repo | org/repo Python |
2012 | org/repo | org/repo Go |
983 | org/repo | org/repo Java |
412 | org/repo | org/repo Swift |
111 | org/repo | org/repo Kotlin |
82 | org/repo | org/repo C |
12
org/repo org/repo Du kannst die aktuell nicht von GitHub Advanced Security unterstützten Sprachen aus dieser Tabelle herausfiltern.
Wenn du über Repositorys mit mehreren Sprachen verfügst, kannst du die GraphQL-Ergebnisse wie in der nachstehenden Tabelle dargestellt formatieren. | Filtere Sprachen heraus, die nicht unterstützt werden, behalte jedoch alle Repositorys mit mindestens einer unterstützten Sprache. | Du kannst die code scanning für diese Repositorys aktivieren, und alle unterstützten Sprachen werden überprüft. |
---|---|---|
Sprache(n) | Anzahl der Repositorys | Name der Repositorys JavaScript/Python/Go |
16 | org/repo | org/repo Rust/TypeScript/Python |
12
org/repo
org/repo
Wenn du weißt, welche Repositorys welche Sprachen verwenden, kannst du mögliche Repositorys für Pilotprogramme in Phase 3 leichter ermitteln und dich besser auf das repositoryübergreifende Aktivieren der code scanning in Phase 5 vorbereiten, das eine Sprache nach der anderen erfolgt. Vorbereiten auf das Aktivieren der secret scanning
Wenn du ein Geheimnis in ein Repository einfügst, kann jedermann mit Lesezugriff auf das Repository das Geheimnis verwenden, um mit deinen Privilegien auf den externen Dienst zuzugreifen.
Die Secret scanning überprüft deinen gesamten Gitverlauf auf allen vorhandenen Branches in deinen Repositorys von GitHub auf Geheimnisse und warnt dich oder blockiert den Push mit dem Geheimnis. Weitere Informationen findest du unter Informationen zur Geheimnisüberprüfung.
- Überlegungen beim Aktivieren der secret scanning
Die secret scanning-Funktion von GitHub AE unterscheidet sich etwas von der code scanning, da sie keine besondere Konfiguration nach Programmiersprache oder Repository bzw. allgemein weniger Konfigurationen benötigt. Dies bedeutet, dass das Aktivieren der secret scanning auf Organisationsebene leicht sein kann. Alle aktivieren auf Organisationsebene anzuklicken und einen Haken bei der Option secret scanning für jedes neue Repository automatisch aktivieren zu setzen, hat einige Downstreamauswirkungen, denen du dir bewusst sein solltest: Lizenzverbrauch - Das Aktivieren der secret scanning für alle Repositorys verbraucht alle deine Lizenzen, auch wenn keine Codeüberprüfung verwendet wird.
Solange du die Anzahl der aktiven Entwicklerinnen in deiner Organisation nicht erhöhen möchtest, ist dies in Ordnung. Wenn die Anzahl der aktiven Entwicklerinnen in den nächsten Monaten wahrscheinlich ansteigt, könntest du deine Lizenzgrenze überschreiten, sodass du dann GitHub Advanced Security nicht mehr für neu erstellte Repositorys verwenden kannst. Anfängliches hohes Volumen erkannter Geheimnisse
Wenn du die secret scanning für eine große Organisation aktivierst, findest du eine hohe Anzahl an Geheimnissen. Manchmal sind Organisationen damit überfordert, und der Alarm wird ausgelöst. Wenn du die secret scanning für alle Repositorys gleichzeitig aktivieren möchtest, solltest du planen, wie du auf mehrere Warnungen in der Organisation reagieren wirst. Secret scanning können für einzelne Repositorys aktiviert werden.
Weitere Informationen findest du unter Konfigurieren von secret scanning für deine Repositorys.
Secret scanning können, wie oben beschrieben, auch für alle Repositorys in deiner Organisation aktiviert werden.
Weitere Informationen zum Aktivieren für alle Repositorys findest du unter Verwalten der Sicherheits- und Analyseeinstellungen für deine Organisation.
Benutzerdefinierte Muster für die secret scanning
Weitere Informationen zu unterstützten Geheimnissen für Partnermuster findest du unter Geheimnisüberprüfungsmuster.
Erstelle eine Liste mit Geheimnistypen, wenn du Repositorys überwachst und mit Sicherheits- und Entwicklerteams sprichst, die du später zum Konfigurieren von benutzerdefinierten Mustern für die secret scanning verwenden kannst.
Weitere Informationen findest du unter Definieren benutzerdefinierter Muster für Geheimnisüberprüfungen.