Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GitHub Advanced Security för Azure DevOps lägger till GitHub Advanced Securitys uppsättning säkerhetsfunktioner till Azure Repos och innehåller följande funktioner:
- Skydd för hemlighetsgenomsökning: Kontrollera om kodöverföringar innehåller ändringsuppgifter som exponerar hemligheter, till exempel inloggningsuppgifter
- Hemlighetsskanning av repot: skanna ditt arkiv och leta efter exponerade hemligheter som skickats in av misstag
- Genomsökning av beroenden – sök efter kända sårbarheter i öppen källkod beroenden (direkt och transitiv)
- Kodgenomsökning – använd CodeQL-motorn för statisk analys för att identifiera programsårbarheter på kodnivå, till exempel SQL-inmatning och förbikoppling av autentisering
Du kan ge företaget skydd av avancerad säkerhet med flexibiliteten att aktivera rätt skyddsnivå för dina lagringsplatser. GitHub Advanced Security för Azure DevOps är tillgängligt som GitHub Secret Protection för Azure DevOps och GitHub Code Security för Azure DevOps.
Secret Protection innehåller följande funktioner:
- Push-skydd för att förhindra hemliga läckor innan de inträffar
- Hemliga genomsökningsaviseringar med meddelanden för att fånga upp befintliga exponeringar innan de blir ett problem
- Säkerhetsöversikt, som ger insikter om organisationens risk- och säkerhetsskyddsnivå
Kodsäkerhet innehåller följande funktioner:
- Beroendeaviseringar för att hitta sårbarheter i beroenden med öppen källkod
- CodeQL-genomsökning för att identifiera sårbarheter direkt i koden
- Säkerhetsresultat för verktyg från tredje part
- Säkerhetsöversikt, som ger insikter om organisationens risk- och säkerhetsskyddsnivå
GitHub Advanced Security för Azure DevOps är endast tillgängligt för Azure DevOps Services och specifikt för git-lagringsplatser med kod.
GitHub Advanced Security för Azure DevOps fungerar med Azure Repos. Information om hur du använder GitHub Advanced Security med GitHub-lagringsplatser finns i GitHub Advanced Security.
Förutsättningar
| Kategori | Krav |
|---|---|
| behörigheter | - Så här visar du en sammanfattning av alla aviseringar för en lagringsplats: Deltagare behörigheter för lagringsplatsen. – Så här stänger du aviseringar i Avancerad säkerhet: Projektadministratör behörigheter. – För att hantera behörigheter i Avancerad säkerhet: Medlem i Project Collection-administratörer-gruppen, eller Avancerad säkerhet: hantera inställningar -behörighet inställd på Tillåt. |
Mer information om avancerade säkerhetsbehörigheter finns i Hantera avancerade säkerhetsbehörigheter.
Extra krav för lokalt installerade agenter
Om din organisation använder lokalt installerade agenter lägger du till följande URL:er i listan över tillåtna så att beroendegenomsökningsaktiviteten kan hämta sårbarhetsrådgivningsdata. Mer information finns i Tillåtna IP-adresser och domän-URL:er.
| Domän-URL | beskrivning |
|---|---|
https://governance.dev.azure.com |
För organisationer som använder dev.azure.com domänen för att få åtkomst till sin DevOps-instans |
https://dev.azure.com |
För organisationer som använder dev.azure.com domänen för att få åtkomst till sin DevOps-instans |
https://advsec.dev.azure.com |
För organisationer som använder dev.azure.com domänen för att få åtkomst till sin DevOps-instans |
https://{organization_name}.governance.visualstudio.com |
För organisationer som använder domänen {organization_name}.visualstudio.com för att få åtkomst till sin DevOps-instans |
https://{organization_name}.visualstudio.com |
För organisationer som använder domänen {organization_name}.visualstudio.com för att få åtkomst till sin DevOps-instans |
https://{organization_name}.advsec.visualstudio.com |
För organisationer som använder domänen {organization_name}.visualstudio.com för att få åtkomst till sin DevOps-instans |
Kör en kompatibel version av .NET-körningen (för närvarande .NET 8.x). Om det inte finns någon kompatibel version på agenten laddar beroendescanningsuppgiften ned .NET.
Kontrollera att CodeQL-paketet är installerat i agentverktygets cacheminne på din agent. Du kan använda variabeln
enableAutomaticCodeQLInstall: truemed pipelineaktivitetenAdvancedSecurity-Codeql-Init@1för YAML-pipelines eller markera kryssrutanEnable automatic CodeQL detection and installationför klassiska pipelines. Alternativt, för anvisningar om manuell installation, se Kodgenomsökning för GitHub Advanced Security för Azure DevOps.
Aktivera GitHub Advanced Security
Du kan aktivera Avancerad säkerhet på organisations-, projekt- eller lagringsplatsnivå. För att få åtkomst till var och en av genomsökningsverktygen och resultaten måste du först aktivera Avancerad säkerhet. När du aktiverar Avancerad säkerhet blockeras alla framtida push-meddelanden som innehåller hemligheter till en lagringsplats med den här principen aktiverade, och genomsökning av lagringsplatshemligheter sker i bakgrunden.
Introduktion på arkivnivå
- Gå till dina Projektinställningar för ditt Azure DevOps-projekt.
- Välj Repo>Förvaret.
- Välj den lagringsplats som du vill aktivera Avancerad säkerhet för.
- Välj Aktivera och Börja fakturering för att aktivera Avancerad säkerhet. Nu visas en sköldikon i lagringsplatsens vy för alla lagringsplatser med Advanced Security aktiverat.
Onboarding på projektnivå
- Gå till dina Projektinställningar för ditt Azure DevOps-projekt.
- Välj Arkiv.
- Välj fliken Inställningar.
- Välj Aktivera alla och se en uppskattning av antalet aktiva committers för ditt projekt.
- Välj Börja fakturering för att aktivera Avancerad säkerhet för varje befintlig lagringsplats i projektet.
- Du kan också välja Aktivera Avancerad säkerhet automatiskt för nya lagringsplatser så att alla nyligen skapade lagringsplatser har Advanced Security aktiverat när de skapas.
Registrering på organisationsnivå
- Gå till organisationsinställningarna för din Azure DevOps-organisation.
- Välj Databaser.
- Välj Aktivera alla och se en uppskattning av antalet aktiva committers för din organisation visas.
- Välj Börja fakturering för att aktivera Avancerad säkerhet för varje befintlig lagringsplats i varje projekt i din organisation.
- Du kan också välja Aktivera Avancerad säkerhet automatiskt för nya lagringsplatser så att alla nyligen skapade projekt har Advanced Security aktiverat när de skapas.
Konfigurera hemlighetsskanning
Push-skydd för hemlig genomsökning och genomsökning av lagringsplatser aktiveras automatiskt när du aktiverar Avancerad säkerhet. Du kan aktivera eller inaktivera hemligt push-skydd från lagringsplatsens inställningssida.
Genomsökning av lagringsplatsen för hemlig genomsökning startas automatiskt när avancerad säkerhet aktiveras för en vald lagringsplats.
Konfigurera beroendegenomsökning
Du kan aktivera hemligt skydd eller kodsäkerhet på organisations-, projekt- eller lagringsplatsnivå.
Introduktion på arkivnivå
- Gå till dina Projektinställningar för ditt Azure DevOps-projekt.
- Välj Repo>Förvaret.
- Välj den lagringsplats som du vill aktivera Avancerad säkerhet för.
- Växla antingen Hemligt skydd eller Kodsäkerhet.
- Välj Börja fakturering. Nu visas en sköldikon i lagringsplatsvyn för valfri lagringsplats med någon av produkterna aktiverade.
- Om du vill aktivera standardinställningen för beroendegenomsökning, välj Alternativ och markera kryssrutan för att aktivera den.
Onboarding på projektnivå
- Gå till dina Projektinställningar för ditt Azure DevOps-projekt.
- Välj Arkiv.
- Välj fliken Inställningar.
- Välj Aktivera alla och se en uppskattning av antalet aktiva committers för varje produkt i ditt projekt.
- Aktivera dina önskade produkter av Secret Protection eller Code Security.
- Välj Börja fakturering för att aktivera Hemligt skydd och/eller Kodsäkerhet för varje befintlig lagringsplats i projektet.
- Du kan också växla Aktivera Avancerad säkerhet automatiskt för nya lagringsplatser så att alla nyligen skapade lagringsplatser har secret protection eller kodsäkerhet aktiverat när de skapas.
Registrering på organisationsnivå
- Gå till organisationsinställningarna för din Azure DevOps-organisation.
- Välj Databaser.
- Välj Aktivera alla och se en uppskattning av antalet aktiva committerare per produkt för din organisation.
- Aktivera dina önskade produkter av Secret Protection eller Code Security.
- Välj Börja fakturering för att aktivera Avancerad säkerhet för varje befintlig lagringsplats i varje projekt i din organisation.
- Du kan också växla Aktivera Avancerad säkerhet automatiskt för nya lagringsplatser så att alla nyligen skapade projekt har Hemligt skydd eller Kodsäkerhet aktiverat när de skapas.
Konfigurera hemlighetsskanning
Push-skydd för hemlig genomsökning och genomsökning av lagringsplatser aktiveras automatiskt när du aktiverar Hemligt skydd. Du kan aktivera eller inaktivera hemligt push-skydd från lagringsplatsens inställningssida.
Som nämnts startas genomsökningen av lagringsplatsen för hemlig genomsökning automatiskt när hemligt skydd aktiveras för en vald lagringsplats.
Konfigurera beroendegenomsökning
För att få åtkomst till funktioner för beroendegenomsökning behöver du kodsäkerhetsprodukten aktiverad för lagringsplatsen.
Beroendeskanning är ett pipelinebaserat skanningsverktyg. Resultaten aggregeras per lagringsplats. Om du vill söka igenom standardgrenen kan du använda inställningen "Sök efter sårbara beroenden" från sidan för lagringsplatsinställningar. Detta inkluderar automatiskt beroendegenomsökningsaktiviteten i en pipeline som riktar sig till din standardgren, eller någon pull-begärandeversion som riktar sig till din standardgren.
Om du vill ha en mer avancerad konfiguration eller om du vill genomsöka alla grenar rekommenderar vi att du lägger till beroendegenomsökningsaktiviteten i alla pipelines som du vill skanna. Mer information finns i Genomsökning av beroenden för GitHub Advanced Security för Azure DevOps .
Konfigurera kodgenomsökning
För att få åtkomst till kodgenomsökningsfunktioner behöver du kodsäkerhetsprodukten aktiverad för lagringsplatsen.
Kodgenomsökning är också ett pipelinebaserat genomsökningsverktyg där resultaten aggregeras per lagringsplats.
Tips
Kodgenomsökning kan vara en mer tidsintensiv bygguppgift, så vi rekommenderar att du lägger till kodgenomsökningsaktiviteten i en separat klonad pipeline för huvudproduktionspipelinen eller skapar en ny pipeline.
Lägg till aktiviteterna i följande ordning:
- Avancerad säkerhet Initiera CodeQL (AdvancedSecurity-Codeql-Init@1)
- Dina anpassade byggsteg
- Advanced Security Utför CodeQL-analys (AdvancedSecurity-Codeql-Analyze@1)
Ange också vilket språk du analyserar i Initialize CodeQL uppgiften. Du kan använda en kommaavgränsad lista för att analysera flera språk samtidigt. De språk som stöds är csharp, cpp, go, java, javascript, python, ruby, swift. Om du använder lokalt installerade agenter kan du också lägga till variabeln enableAutomaticCodeQLInstall: true för att automatiskt installera de senaste CodeQL-bitarna för din agent.
Här är ett exempel på en startpipeline:
trigger:
- main
pool:
# Additional hosted image options are available: https://free.blessedness.top/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://free.blessedness.top/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://free.blessedness.top/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://free.blessedness.top/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-analyze-v1?view=azure-pipelines
Ange också vilket språk du analyserar i Initialize CodeQL uppgiften. Om det angivna språket är swiftkrävs anpassade byggsteg.
Tips
- Använd
javaför att analysera kod som skrivits i Java, Kotlin eller båda. - Använd
javascriptför att analysera kod som skrivits i JavaScript, TypeScript eller båda.
Om du kör på en lokalt installerad agent väljer du Enable automatic CodeQL detection and installation att automatiskt använda de senaste CodeQL-bitarna på din agent om du inte installerade det senaste CodeQL-paketet manuellt i agentverktygets cacheminne.
Om du vill generera aviseringar, kör din första genomsökning med en pipeline som inkluderar kodgenomsökningsuppgifter.
Konfigurera anteckningar för pull-begäranden
För både beroendegenomsökning och kodgenomsökning konfigureras kommentarer automatiskt för pull-förfrågningar där byggverifieringsprincipen tillämpas med beroendegenomsökning och/eller kodgenomsökningsuppgifter som ingår i pipelinen. Mer information om hur du konfigurerar principer för byggvalidering finns i Skapa validering.
Pull-begärandeanteckningar kräver också en avancerad säkerhetsgenomsökning på standardgrenen och målgrenen innan du skannar källgrenen (pull-begäran). Mer information om hur du löser aviseringar för pull-begärandegrenar finns i Hantera beroendegenomsökningsaviseringar vid pull-begäranden och Hantera kodgenomsökningsaviseringar vid pull-begäranden.
Om du vill inaktivera Avancerad säkerhet behålls alla aviseringar och status för aviseringar på fliken Avancerad säkerhet nästa gång du återaktiverar Avancerad säkerhet för lagringsplatsen.
Relaterade artiklar
- Kodgenomsökningsaviseringar för GitHub Advanced Security för Azure DevOps
- Aviseringar om genomsökning av beroenden för GitHub Advanced Security för Azure DevOps
- Aviseringar om sökning efter känslig information för GitHub avancerad säkerhet för Azure DevOps
- Behörigheter för GitHub Advanced Security för Azure DevOps
- Fakturering för GitHub Advanced Security för Azure DevOps