Aktivera pull-begärandeanteckningar i GitHub och Azure DevOps

DevOps-säkerhet exponerar säkerhetsresultat som anteckningar i Pull-begäranden (PR). Säkerhetsoperatorer kan aktivera PR-anteckningar i Microsoft Defender för molnet. Eventuella problem som exponeras kan åtgärdas av utvecklare. Den här processen kan förhindra och åtgärda potentiella säkerhetsrisker och felkonfigurationer innan de går in i produktionsfasen. DevOps-säkerhet kommenterar sårbarheter inom de skillnader som introducerades under pull-begäran i stället för alla sårbarheter som identifierats i hela filen. Utvecklare kan se anteckningar i sina källkodshanteringssystem och Säkerhetsoperatorer kan se alla olösta resultat i Microsoft Defender för molnet.

Med Microsoft Defender för molnet kan du konfigurera PR-anteckningar i Azure DevOps. Du kan hämta PR-anteckningar i GitHub om du är en GitHub Advanced Security-kund.

Vad är pull-begärandeanteckningar

Pull-begärandeanteckningar är kommentarer som läggs till i en pull-begäran i GitHub eller Azure DevOps. Dessa anteckningar ger feedback om de kodändringar som gjorts och identifierade säkerhetsproblem i pull-begäran och hjälper granskare att förstå de ändringar som görs.

Anteckningar kan läggas till av en användare med åtkomst till lagringsplatsen och kan användas för att föreslå ändringar, ställa frågor eller ge feedback om koden. Anteckningar kan också användas för att spåra problem och buggar som måste åtgärdas innan koden sammanfogas till huvudgrenen. DevOps-säkerhet i Defender för molnet använder anteckningar för att visa säkerhetsresultat.

Förutsättningar

För GitHub:

För Azure DevOps:

Aktivera anteckningar för pull-begäran i GitHub

Genom att aktivera pull-begärandeanteckningar i GitHub får utvecklarna möjlighet att se sina säkerhetsproblem när de skapar en PR direkt till huvudgrenen.

Så här aktiverar du pull-begärandeanteckningar i GitHub:

  1. Gå till GitHub och logga in.

  2. Välj en lagringsplats som du har registrerat för att Defender för molnet.

  3. Gå till Your repository's home page>.github/workflows.

    Skärmbild som visar var du ska navigera till för att välja gitHub-arbetsflödesmappen.

  4. Välj msdevopssec.yml som skapades i förutsättningarna.

    Skärmbild som visar var på skärmen du vill välja filen msdevopssec.yml.

  5. Välj redigera.

    Skärmbild som visar hur redigeringsknappen ser ut.

  6. Leta upp och uppdatera utlösaravsnittet så att det inkluderar:

    # Triggers the workflow on push or pull request events but only for the main branch
    pull_request:
      branches: ["main"]
    

    Du kan också visa en exempellagringsplats.

    (Valfritt) Du kan välja vilka grenar du vill köra den på genom att ange grenen (es) under avsnittet utlösare. Om du vill ta med alla grenar tar du bort raderna med grenlistan. 

  7. Välj Start commit (Starta incheckning).

  8. Välj Genomför ändringar.

    Eventuella problem som identifieras av skannern kan visas i avsnittet Filer som ändrats i pull-begäran.

    • Används i tester – Aviseringen finns inte i produktionskoden.

Aktivera anteckningar för pull-begäranden i Azure DevOps

Genom att aktivera pull-begärandeanteckningar i Azure DevOps får utvecklarna möjlighet att se sina säkerhetsproblem när de skapar pr direkt till huvudgrenen.

Aktivera build-valideringsprincip för CI-versionen

Innan du kan aktivera pull-begärandekommentarer måste huvudgrenen ha aktiverat byggverifieringsprincip för CI-versionen.

Så här aktiverar du byggverifieringsprincip för CI Build:

  1. Logga in på ditt Azure DevOps-projekt.

  2. Gå till Projektinställningar>Lagringsplatser.

    Skärmbild som visar var du ska navigera till för att välja lagringsplatser.

  3. Välj lagringsplatsen för att aktivera pull-begäranden.

  4. Välj Principer.

  5. Gå till huvudgrenen Förgreningsprinciper>.

    Skärmbild som visar var du hittar grenprinciperna.

  6. Leta upp avsnittet Build Validation (Byggverifiering).

  7. Kontrollera att byggverifieringen för lagringsplatsen är växlad till .

    Skärmbild som visar var CI Build-växlingsknappen finns.

  8. Välj Spara.

    Skärmbild som visar byggverifieringen.

När du har slutfört de här stegen kan du välja den byggpipeline som du skapade tidigare och anpassa dess inställningar efter dina behov.

Aktivera anteckningar för pull-begäranden

Så här aktiverar du pull-begärandeanteckningar i Azure DevOps:

  1. Logga in på Azure-portalen.

  2. Gå till Defender för molnet> DevOps-säkerhet.

  3. Välj alla relevanta lagringsplatser för att aktivera pull-begärandeanteckningarna på.

  4. Välj Hantera resurser.

    Skärmbild som visar hur du hanterar resurser.

  5. Växla anteckningar för pull-begäranden till .

    Skärmbild som visar växlingsknappen aktiverad.

  6. (Valfritt) Välj en kategori i den nedrullningsbara menyn.

    Kommentar

    För närvarande stöds endast felkonfigurationer av infrastruktur som kod (ARM, Bicep, Terraform, CloudFormation, Dockerfiles, Helm-diagram med mera).

  7. (Valfritt) Välj en allvarlighetsgrad i den nedrullningsbara menyn.

  8. Välj Spara.

Alla anteckningar på dina pull-begäranden visas från och med nu baserat på dina konfigurationer.

Så här aktiverar du pull-begärandeanteckningar för mina projekt och organisationer i Azure DevOps:

Du kan göra det programmatiskt genom att anropa Api:et Uppdatera Azure DevOps-resurs som exponeras för Microsoft. Säkerhetsresursprovider.

API-information:

Http-metod: PATCH-URL :er:

  • Azure DevOps Project Update: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>/projects/<adoProjectName>?api-version=2023-09-01-preview
  • Azure DevOps Org Update]: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview

Begärandetext:

{
   "properties": {
"actionableRemediation": {
              "state": <ActionableRemediationState>,
              "categoryConfigurations":[
                    {"category": <Category>,"minimumSeverityLevel": <Severity>}
               ]
           }
    }
}

Tillgängliga parametrar/alternativ

<ActionableRemediationState>Beskrivning: Status för konfigurationsalternativ för PR-anteckningar: Aktiverad | Inaktiverad

<Category>Beskrivning: Kategori av resultat som kommer att kommenteras vid pull-begäranden. Alternativ: IaC | Kod | Artefakter | Beroenden | Containrar Obs! Endast IaC stöds för närvarande

<Severity>Beskrivning: Minsta allvarlighetsgrad för ett fynd som ska beaktas när du skapar PR-anteckningar. Alternativ: Hög | Medel | Låg

Exempel på hur du aktiverar en Azure DevOps-organisations PR-anteckningar för IaC-kategorin med minsta allvarlighetsgrad Medel med hjälp av az cli-verktyget.

Uppdatera organisation:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'Medium'}]}}}

Exempel på hur du aktiverar ett Azure DevOps-projekts PR-anteckningar för IaC-kategorin med minsta allvarlighetsgrad hög med hjälp av az cli-verktyget.

Uppdatera projekt:

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg/projects/testProject?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'High'}]}}}"

Läs mer

Nästa steg

Läs mer om DevOps-säkerhet.