Udostępnij za pośrednictwem


Konfigurowanie GitHub Advanced Security dla Azure DevOps

GitHub Advanced Security for Azure DevOps dodaje pakiet funkcji zabezpieczeń GitHub Advanced Security do Azure Repos i obejmuje następujące funkcje:

  • Ochrona przed ujawnieniem tajnych danych podczas wypychania: sprawdzanie, czy wypychanie kodu zawiera zatwierdzenia, które ujawniają tajne dane, takie jak poświadczenia
  • Skanowanie tajnych danych: przeszukaj swoje repozytorium i sprawdź, czy przypadkowo nie ujawniono tajnych danych.
  • Skanowanie zależności — wyszukiwanie znanych luk w zabezpieczeniach w zależnościach open source (bezpośrednie i przechodnie)
  • Skanowanie kodu — używanie aparatu analizy statycznej CodeQL do identyfikowania luk w zabezpieczeniach aplikacji na poziomie kodu, takich jak wstrzyknięcie kodu i obejście uwierzytelniania

Możesz zapewnić ochronę zabezpieczeń zaawansowanych w przedsiębiorstwie z elastycznością umożliwiającą odpowiedni poziom ochrony repozytoriów. GitHub Advanced Security for Azure DevOps jest dostępna jako GitHub Secret Protection for Azure DevOps oraz GitHub Code Security for Azure DevOps.

Ochrona tajemnic obejmuje następujące funkcje:

  • Ochrona przed niepożądanym przesyłem, aby zapobiec wyciekom informacji poufnych zanim do nich dojdzie.
  • Alerty skanowania tajnych informacji z powiadomieniami, aby wykryć istniejące ujawnienia, zanim staną się problematyczne
  • Omówienie zabezpieczeń, które zapewnia wgląd w poziom ryzyka i ochrony zabezpieczeń organizacji

Zabezpieczenia kodu obejmują następujące funkcje:

  • Powiadomienia o zależnościach, aby znaleźć luki w zabezpieczeniach w zależnościach open source
  • Skanowanie codeQL w celu wykrywania luk w zabezpieczeniach bezpośrednio w kodzie
  • Ustalenia dotyczące zabezpieczeń narzędzi innych firm
  • Omówienie zabezpieczeń, które zapewnia wgląd w poziom ryzyka i ochrony zabezpieczeń organizacji

GitHub Advanced Security for Azure DevOps jest dostępny tylko dla usług Azure DevOps Services i przeznaczonych specjalnie dla repozytoriów Git kodu.

GitHub Advanced Security for Azure DevOps współpracuje z Azure Repos. Aby użyć GitHub Advanced Security z repozytoriami GitHub, zobacz GitHub Advanced Security.

Wymagania wstępne

Kategoria Wymagania
uprawnienia — Aby wyświetlić podsumowanie wszystkich alertów dla repozytorium: Współautor uprawnienia dla repozytorium.
— Aby odrzucić alerty w usłudze Advanced Security: uprawnienia administratora projektu.
- Aby zarządzać uprawnieniami w Zaawansowanych zabezpieczeniach: członek grupy Administratorzy kolekcji projektów lub uprawnienie Zaawansowane zabezpieczenia: zarządzanie ustawieniami ustawione na Dozwolone.

Aby uzyskać więcej informacji na temat uprawnień zabezpieczeń zaawansowanych, zobacz Zarządzanie uprawnieniami zabezpieczeń zaawansowanych.

Dodatkowe wymagania wstępne dotyczące agentów hostowanych samodzielnie

Jeśli Twoja organizacja używa samodzielnie hostowanych agentów, dodaj następujące adresy URL do listy dozwolonych, aby zadanie skanowania zależności mogło pobierać dane o doradztwie dotyczącym luk w zabezpieczeniach. Aby uzyskać więcej informacji, zobacz Dozwolone adresy IP i adresy URL domen.

Adres URL domeny opis
https://governance.dev.azure.com W przypadku organizacji korzystających z domeny dev.azure.com w celu uzyskania dostępu do instancji DevOps
https://dev.azure.com W przypadku organizacji korzystających z domeny dev.azure.com, aby uzyskać dostęp do instancji DevOps
https://advsec.dev.azure.com W przypadku organizacji korzystających z domeny dev.azure.com, aby uzyskać dostęp do instancji DevOps
https://{organization_name}.governance.visualstudio.com W przypadku organizacji używających domeny {organization_name}.visualstudio.com, aby uzyskać dostęp do instancji DevOps.
https://{organization_name}.visualstudio.com  W przypadku organizacji używających domeny {organization_name}.visualstudio.com, aby uzyskać dostęp do instancji DevOps.
https://{organization_name}.advsec.visualstudio.com W przypadku organizacji używających domeny {organization_name}.visualstudio.com w celu uzyskania dostępu do wystąpienia DevOps
  • Uruchom zgodną wersję środowiska uruchomieniowego .NET. Od kwietnia 2026 r. bieżąca wersja jest nadal .NET 8.x. Jeśli kompatybilna wersja nie jest obecna na agencie, zadanie kompilacji skanowania zależności pobiera .NET.

  • Upewnij się, że pakiet CodeQL jest zainstalowany w pamięci podręcznej narzędzi agenta na agencie. Możesz użyć zmiennej enableAutomaticCodeQLInstall: true w zadaniu potoku AdvancedSecurity-Codeql-Init@1 dla potoków YAML lub zaznaczyć pole wyboru Enable automatic CodeQL detection and installation dla potoków klasycznych. Alternatywnie, aby uzyskać instrukcje dotyczące instalacji ręcznej, zobacz skanowanie kodu w GitHub Advanced Security dla Azure DevOps.

Włączanie GitHub Advanced Security

Zabezpieczenia zaawansowane można włączyć na poziomie organizacji, projektu lub repozytorium. Aby uzyskać dostęp do poszczególnych narzędzi skanowania i wyników, należy najpierw włączyć zabezpieczenia zaawansowane. Po włączeniu Advanced Security wszelkie przyszłe przesyłane zawierające tajności do repozytorium z włączoną tą polityką są blokowane, a skanowanie tajności repozytorium odbywa się w tle.

Dołączanie na poziomie repozytorium

  1. Przejdź do ustawień Project dla Azure DevOps project.
  2. Wybierz Repos>Repositories.
  3. Wybierz repozytorium, dla którego chcesz włączyć usługę Advanced Security.
  4. Wybierz pozycję Włącz i rozpocznij rozliczenia, aby aktywować zabezpieczenia zaawansowane. Ikona tarczy jest teraz wyświetlana w widoku repozytorium dla dowolnego repozytorium z włączonym zabezpieczeniami zaawansowanymi.

Zrzut ekranu przedstawiający włączanie GitHub Advanced Security.

Wdrażanie na poziomie projektu

  1. Przejdź do ustawień Project dla Azure DevOps project.
  2. Wybierz Repos.
  3. Wybierz kartę Ustawienia.
  4. Wybierz opcję Włącz wszystko i zobacz oszacowanie liczby aktywnych zatwierdzających dla Twojego projektu. Ta operacja umożliwia produkt tylko dla istniejących repozytoriów.
  5. Wybierz pozycję Rozpocznij rozliczenia , aby aktywować zabezpieczenia zaawansowane dla każdego istniejącego repozytorium w projekcie.
  6. Opcjonalnie wybierz pozycję Automatycznie włącz zabezpieczenia zaawansowane dla nowych repozytoriów , aby wszystkie nowo utworzone repozytoria w przyszłości miały włączone zabezpieczenia zaawansowane po utworzeniu. To ustawienie jest oddzielone od akcji Włącz wszystkie i musi być wybrane niezależnie.

Zrzut ekranu przedstawiający włączanie na poziomie projektu dla usługi Advanced Security.

Dołączanie na poziomie organizacji

  1. Przejdź do Ustawienia organizacji dla organizacji Azure DevOps.
  2. Wybierz Repozytoria.
  3. Wybierz Włącz wszystko i zobacz szacunkową liczbę aktywnych współtwórców w Twojej organizacji. Ta akcja włącza tylko produkt dla istniejących repozytoriów.
  4. Wybierz pozycję Rozpocznij rozliczenia , aby aktywować zabezpieczenia zaawansowane dla każdego istniejącego repozytorium w każdym projekcie w organizacji.
  5. Opcjonalnie wybierz pozycję Automatycznie włącz zabezpieczenia zaawansowane dla nowych projektów , aby wszystkie nowo utworzone projekty w przyszłości miały włączone zabezpieczenia zaawansowane po utworzeniu. To ustawienie jest oddzielone od akcji Włącz wszystkie i musi być wybrane niezależnie.

Zrzut ekranu przedstawiający włączanie na poziomie organizacji dla usługi Advanced Security.

Ustaw skanowanie tajnych danych

Funkcje ochrony operacji wypychania i skanowania repozytoriów są automatycznie włączane po włączeniu funkcji Advanced Security. Możesz włączyć lub wyłączyć ochronę wypychania tajnych danych na stronie ustawień repozytorium.

Zrzut ekranu przedstawiający włączanie ochrony przed wypychaniem.

Skanowanie tajnych wpisów w repozytorium jest automatycznie uruchamiane po włączeniu Zaawansowanych zabezpieczeń dla wybranego repozytorium.

Konfigurowanie skanowania zależności

Możesz włączyć ochronę wpisów tajnych lub zabezpieczenia kodu na poziomie organizacji, projektu lub repozytorium.

Dołączanie na poziomie repozytorium

  1. Przejdź do ustawień Project dla Azure DevOps project.
  2. Wybierz Repos>Repositories.
  3. Wybierz repozytorium, dla którego chcesz włączyć usługę Advanced Security.
  4. Przełącz Ochronę tajemnic lub Zabezpieczenie kodu.
  5. Wybierz pozycję Rozpocznij rozliczenia. Ikona tarczy jest teraz wyświetlana w widoku repozytorium dla dowolnego repozytorium z włączonym produktem.
  6. Aby opcjonalnie włączyć domyślną konfigurację skanowania zależności, wybierz pozycję Opcje i włącz domyślne ustawienie skanowania zależności.

Zrzut ekranu przedstawiający włączanie GitHub Advanced Security.

Onboarding na poziomie Projektu

  1. Przejdź do ustawień Project dla Azure DevOps project.
  2. Wybierz Repos.
  3. Wybierz kartę Ustawienia.
  4. Wybierz Włącz wszystko i zobacz szacunkową liczbę aktywnych uczestników na produkt w Twoim projekcie. Ta akcja włącza tylko wybrany produkt dla istniejących repozytoriów.
  5. Przełącz wybrane produkty Secret Protection lub Code Security oraz wszystkie powiązane funkcje pomocnicze.
  6. Wybierz Rozpocznij rozliczanie, aby aktywować Ochronę sekretów i/lub Bezpieczeństwo kodu dla każdego istniejącego repozytorium w projekcie.
  7. Opcjonalnie włącz opcję Automatycznie włącz zaawansowane zabezpieczenia dla nowych repozytoriów, aby wszystkie nowo utworzone repozytoria w przyszłości miały włączoną ochronę tajnych danych lub bezpieczeństwo kodu już przy ich tworzeniu. To ustawienie jest oddzielone od akcji Włącz wszystkie i musi być wybrane niezależnie.

Zrzut ekranu przedstawiający włączanie na poziomie projektu dla usługi Advanced Security.

Dołączanie na poziomie organizacji

  1. Przejdź do Ustawienia organizacji dla organizacji Azure DevOps.
  2. Wybierz Repozytoria.
  3. Wybierz Włącz wszystko i zobacz szacowaną liczbę aktywnych osób zaangażowanych dla każdego produktu w organizacji. Ta akcja włącza tylko wybrany produkt dla istniejących repozytoriów.
  4. Włącz lub wyłącz żądane produkty Ochrony tajnej lub Bezpieczeństwa kodu oraz wszystkie skojarzone podfunkcje.
  5. Wybierz pozycję Rozpocznij rozliczenia , aby aktywować zabezpieczenia zaawansowane dla każdego istniejącego repozytorium w każdym projekcie w organizacji.
  6. Opcjonalnie przełącz opcję Automatycznie włącz zabezpieczenia zaawansowane dla nowych projektów, aby wszystkie nowo utworzone projekty w przyszłości miały włączoną ochronę tajemnic lub zabezpieczenia kodu po utworzeniu. To ustawienie jest oddzielone od akcji Włącz wszystkie i musi być wybrane niezależnie.

Zrzut ekranu przedstawiający włączanie na poziomie organizacji dla usługi Advanced Security.

Ustaw skanowanie tajnych danych

Ochrona skanowania tajnych informacji podczas wypychania oraz skanowanie repozytorium są automatycznie włączane po uruchomieniu funkcji Ochrony Tajnych Informacji. Możesz włączyć lub wyłączyć ochronę wypychania tajnych danych na stronie ustawień repozytorium.

Zrzut ekranu przedstawiający włączanie ochrony przed wypychaniem.

Jak wspomniano, skanowanie repozytorium w poszukiwaniu sekretów jest automatycznie uruchamiane po włączeniu Ochrony Tajemnic dla wybranego repozytorium.

Konfigurowanie skanowania zależności

Aby uzyskać dostęp do funkcji skanowania zależności, potrzebujesz produktu Zabezpieczenia kodu włączonego dla repozytorium.

Skanowanie zależności to narzędzie do skanowania opartego na potoku. Wyniki są agregowane według repozytorium. Do skanowania gałęzi domyślnej można użyć ustawienia "Skanuj pod kątem zależności podatnych na zagrożenia" na stronie ustawień repozytorium. Ta funkcja automatycznie dołączy zadanie skanowania zależności do dowolnego potoku przeznaczonego dla gałęzi domyślnej lub do dowolnej kompilacji pull requestu dotyczącej gałęzi domyślnej.

Aby uzyskać bardziej zaawansowaną konfigurację lub jeśli chcesz skanować wszystkie gałęzie, zalecamy dodanie zadania skanowania zależności do wszystkich skanowanych potoków. Aby uzyskać więcej informacji, zobacz skanowanie zależności dla GitHub Advanced Security dla Azure DevOps.

Konfigurowanie skanowania kodu

Aby uzyskać dostęp do funkcji skanowania kodu, potrzebujesz produktu Zabezpieczenia kodu włączonego dla repozytorium.

Skanowanie kodu to również narzędzie do skanowania opartego na potokach, w którym wyniki są agregowane dla każdego repozytorium. Skanowanie kodu można włączyć przy użyciu domyślnej konfiguracji lub konfiguracji zaawansowanej. Możesz uruchomić oba te elementy w tej samej organizacji, w zależności od potrzeb i poziomu kontroli skanowania.

Domyślna konfiguracja to najszybszy sposób włączania skanowania kodu. Domyślna konfiguracja jest uruchamiana zgodnie z harmonogramem przy użyciu Azure Pipelines, wykrywa języki obsługiwane przez język CodeQL w repozytorium i automatycznie konfiguruje skanowanie dla nich. Jeśli języki w repozytorium zmienią się, konfiguracja skanowania zostanie automatycznie zaktualizowana.

Pula agentów i harmonogram skanowania dla konfiguracji domyślnej są współużytkowane we wszystkich repozytoriach w organizacji. Te opcje można skonfigurować w obszarzeUstawienia organizacji>Repozytoria na liście rozwijanej Domyślne opcje konfiguracji CodeQL. Aby uzyskać więcej informacji na temat każdej opcji, zobacz Konfigurowanie domyślnych opcji konfiguracji.

Zaawansowana konfiguracja zapewnia pełną kontrolę nad ustawieniami skanowania przez bezpośrednie dodanie zadań CodeQL do ścieżek. Aby uzyskać szczegółowe informacje na temat konfigurowania konfiguracji zaawansowanej, zobacz Konfigurowanie skanowania kodu.

Wskazówka

Zalecamy rozpoczęcie od domyślnej konfiguracji. Jeśli potrzebujesz większej kontroli nad konfiguracją skanowania, taką jak różne pule agentów, niestandardowe kroki kompilacji dla skompilowanych języków lub skanowanie w wielu gałęziach, możesz uruchomić zarówno konfigurację domyślną, jak i konfigurację zaawansowaną w tej samej organizacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie skanowania kodu.

Aby wygenerować alerty, domyślna konfiguracja jest uruchamiana zgodnie z harmonogramem tygodniowym. Wszystkie wykryte luki w zabezpieczeniach są wyświetlane na karcie Zabezpieczenia zaawansowane.

Ustawianie adnotacji pull request

Zarówno w przypadku skanowania zależności, jak i skanowania kodu, adnotacje są konfigurowane automatycznie dla żądań pobrania, w których stosowane są polityki walidacji kompilacji z zadaniami skanowania zależności i/lub skanowania kodu zawartymi w potoku. Aby uzyskać więcej informacji na temat konfigurowania zasad weryfikacji kompilacji, zobacz Weryfikacja kompilacji.

Adnotacje żądań ściągnięcia wymagają również skanowania zaawansowanego zabezpieczeń w gałęzi domyślnej i gałęzi docelowej przed skanowaniem gałęzi źródłowej (żądania ściągnięcia). Aby uzyskać więcej informacji na temat rozwiązywania alertów dotyczących gałęzi żądań ściągnięcia, zapoznaj się z Zarządzanie alertami skanowania zależności w żądaniach ściągnięcia i Zarządzanie alertami skanowania kodu w żądaniach ściągnięcia.

Konfigurowanie sprawdzania statusu pull requestu

Zaawansowane kontrole stanu zabezpieczeń umożliwiają blokowanie scalania wniosków o połączenie, gdy wykryte zostaną luki w zabezpieczeniach. Te kontrole statusu oceniają skanowanie zależności, skanowanie kodu i skanowanie tajne oraz publikują stan w żądaniu ściągnięcia zgodnie z wynikami.

Dostępne są dwa sprawdzenia stanu:

  • Blokuj wszystkie krytyczne i wysokie luki w zabezpieczeniach (AdvancedSecurity/AllHighAndCritical): użyj tego sprawdzianu, aby wymusić, że wszystkie alerty z krytyczną i wysoką ważnością w repozytorium muszą zostać rozwiązane przed scaleniem kodu.
  • Blokuj na nowych krytycznych i wysokich lukach w zabezpieczeniach (AdvancedSecurity/NewHighAndCritical): użyj tej kontroli, aby zapobiec wprowadzeniu nowych luk w zabezpieczeniach bez uprzedniego usunięcia wszystkich istniejących luk w zabezpieczeniach. Ta kontrola wymaga zasad weryfikacji kompilacji z zadaniami Advanced Security, aby skanować gałąź PR.

Konfigurowanie kontroli stanu jako polityki gałęzi

Aby wymagać sprawdzeń statusu zaawansowanego zabezpieczeń przed scaleniem żądań ściągnięcia, skonfiguruj je jako polityki gałęzi. Można je ustawić dla repozytorium lub projektu.

  1. Przejdź do Ustawienia projektu>Repos.
  2. Opcjonalnie wybierz repozytorium, które chcesz skonfigurować.
  3. Wybierz pozycję Zasady , a następnie wybierz gałąź, którą chcesz chronić. Domyślnie domyślna gałąź repozytoriów będzie chroniona.
  4. Jeśli jeszcze nie utworzono, dodaj zasady weryfikacji kompilacji. Jest to wymagane, aby oba testy stanu działały poprawnie. W potoku weryfikacji kompilacji, jeśli masz wiele zadań zabezpieczeń zaawansowanych, włącz właściwość dla zadań Wait for Processing i AdvancedSecurity-Publish.
  5. W obszarze Kontrole stanu wybierz, + aby dodać nowe zasady sprawdzania stanu.
  6. W menu Stan do sprawdzenia wprowadź AdvancedSecurity dla Kategorii i AllHighAndCritical lub NewHighAndCritical dla Nazwy. (Te opcje są wyświetlane po pierwszym pomyślnym uruchomieniu potoku z zadaniami usługi Advanced Security).
  7. Wybierz wymaganie dotyczące zasad (wymagane lub opcjonalne) i ustaw inne żądane opcje. Pozostaw Opcje zaawansowane na ich ustawieniach domyślnych — zmiana autoryzowanej tożsamości lub wymaganie identyfikatora iteracji uniemożliwia przesyłanie wyników kontroli stanu.
  8. Wybierz opcję Zapisz.

Zrzut ekranu przedstawiający dodawanie sprawdzania stanu zabezpieczeń zaawansowanych.

Aby uzyskać więcej informacji na temat konfigurowania zasad sprawdzania stanu, zobacz Sprawdzanie stanu.

Aby wyłączyć zabezpieczenia zaawansowane, wszystkie alerty i ich stany są zachowywane na karcie Zabezpieczenia zaawansowane, aby były dostępne przy następnym ponownym włączeniu zabezpieczeń zaawansowanych dla repozytorium.