Povolit anotace pull requestů v GitHubu a Azure DevOps

Zabezpečení DevOps zobrazuje bezpečnostní zjištění jako anotace v Pull Requestech (PR). Operátoři zabezpečení můžou v Microsoft Defender for Cloud povolit poznámky k pull requestům. Všechny vystavené problémy můžou vývojáři napravit. Tento proces může předcházet potenciálním ohrožením zabezpečení a chybným konfiguracím před vstupem do produkční fáze a opravit je. Zabezpečení DevOps označuje zranitelnosti ve změnách obsažených v žádosti o přijetí změn, nikoli všechny zranitelnosti zjištěné v celém souboru. Vývojáři můžou vidět poznámky ve svých systémech správy zdrojového kódu a operátoři zabezpečení můžou vidět všechna nevyřešená zjištění v programu Microsoft Defender for Cloud.

Pomocí Microsoft Defender for Cloud můžete v Azure DevOps nakonfigurovat anotace PR. Poznámky k pull requestům můžete získat na GitHubu, pokud jste zákazníkem služby GitHub Advanced Security.

Note

Poznámky žádosti o přijetí změn, označované také jako poznámky k žádosti o sloučení (GitLab), nejsou podporované v projektech GitLabu, které jsou připojené k Defenderu for Cloud DevOps.

Defender for Cloud bude prezentovat závěry zabezpečení pro všechna připojená úložiště GitLab. Žádosti o sloučení GitLabu ale nezobrazují tato zjištění jako vložené poznámky.

GitHub podporuje poznámky k žádostem o přijetí změn, když povolíte GitHub Advanced Security.

Co jsou anotace pull requestu

Poznámky žádosti o přijetí změn jsou komentáře, které se přidají do žádosti o přijetí změn v GitHubu nebo Azure DevOps. Tyto poznámky poskytují zpětnou vazbu ke změnám kódu provedeným a identifikovaly problémy se zabezpečením v žádosti o přijetí změn a pomáhají revidujícím pochopit provedené změny.

Uživatelé s přístupem k úložišti můžou přidávat poznámky, navrhovat změny, klást otázky nebo poskytovat zpětnou vazbu k kódu. Poznámky lze také použít ke sledování problémů a chyb, které je potřeba opravit před sloučením kódu do hlavní větve. Zabezpečení DevOps v defenderu pro cloud používá poznámky k zobrazení zjištění zabezpečení.

Předpoklady

Pro GitHub:

Pro službu Azure DevOps:

Povolit anotace u pull requestů na GitHubu

Povolením anotací pull requestů na GitHubu budou vaši vývojáři moci vidět své bezpečnostní problémy při vytváření PR přímo do hlavní větve.

Chcete-li v GitHubu povolit anotace u žádostí o přijetí změn:

  1. Přejděte na GitHub a přihlaste se.

  2. Vyberte úložiště, které jste nasadili do programu Defender for Cloud.

  3. Přejděte na Your repository's home page>.github/workflows.

    Snímek obrazovky znázorňující, kam přejít, vyberte složku pracovního postupu GitHubu.

  4. Vyberte soubor msdevopssec.yml, který byl vytvořen v předpokladech.

    Snímek obrazovky znázorňující, kde na obrazovce vyberete soubor msdevopssec.yml

  5. Vyberte upravit.

    Snímek obrazovky znázorňující, jak vypadá tlačítko pro úpravy

  6. Vyhledejte a aktualizujte oddíl triggeru tak, aby zahrnoval:

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

    Můžete si také prohlédnout ukázkové úložiště.

    (Volitelné) Můžete vybrat, na kterých větvích se má spouštět, zadáním větve nebo větví v části trigger. Pokud chcete zahrnout všechny větve, odeberte řádky se seznamem větví. 

  7. Vyberte Zahájit potvrzení.

  8. Vyberte Potvrdit změny.

    Všechny problémy zjištěné skenerem se dají zobrazit v části Soubory změněné v žádosti o přijetí změn.

    • Používá se v testech – Výstraha není v produkčním kódu.

Povolte anotace u žádostí o přijetí změn v Azure DevOps

Povolením anotací pull requestů v Azure DevOps budou vaši vývojáři moci při vytváření pull requestů přímo do hlavní větve zobrazit své problémy se zabezpečením.

Povolte zásadu ověření sestavení pro sestavení CI

Než budete moci povolit anotace žádostí o přijetí změn, musí být pro sestavení CI ve vaší hlavní větvi povolené zásady ověřování buildu.

Pokud chcete pro sestavení CI povolit zásady ověřování sestavení:

  1. Přihlaste se ke svému projektu Azure DevOps.

  2. Přejděte do Nastavení projektu>Úložiště.

    Snímek obrazovky ukazující, kam přejít, abyste vybrali repozitáře.

  3. Vyberte repozitář, pro který chcete povolit požadavky na přijetí změn.

  4. Vyberte Zásady.

  5. Přejděte na Zásady větví>Hlavní větev.

    Snímek obrazovky, který ukazuje, kde najít zásady větve.

  6. Vyhledejte část „Ověření sestavení“.

  7. Ujistěte se, že je ověření sestavení u vašeho úložiště přepnuto na Zapnuto.

    Snímek obrazovky ukazující, kde se nachází přepínač CI Build.

  8. Vyberte Uložit.

    Snímek obrazovky znázorňující ověření sestavení

Po dokončení těchto kroků můžete vybrat kanál buildu, který jste vytvořili dříve, a přizpůsobit jeho nastavení tak, aby vyhovovala vašim potřebám.

Povolení poznámek žádostí o přijetí změn

Zapnutí anotací pull requestů v Azure DevOps:

  1. Přihlaste se do Azure Portalu.

  2. Přejděte na Defender for Cloud>zabezpečení DevOps.

  3. Výběrem všech relevantních úložišť povolíte poznámky k žádostem o přijetí změn.

  4. Vyberte Spravovat prostředky.

    Snímek obrazovky znázorňující, jak spravovat prostředky

  5. Přepněte anotace pull requestu na Zapnuto.

    Snímek obrazovky zobrazující přepínač v poloze Zapnuto.

  6. (Volitelné) V rozevírací nabídce vyberte kategorii.

    Note

    Aktuálně jsou podporovány pouze výsledky pro nesprávné konfigurace infrastruktury jako kódu (ARM, Bicep, Terraform, CloudFormation, Dockerfiles, grafy Helm a další).

  7. (Volitelné) V rozevírací nabídce vyberte úroveň závažnosti.

  8. Vyberte Uložit.

Všechny poznámky na vašich žádostech o přijetí změn se odteď zobrazí na základě vašich konfigurací.

Povolení anotací pull requestů v mých projektech a organizacích v Azure DevOps:

Můžete to udělat programově voláním rozhraní UPDATE Azure DevOps Resource API zveřejněného Microsoftem. Poskytovatel prostředků zabezpečení

Informace o rozhraní API:

Metoda HTTP: PATCH Adresy URL:

  • Aktualizace projektu Azure DevOps: 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
  • Aktualizace organizace Azure DevOps]: https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview

Text požadavku:

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

Parametry / Dostupné možnosti

<ActionableRemediationState> Popis: Stav konfigurace anotací PR Možnosti: Povoleno | Zakázáno

<Category> Popis: Kategorie zjištění, která jsou okomentována v pull requestech. Možnosti: IaC | Kód | Artefakty | Závislosti | Poznámka ke kontejnerům: V současné době se podporuje pouze IaC.

<Severity> Popis: Minimální závažnost nálezu, která se zohledňuje při vytváření anotací PR. Možnosti: Vysoká | Střední | Nízký

Příklad povolení PR anotací pro kategorii IaC v organizaci Azure DevOps s minimální závažností Střední pomocí nástroje az CLI.

Upravit organizaci:

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'}]}}}

Příklad povolení PR anotací v projektu Azure DevOps pro kategorii IaC s minimální úrovní závažnosti Vysoká pomocí nástroje az CLI.

Aktualizovat 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'}]}}}"

Další informace

Další kroky

Teď se dozvíte víc o zabezpečení DevOps.