Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nazwa filaru: Ochrona systemów inżynieryjnych
Nazwa wzorca: Standaryzacja bezpiecznych potoków programowania
Kontekst i problem
Potoki CI/CD są kręgosłupem nowoczesnego dostarczania oprogramowania. Ale gdy są pozostawione bez zarządzania, mogą również stać się ślepym miejscem.
W przypadku wielu organizacji korzystających z narzędzi, takich jak Azure DevOps (AzDO), zespoły programistyczne korzystają z elastyczności tworzenia i wdrażania oprogramowania w sposób pasujący do unikatowych przepływów pracy. Jednak z czasem ta elastyczność może prowadzić do fragmentacji. Klienci mogą stwierdzić, że zespoły w tej samej organizacji wdrażają potoki ciągłej integracji/ciągłego wdrażania w sposób niespójny, używając różnych kontroli zabezpieczeń, walidacji zgodności i logiki automatyzacji. Ta niespójność zwiększa ryzyko luk w zabezpieczeniach, spowalnia dołączanie nowych członków zespołu i utrudnia wymuszanie standardów dla całego przedsiębiorstwa w celu szybkiego reagowania na pojawiające się zagrożenia.
Ten brak standaryzacji może utrudnić:
- Wymuszanie zasad zabezpieczeń lub przepisów dotyczących całej firmy
- Generuj listy materiałów oprogramowania (SBOMs) zgodnie z wymaganiami rozporządzenia wykonawczego 14028
- Zastosuj aktualizacje równomiernie w tysiącach potoków
Wynikiem jest składanka praktyk, która spowalnia wdrażanie zabezpieczeń, zwiększa ryzyko niespełnienia wymogów zgodności i tworzy niepotrzebne obciążenie dla zespołów inżynieryjnych.
Rozwiązanie
Aby sprostać temu wyzwaniu na dużą skalę, firma Microsoft opracowała zarządzane szablony potoków w ramach inicjatywy Secure Future Initiative (SFI). Te centralnie zarządzane szablony YAML usługi Azure DevOps i akcje GitHub kodują ustandaryzowaną logikę, mechanizmy kontroli zabezpieczeń i wymagania dotyczące zgodności — dzięki czemu zespoły mogą szybciej przejść bez naruszania zaufania.
Zarządzane szablony potoków służą jako domyślnie bezpieczne wzorce, które zespoły mogą rozszerzać, aby spełniać lokalne potrzeby, zachowując jednocześnie podstawowy zestaw funkcji i egzekwowania. Takie podejście równoważy scentralizowaną kontrolę z autonomią deweloperów.
Szablony obsługują szereg przepływów pracy, w tym:
- Walidacja pull requestu (PR)
- Oficjalne kompilacje
- Automatyzacja wydania
- Usługi obejmujące aplikacje internetowe, aplikacje klasyczne, mikrousługi i modele uczenia maszynowego
Firma Microsoft ukończyła wdrażanie zarządzanych szablonów potoków w ciągu dwóch kwartałów. Obecnie 92% komercyjnych potoków produkcyjnych w chmurze firmy Microsoft są centralnie zarządzane.
Wskazówki
Organizacje mogą przyjąć podobny wzorzec, korzystając z następujących praktyk z możliwością działania:
| Przypadek użycia | Zalecana akcja | Zasób |
|---|---|---|
| Korzystanie z wbudowanych narzędzi |
|
|
| Tworzenie wspólnego szablonu |
|
|
| Obsługa rozszerzeń lokalnych | Zezwalaj zespołom na tworzenie szablonów szprych, które dodają funkcje lokalne bez modyfikowania podstawowego zestawu funkcji | Konfigurowanie rozszerzenia Microsoft Security DevOps dla Azure DevOps |
| Automatyzowanie generowania dowodów | Uwzględnij SBOM, wyniki testów, skany zabezpieczeń i artefakty zgodności w procesie kompilacji | ACR — zarządzanie artefaktami OCI |
Wyniki
Korzyści
- Szybkie wdrażanie nowych zespołów, które mogą od razu korzystać z bezpiecznych potoków
- Zmniejszenie ryzyka błędnej konfiguracji, niespójnego wymuszania lub błędu ludzkiego
- Zwiększanie pokrycia zgodności, w tym SBOMs i bram regulacyjnych
- Zwiększanie widoczności użycia potoku, kondycji i zgodności zasad
- Obsługa skalowalnych innowacji dzięki stale zmieniającym się szablonom centralnym
- Upraszczanie obsługi, ponieważ narzędzia potoków są utrzymywane i zoptymalizowane przez dedykowany zespół — dzięki temu inżynierowie mogą skupić się na tworzeniu produktów
Kompromisy
- Standaryzacja potoków wymaga znacznej koordynacji, zarządzania zmianami i inwestycji z góry
- Zespoły muszą migrować niestandardową logikę do szablonów szprych, które mogą ujawniać ściśle powiązane lub nieaktualne projekty potoków
- Nie każdy przypadek brzegowy jest obsługiwany, co wymaga równowagi między elastycznością a bezpieczeństwem—ale korzyści długoterminowe przewyższają początkowe trudności.
Kluczowe czynniki sukcesu
Organizacje mogą śledzić powodzenie przy użyciu następujących wskaźników:
- Procent aktywnych potoków przy użyciu szablonów regulowanych
- Pokrycie generowania SBOM w kompilacjach produkcyjnych
- Liczba potoków, które przeszły, vs które nie przeszły bram zgodności
- Czas stosowania nowych zasad lub aktualizacji zabezpieczeń we wszystkich potokach
- Liczba zgłoszeń do pomocy technicznej lub usterek związanych z niespójnością potoku lub błędną konfiguracją
Podsumowanie
Dowiedz się, jak firma Microsoft przekształca potoki deweloperskie w systemy oparte na zabezpieczeniach, gotowe do użycia w kolejnych etapach.