In diesem Dokument wird beschrieben, wie Sie Ihre vertraulichen Informationen mit der integrierten Secret-Suche in Secure Source Manager schützen.
Die Secret-Suche in Secure Source Manager verbessert die Sicherheit Ihrer Codebasis. Dabei werden Commits analysiert, die in Ihre Repositories übertragen oder über Pull-Anfragen zusammengeführt wurden. Es wird aktiv nach vertraulichen Informationen gesucht, die Sie verschlüsseln oder entfernen sollten. Wenn solche Daten gefunden werden, lehnt die Secret-Suche die Übertragung automatisch ab oder blockiert die Zusammenführung der Pull-Anfrage, wodurch verhindert wird, dass vertrauliche Details versehentlich zusammengeführt werden.
Bei der Secret-Suche in Secure Source Manager werden die folgenden Informationskategorien als vertraulich behandelt:
- Verschlüsselungsschlüssel: Dazu gehören Elemente wie private SSH-Schlüssel.
- AWS-Anmeldedaten: Zugriffsschlüssel und geheime Schlüssel für Amazon Web Services.
- Google Cloud Anmeldedaten: Dienstkontoschlüssel und andere Google Cloud Secrets.
- OAuth-Clientschlüssel: Secrets, die für die Anwendungsauthentifizierung mit OAuth verwendet werden.
- Geheime Schlüssel: Vertrauliche Schlüssel, die für die Authentifizierung oder Autorisierung verwendet werden.
Secret-Suche aktivieren
Prüfen Sie, ob die folgenden Rollen und Einstellungen für Ihr Repository aktiviert sind.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Secure Source Manager-Repository-Administrator (roles/securesourcemanager.repoAdmin) für die Secure Source Manager-Instanz zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aktivieren der Secret-Suche benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Informationen zum Zuweisen von Secure Source Manager-Rollen, siehe Zugriffssteuerung mit IAM und Nutzern Zugriff auf Instanzen gewähren.
Dienstkontoberechtigungen
Wenn Sie die Secret-Suche so konfigurieren, dass eine benutzerdefinierte Inspektionsvorlage für Schutz sensibler Daten verwendet wird, muss das von Secure Source Manager verwendete Dienstkonto die Berechtigung zum Lesen der Vorlage haben (z. B. die Rolle „DLP-Leser“, roles/dlp.reader).
- Wenn für das Repository ein dienstkontobezogenes Dienstkonto konfiguriert ist, verwendet Secure Source Manager ausschließlich dieses Dienstkonto. Sie müssen dem dienstkontobezogenen Dienstkonto die Leseberechtigung für die Vorlage gewähren.
- Wenn kein dienstkontobezogenes Dienstkonto konfiguriert ist, verwendet Secure Source Manager das Instanzdienstkonto.
Repository-Einstellungen aktualisieren
Sie können die Secret-Suche für Ihre Repositories über die Secure Source Manager-Benutzeroberfläche aktivieren:
- Rufen Sie das Repository auf, für das Sie die Secret-Suche aktivieren möchten.
- Klicken Sie auf das Symbol Einstellungen.
- Suchen Sie den Ein/Aus-Button Secret-Suche.
- Klicken Sie auf den Ein/Aus-Button, um die Position Ein festzulegen.
- Optional: Geben Sie im Feld Inspektionsvorlage den Ressourcennamen Ihrer Inspektionsvorlage für Schutz sensibler Daten ein.
Mit der Secret-Suche arbeiten
Sobald die Secret-Suche aktiviert ist, werden Commits in Ihrem Repository aktiv überwacht. Wenn in einem Commit, der mit Git übertragen oder über eine Pull-Anfrage in der Web-Benutzeroberfläche zusammengeführt wurde, vertrauliche Informationen gefunden werden, wird der Commit abgelehnt oder die Zusammenführung blockiert.
Wenn Sie über die Befehlszeile übertragen, erhalten Sie eine Fehlermeldung, die auf das Vorhandensein vertraulicher Daten hinweist. An diesem Punkt haben Sie zwei Möglichkeiten:
Änderung rückgängig machen
Wenn Sie die vertraulichen Informationen entfernen möchten, können Sie den problematischen Commit mit dem folgenden Befehl rückgängig machen:
git reset --soft COMMIT_ID
Ersetzen Sie COMMIT_ID durch die tatsächliche Commit-ID.
Da Git den Verlauf aller Commits beibehält, können vertrauliche Informationen weiterhin aus früheren Commits wiederhergestellt werden. Verwenden Sie dazu den Befehl git reset --soft. Korrigieren Sie dann die Dateien und übertragen Sie sie noch einmal, um die Daten aus dem letzten Verlauf des Zweigs zu entfernen.
Commit erzwingen (Secret-Suche umgehen)
In bestimmten Situationen, in denen die erkannten Informationen als akzeptabel gelten, können Nutzer mit den entsprechenden Berechtigungen die Secret-Suche umgehen und den Commit erzwingen.
git push -o dlpskip=true origin \
BRANCH_NAME
Ersetzen Sie BRANCH_NAME durch den Namen des Zweigs, den Sie zusammenführen.