Włączanie adnotacji żądania ściągnięcia w usługach GitHub i Azure DevOps
Zabezpieczenia metodyki DevOps uwidaczniają wyniki zabezpieczeń jako adnotacje w żądaniach ściągnięcia (PR). Operatory zabezpieczeń mogą włączać adnotacje żądań ściągnięcia w Microsoft Defender dla Chmury. Wszelkie ujawnione problemy mogą zostać rozwiązane przez deweloperów. Ten proces może zapobiegać potencjalnym lukom w zabezpieczeniach i błędom konfiguracji oraz usuwać je przed wejściem do etapu produkcji. Zabezpieczenia metodyki DevOps dodają adnotacje do luk w zabezpieczeniach w ramach różnic wprowadzonych podczas żądania ściągnięcia, a nie wszystkich wykrytych luk w zabezpieczeniach w całym pliku. Deweloperzy mogą zobaczyć adnotacje w swoich systemach zarządzania kodem źródłowym, a operatorzy zabezpieczeń mogą zobaczyć wszelkie nierozwiązane ustalenia w Microsoft Defender dla Chmury.
Za pomocą Microsoft Defender dla Chmury można skonfigurować adnotacje żądań ściągnięcia w usłudze Azure DevOps. Adnotacje żądań ściągnięcia można uzyskać w usłudze GitHub, jeśli jesteś klientem usługi GitHub Advanced Security.
Co to są adnotacje żądania ściągnięcia
Adnotacje żądania ściągnięcia to komentarze dodawane do żądania ściągnięcia w usłudze GitHub lub Azure DevOps. Te adnotacje dostarczają opinii na temat wprowadzonych zmian w kodzie i zidentyfikowanych problemów z zabezpieczeniami w żądaniu ściągnięcia oraz pomagają recenzentom zrozumieć wprowadzone zmiany.
Adnotacje mogą być dodawane przez użytkownika z dostępem do repozytorium i mogą służyć do sugerowania zmian, zadawania pytań lub przekazywania opinii na temat kodu. Adnotacje mogą również służyć do śledzenia problemów i usterek, które należy naprawić przed scaleniem kodu z gałęzią główną. Zabezpieczenia metodyki DevOps w Defender dla Chmury używają adnotacji do uwidocznienia wyników zabezpieczeń.
Wymagania wstępne
W przypadku usługi GitHub:
- Konto Azure. Jeśli nie masz jeszcze konta platformy Azure, możesz już dziś utworzyć bezpłatne konto platformy Azure.
- Być klientem usługi GitHub Advanced Security .
- Połącz repozytoria GitHub z Microsoft Defender dla Chmury.
- Skonfiguruj akcję GitHub DevOps zabezpieczeń firmy Microsoft.
W przypadku usługi Azure DevOps:
- Konto Azure. Jeśli nie masz jeszcze konta platformy Azure, możesz już dziś utworzyć bezpłatne konto platformy Azure.
- Mieć dostęp do zapisu (właściciel/współtworzenie) do subskrypcji platformy Azure.
- Połącz repozytoria usługi Azure DevOps z Microsoft Defender dla Chmury.
- Skonfiguruj rozszerzenie Usługi Azure DevOps usługi Azure Security DevOps firmy Microsoft.
Włączanie adnotacji żądania ściągnięcia w usłudze GitHub
Włączając adnotacje żądań ściągnięcia w usłudze GitHub, deweloperzy uzyskują możliwość wyświetlania problemów z zabezpieczeniami podczas tworzenia żądania ściągnięcia bezpośrednio do gałęzi głównej.
Aby włączyć adnotacje żądań ściągnięcia w usłudze GitHub:
Przejdź do usługi GitHub i zaloguj się.
Wybierz repozytorium, które zostało dołączone do Defender dla Chmury.
Przejdź do
Your repository's home page
>folderu .github/workflows.Wybierz pozycję msdevopssec.yml, która została utworzona w wymaganiach wstępnych.
Wybierz pozycję Edytuj.
Znajdź i zaktualizuj sekcję wyzwalacza, aby uwzględnić następujące elementy:
# Triggers the workflow on push or pull request events but only for the main branch pull_request: branches: ["main"]
Możesz również wyświetlić przykładowe repozytorium.
(Opcjonalnie) Możesz wybrać gałęzie, na których chcesz ją uruchomić, wprowadzając gałąź w sekcji wyzwalacza. Jeśli chcesz uwzględnić wszystkie gałęzie, usuń wiersze z listą gałęzi.
Wybierz pozycję Start commit (Rozpocznij zatwierdzanie).
Wybierz pozycję Zatwierdź zmiany.
Wszelkie problemy wykryte przez skaner będą widoczne w sekcji Pliki zmienione w żądaniu ściągnięcia.
- Używane w testach — alert nie znajduje się w kodzie produkcyjnym.
Włączanie adnotacji żądania ściągnięcia w usłudze Azure DevOps
Włączając adnotacje żądań ściągnięcia w usłudze Azure DevOps, deweloperzy uzyskują możliwość wyświetlania problemów z zabezpieczeniami podczas tworzenia żądań ściągnięcia bezpośrednio w gałęzi głównej.
Włączanie zasad weryfikacji kompilacji dla kompilacji ciągłej integracji
Aby można było włączyć adnotacje żądań ściągnięcia, gałąź główna musi mieć włączone zasady weryfikacji kompilacji dla kompilacji ciągłej integracji.
Aby włączyć zasady weryfikacji kompilacji dla kompilacji ciągłej integracji:
Zaloguj się do projektu usługi Azure DevOps.
Przejdź do obszaru Repozytoria ustawień>projektu.
Wybierz repozytorium, aby włączyć żądania ściągnięcia.
Wybierz pozycję Zasady.
Przejdź do głównej gałęzi Zasady>gałęzi.
Znajdź sekcję Weryfikacja kompilacji.
Upewnij się, że walidacja kompilacji dla repozytorium jest przełączana do wł.
Wybierz pozycję Zapisz.
Po wykonaniu tych kroków możesz wybrać utworzony wcześniej potok kompilacji i dostosować jego ustawienia do własnych potrzeb.
Włączanie adnotacji żądania ściągnięcia
Aby włączyć adnotacje żądań ściągnięcia w usłudze Azure DevOps:
Zaloguj się w witrynie Azure Portal.
Przejdź do pozycji zabezpieczenia Defender dla Chmury> DevOps.
Wybierz wszystkie odpowiednie repozytoria, aby włączyć adnotacje żądania ściągnięcia.
Wybierz pozycję Zarządzaj zasobami.
Przełącz adnotacje żądania ściągnięcia na włączone.
(Opcjonalnie) Wybierz kategorię z menu rozwijanego.
Uwaga
Obecnie obsługiwane są tylko błędy konfiguracji infrastruktury jako kodu (ARM, Bicep, Terraform, CloudFormation, Dockerfiles, Charts i inne).
(Opcjonalnie) Wybierz poziom ważności z menu rozwijanego.
Wybierz pozycję Zapisz.
Wszystkie adnotacje dotyczące żądań ściągnięcia będą teraz wyświetlane na podstawie konfiguracji.
Aby włączyć adnotacje żądań ściągnięcia dla moich projektów i organizacji w usłudze Azure DevOps:
Można to zrobić programowo, wywołując interfejs API aktualizacji zasobów usługi Azure DevOps uwidoczniony przez firmę Microsoft. Dostawca zasobów zabezpieczeń.
Informacje o interfejsie API:
Metoda HTTP: ADRESY URL PATCH:
- Aktualizacja projektu usługi 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
- Aktualizacja organizacji usługi 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
Treść żądania:
{
"properties": {
"actionableRemediation": {
"state": <ActionableRemediationState>,
"categoryConfigurations":[
{"category": <Category>,"minimumSeverityLevel": <Severity>}
]
}
}
}
Dostępne parametry/opcje
<ActionableRemediationState>
Opis: stan opcji konfiguracji adnotacji żądania ściągnięcia: włączone | Niepełnosprawny
<Category>
Opis: Kategoria wyników, które zostaną oznaczone adnotacjami dla żądań ściągnięcia.
Opcje: IaC | Kod | Artefakty | Zależności | Uwaga dotycząca kontenerów: obecnie obsługiwana jest tylko usługa IaC
<Severity>
Opis: minimalna ważność ustalenia, które będzie brane pod uwagę podczas tworzenia adnotacji żądania ściągnięcia.
Opcje: Wysoki | Średni | Niski
Przykład włączania adnotacji żądania ściągnięcia organizacji usługi Azure DevOps dla kategorii IaC o minimalnej ważności średniej przy użyciu narzędzia az cli.
Aktualizacja organizacji:
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'}]}}}
Przykład włączania adnotacji żądania ściągnięcia projektu DevOps platformy Azure dla kategorii IaC o minimalnej ważności Wysoki przy użyciu narzędzia az cli.
Aktualizuj 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'}]}}}"
Dowiedz się więcej
- Dowiedz się więcej o zabezpieczeniach metodyki DevOps.
- Dowiedz się więcej o zabezpieczeniach metodyki DevOps w infrastrukturze jako kodzie.
Następne kroki
Teraz dowiedz się więcej o zabezpieczeniach metodyki DevOps.