Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GitHub Advanced Security für Azure DevOps fügt die Suite der Sicherheitsfunktionen von GitHub Advanced Security zu Azure Repos hinzu und umfasst die folgenden Features:
- Pushschutz für Geheimnisüberprüfung: Überprüft, ob Codepushvorgänge Commits enthalten, die Geheimnisse wie Anmeldeinformationen offenlegen.
- Überprüfung des Repositorys für Geheimnisüberprüfung: Überprüft Ihr Repository, und sucht nach offengelegten Geheimnissen, die versehentlich committet wurden.
- Abhängigkeitsüberprüfung: Sucht nach bekannten Sicherheitsrisiken in Open-Source-Abhängigkeiten (direkt und transitiv).
- Codeüberprüfung: Verwendet die statische Analyse-Engine von CodeQL, um Sicherheitsrisiken auf Codeebene zu identifizieren, z. B. SQL-Einschleusung und Authentifizierungsumgehung.
Sie können den Schutz von Advanced Security in Ihr Unternehmen mit der Flexibilität bringen, um das richtige Schutzniveau für Ihre Repositorys zu ermöglichen. GitHub Advanced Security für Azure DevOps ist als GitHub Secret Protection für Azure DevOps und GitHub Code Security für Azure DevOps verfügbar.
Der geheime Schutz umfasst die folgenden Features:
- Pushschutz, um geheime Lecks zu verhindern, bevor sie auftreten
- Geheime Scanbenachrichtigungen mit Benachrichtigungen, um vorhandene Expositionen abzufangen, bevor sie zu einem Problem werden
- Sicherheitsübersicht, die Einblicke in das Risiko- und Sicherheitsniveau Ihrer Organisation bietet
Die Codesicherheit umfasst die folgenden Features:
- Abhängigkeitswarnungen, um Sicherheitsrisiken in Open-Source-Abhängigkeiten zu finden
- CodeQL-Überprüfung, um Sicherheitsrisiken direkt in Ihrem Code zu erkennen
- Sicherheitsergebnisse für Tools von Drittanbietern
- Sicherheitsübersicht, die Einblicke in das Risiko- und Sicherheitsniveau Ihrer Organisation bietet
GitHub Advanced Security für Azure DevOps ist nur für Azure DevOps Services und speziell für Code-Git-Repositorys verfügbar.
GitHub Advanced Security für Azure DevOps funktioniert mit Azure Repos. Informationen zur Verwendung von GitHub Advanced Security mit GitHub-Repositorys finden Sie unter GitHub Advanced Security.
Voraussetzungen
| Kategorie | Anforderungen |
|---|---|
| Erlaubnisse | – Um eine Zusammenfassung aller Warnungen für ein Repository anzuzeigen: Beitragsberechtigungen für das Repository. - Um Warnhinweise in der erweiterten Sicherheit zu verwerfen: Projektadministrator Berechtigungen. – So verwalten Sie Berechtigungen in Advanced Security: Mitglied der Gruppe "Project Collection Administrators" oder Berechtigung "Advanced Security: Einstellungen verwalten" auf „Zulassen“ gesetzt. |
Weitere Informationen zu Erweiterten Sicherheitsberechtigungen finden Sie unter "Verwalten erweiterter Sicherheitsberechtigungen".
Zusätzliche Voraussetzungen für selbstgehostete Agents
Wenn Ihre Organisation selbst gehostete Agents verwendet, fügen Sie der Zulassungsliste die folgenden URLs hinzu, damit die Abhängigkeitsüberprüfungsaufgabe Sicherheitsrisikendaten abrufen kann. Weitere Informationen finden Sie unter Zulässige IP-Adressen und Domänen-URLs.
| Domänen-URL | Beschreibung |
|---|---|
https://governance.dev.azure.com |
Für Organisationen, die die Domäne dev.azure.com für den Zugriff auf ihre DevOps-Instanz verwenden. |
https://dev.azure.com |
Für Organisationen, die die Domäne dev.azure.com für den Zugriff auf ihre DevOps-Instanz verwenden. |
https://advsec.dev.azure.com |
Für Organisationen, die die Domäne dev.azure.com für den Zugriff auf ihre DevOps-Instanz verwenden. |
https://{organization_name}.governance.visualstudio.com |
Für Organisationen, die die Domäne {organization_name}.visualstudio.com für den Zugriff auf ihre DevOps-Instanz verwenden. |
https://{organization_name}.visualstudio.com |
Für Organisationen, die die Domäne {organization_name}.visualstudio.com für den Zugriff auf ihre DevOps-Instanz verwenden. |
https://{organization_name}.advsec.visualstudio.com |
Für Organisationen, die die Domäne {organization_name}.visualstudio.com für den Zugriff auf ihre DevOps-Instanz verwenden. |
Führen Sie eine kompatible Version der .NET-Runtime aus (derzeit .NET 8.x). Wenn keine kompatible Version auf dem Agent vorhanden ist, lädt der Buildtask für die Abhängigkeitsüberprüfung .NET herunter.
Stellen Sie sicher, dass das CodeQL-Bündel im Agent-Toolcache auf Ihrem Agent installiert ist. Sie können die
enableAutomaticCodeQLInstall: trueVariable mit derAdvancedSecurity-Codeql-Init@1Pipelineaufgabe für YAML-Pipelines verwenden oder dasEnable automatic CodeQL detection and installationKontrollkästchen für klassische Pipelines aktivieren. Alternativ finden Sie Anleitungen zur manuellen Installation unter Codeüberprüfung für GitHub Advanced Security für Azure DevOps.
Aktivieren von GitHub Advanced Security
Sie können Advanced Security auf Organisations-, Projekt- oder Repositoryebene aktivieren. Um auf jedes der Überprüfungstools und -ergebnisse zugreifen zu können, müssen Sie zunächst Advanced Security aktivieren. Nachdem Sie Advanced Security aktiviert haben, werden alle zukünftigen Pushvorgänge, die Geheimnisse enthalten, in ein Repository mit dieser Richtlinie blockiert, und die Überprüfung von Repositorygeheimnissen erfolgt im Hintergrund.
Onboarding auf Repositoryebene
- Navigieren Sie zu Ihren Projekteinstellungen für Ihr Azure DevOps-Projekt.
- Wählen Sie Repos>Repositorys aus.
- Wählen Sie das Repository aus, für das Sie Advanced Security aktivieren möchten.
- Wählen Sie Aktivieren und Abrechnung beginnen, um Advanced Security zu aktivieren aus. Ein Schildsymbol wird jetzt in der Repositoryansicht für jedes Repository mit aktivierter Advanced Security-Funktion angezeigt.
Onboarding auf Projektebene
- Navigieren Sie zu Ihren Projekteinstellungen für Ihr Azure DevOps-Projekt.
- Wählen Sie Repositorys aus.
- Wählen Sie die Registerkarte Einstellungen aus.
- Wählen Sie Alle aktivieren aus und es wird eine Schätzung für die Anzahl der aktiven Committer für Ihr Projekt angezeigt.
- Wählen Sie Abrechnung beginnen aus, um Advanced Security für jedes vorhandene Repository in Ihrem Projekt zu aktivieren.
- Wählen Sie optional Advanced Security für neue Repositorys automatisch aktivieren aus, sodass für alle neu erstellten Repositorys bei der Erstellung Advanced Security aktiviert wird.
Onboarding auf Organisationsebene
- Wechseln Sie zu Ihren Organisationseinstellungen für Ihre Azure DevOps-Organisation.
- Wählen Sie Repositorys aus.
- Wählen Sie Alle aktivieren aus, und es wird eine Schätzung für die Anzahl der aktiven Committer für Ihre Organisation angezeigt.
- Wählen Sie Abrechnung beginnen aus, um Advanced Security für jedes vorhandene Repository in Ihrer Organisation zu aktivieren.
- Wählen Sie optional Advanced Security für neue Repositorys automatisch aktivieren aus, sodass für alle neu erstellten Projekte bei der Erstellung Advanced Security aktiviert wird.
Einrichten der Überprüfung von Geheimnissen
Der Pushschutz für Geheimnisüberprüfung und Repositoryüberprüfung werden automatisch aktiviert, wenn Sie Advanced Security aktivieren. Sie können den Pushschutz für Geheimnisse auf der Seite mit den Repositoryeinstellungen aktivieren oder deaktivieren.
Das Secret Scanning Repository-Scanning wird automatisch gestartet, sobald Advanced Security für ein ausgewähltes Repository aktiviert wird.
Einrichten von Abhängigkeitsüberprüfung
Sie können den geheimen Schutz oder die Codesicherheit auf Organisation-, Projekt- oder Repositoryebene aktivieren.
Onboarding auf Repositoryebene
- Navigieren Sie zu Ihren Projekteinstellungen für Ihr Azure DevOps-Projekt.
- Wählen Sie Repos>Repositorys aus.
- Wählen Sie das Repository aus, für das Sie Advanced Security aktivieren möchten.
- Schalten Sie entweder den geheimen Schutz oder die Codesicherheit ein.
- Wählen Sie "Abrechnung beginnen" aus. Ein Schildsymbol wird nun in der Repositoryansicht für jedes Repository mit aktiviertem Produkt angezeigt.
- Um optional das Standardsetup für Abhängigkeitsscans zu aktivieren, wählen Sie "Optionen" aus, und aktivieren Sie das Standardmäßige Setup-Kontrollkästchen für Abhängigkeitsscans.
Onboarding auf Projektebene
- Navigieren Sie zu Ihren Projekteinstellungen für Ihr Azure DevOps-Projekt.
- Wählen Sie Repositorys aus.
- Wählen Sie die Registerkarte Einstellungen aus.
- Wählen Sie "Alle aktivieren" aus, und sehen Sie eine Schätzung für die Anzahl der aktiven Commiter pro Produkt für Ihr Projekt.
- Schalten Sie Ihre gewünschten Produkte des geheimen Schutzes oder der Codesicherheit um.
- Wählen Sie "Abrechnung beginnen" aus, um geheimen Schutz und/oder Codesicherheit für jedes vorhandene Repository in Ihrem Projekt zu aktivieren.
- Aktivieren Sie optional "Advanced Security" automatisch für neue Repositorys , damit alle neu erstellten Repositorys bei der Erstellung geheimen Schutz oder Codesicherheit aktiviert sind.
Onboarding auf Organisationsebene
- Wechseln Sie zu Ihren Organisationseinstellungen für Ihre Azure DevOps-Organisation.
- Wählen Sie Repositorys aus.
- Wählen Sie Alle aktivieren aus und sehen Sie eine Schätzung für die Anzahl der aktiven Committer pro Produkt für Ihre Organisation.
- Schalten Sie Ihre gewünschten Produkte des geheimen Schutzes oder der Codesicherheit um.
- Wählen Sie Abrechnung beginnen aus, um Advanced Security für jedes vorhandene Repository in Ihrer Organisation zu aktivieren.
- Aktivieren Sie optional "Advanced Security" automatisch für neue Repositorys , sodass alle neu erstellten Projekte bei der Erstellung den geheimen Schutz oder die Codesicherheit aktiviert haben.
Einrichten der Überprüfung von Geheimnissen
Geheimer Scan-Pushschutz und Repositoryüberprüfung werden automatisch aktiviert, wenn Sie den geheimen Schutz aktivieren. Sie können den Pushschutz für Geheimnisse auf der Seite mit den Repositoryeinstellungen aktivieren oder deaktivieren.
Wie bereits erwähnt, wird die Überprüfung des geheimen Überprüfungs-Repositorys automatisch gestartet, wenn der geheime Schutz für ein ausgewähltes Repository aktiviert wird.
Einrichten von Abhängigkeitsüberprüfung
Um Zugriff auf die Features zum Scannen von Abhängigkeiten zu erhalten, benötigen Sie das Code-Sicherheitsprodukt, das für Ihr Repository aktiviert ist.
Abhängigkeitsüberprüfung ist ein pipelinebasiertes Überprüfungstool. Die Ergebnisse werden pro Repository aggregiert. Zum Scannen Ihrer Standardverzweigung können Sie die Einstellung "Auf anfällige Abhängigkeiten überprüfen" auf der Seite "Repositoryeinstellungen" verwenden. Dies schließt automatisch die Abhängigkeitsüberprüfungsaufgabe in jede Pipeline ein, die auf Ihren Standardverzweigung ausgerichtet ist, oder alle Pull-Anforderungsbuilds, die auf Ihre Standardverzweigung ausgerichtet sind.
Für eine erweiterte Einrichtung oder wenn Sie alle Verzweigungen überprüfen möchten, empfehlen wir, die Abhängigkeitsscanaufgabe allen Pipelines hinzuzufügen, die Sie überprüfen möchten. Weitere Details finden Sie unter Abhängigkeitsscans für GitHub Advanced Security für Azure DevOps .
Einrichten der Codeüberprüfung
Um Zugriff auf Codeüberprüfungsfeatures zu erhalten, benötigen Sie das Code Security-Produkt , das für Ihr Repository aktiviert ist.
Codeüberprüfung ist auch ein pipelinebasiertes Überprüfungstool, bei dem die Ergebnisse pro Repository aggregiert werden.
Tipp
Die Codeüberprüfung kann eine zeitintensivere Buildaufgabe sein. Daher wird empfohlen, die Codeüberprüfungsaufgabe einer separaten, geklonten Pipeline Ihrer Hauptproduktionspipeline hinzuzufügen oder eine neue Pipeline zu erstellen.
Fügen Sie die Tasks in der folgenden Reihenfolge hinzu:
- Erweiterte Sicherheit CodeQL initialisieren (AdvancedSecurity-Codeql-Init@1)
- Ihre benutzerdefinierten Buildschritte
- CodeQL-Analyse für erweiterte Sicherheit ausführen (AdvancedSecurity-Codeql-Analyze@1)
Geben Sie außerdem an, welche Sprache Sie in der Initialize CodeQL Aufgabe analysieren. Sie können eine durch Kommas getrennte Liste verwenden, um mehrere Sprachen gleichzeitig zu analysieren. Unterstützte Sprachen sind csharp, cpp, go, java, javascript, python, ruby, swift. Wenn Sie selbst gehostete Agents verwenden, fügen Sie möglicherweise auch die enableAutomaticCodeQLInstall: true Variable hinzu, um die neuesten CodeQL-Bits für Ihren Agent automatisch zu installieren.
Hier ist eine Beispielstartpipeline:
trigger:
- main
pool:
# Additional hosted image options are available: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted#software
vmImage: ubuntu-latest
steps:
- task: AdvancedSecurity-Codeql-Init@1
inputs:
languages: "java"
# Supported languages: csharp, cpp, go, java, javascript, python, ruby, swift
# You can customize the initialize task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-init-v1?view=azure-pipelines
# If you're using a self-hosted agent to run CodeQL, use `enableAutomaticCodeQLInstall` to automatically use the latest CodeQL bits on your agent:
enableAutomaticCodeQLInstall: true
# Add your custom build steps here
# - Ensure that all code to be scanned is compiled (often using a `clean` command to ensure you're building from a clean state).
# - Disable the use of any build caching mechanisms as this can interfere with CodeQL's ability to capture all the necessary data during the build.
# - Disable the use of any distributed/multithreaded/incremental builds as CodeQL needs to monitor executions of the compiler to construct an accurate representation of the application.
# - For dependency scanning, ensure you have a package restore step for more accurate results.
# If you had a Maven app:
# - task: Maven@4
# inputs:
# mavenPomFile: 'pom.xml'
# goals: 'clean package'
# publishJUnitResults: true
# testResultsFiles: '**/TEST-*.xml'
# javaHomeOption: 'JDKVersion'
# jdkVersionOption: '1.17'
# mavenVersionOption: 'Default'
# Or a general script:
# - script: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- task: AdvancedSecurity-Dependency-Scanning@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-dependency-scanning-v1?view=azure-pipelines
- task: AdvancedSecurity-Codeql-Analyze@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-analyze-v1?view=azure-pipelines
Geben Sie außerdem an, welche Sprache Sie in der Initialize CodeQL Aufgabe analysieren. Wenn die angegebene Sprache angegeben ist swift, sind benutzerdefinierte Buildschritte erforderlich.
Tipp
- Verwenden Sie
javazum Analysieren von Code, der in Java, Kotlin oder beiden Sprachen geschrieben wurde. - Verwenden Sie
javascriptzum Analysieren von Code, der in JavaScript, TypeScript oder beiden Sprachen geschrieben wurde.
Wenn Sie einen selbst gehosteten Agenten verwenden, wählen Sie die Option Enable automatic CodeQL detection and installation aus, um automatisch die neuesten CodeQL-Elemente auf Ihrem Agenten zu verwenden, falls Sie das neueste CodeQL-Bündel nicht manuell im Toolcache Ihres Agenten installiert haben.
Um Warnungen zu generieren, führen Sie Ihre erste Überprüfung mit einer Pipeline mit enthaltenem Task für Codeüberprüfung aus.
Einrichten von Pull Request-Anmerkungen
Für sowohl Abhängigkeitsscans als auch Codeüberprüfungen werden Anmerkungen automatisch für Pull-Requests konfiguriert, bei denen eine Buildvalidierungsrichtlinie mit Aufgaben für Abhängigkeits- und/oder Code-Scanning in Ihrer Pipeline gilt. Weitere Informationen zum Konfigurieren von Buildüberprüfungsrichtlinien finden Sie unter Buildüberprüfung.
Anmerkungen zur Pullanforderung erfordern außerdem einen Advanced Security-Scan in Ihrem Standardbranch und Zielzweig, bevor Sie den Quellzweig (Pullanforderung) überprüfen. Weitere Informationen zum Auflösen von Warnungen für Pull Request-Branches finden Sie unter Verwalten von Abhängigkeitsüberprüfungswarnungen für Pull Requests und Verwalten von Codeüberprüfungswarnungen für Pull Requests.
Um Advanced Security zu deaktivieren, werden alle Warnungen und deren Status auf der Registerkarte "Erweiterte Sicherheit" für den Zeitpunkt gespeichert, an dem Sie Advanced Security für Ihr Repository erneut aktivieren.
Verwandte Artikel
- Warnungen der Codeüberprüfung für GitHub Advanced Security für Azure DevOps
- Warnungen der Abhängigkeitsüberprüfung für GitHub Advanced Security für Azure DevOps
- Warnungen der Geheimnisüberprüfung für GitHub Advanced Security für Azure DevOps
- Berechtigungen für GitHub Advanced Security für Azure DevOps
- Abrechnung für GitHub Advanced Security für Azure DevOps