Sdílet prostřednictvím


Zabezpečení služby Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Azure Pipelines představuje různé výzvy zabezpečení. I když kanály umožňují spouštět skripty nebo nasazovat kód do produkčních prostředí, je důležité jim zabránit v tom, aby se staly konduity škodlivého kódu. Vyvážení zabezpečení s flexibilitou a výkonem potřebnými vývojovými týmy je nezbytné.

Poznámka:

Azure Pipelines je součástí sady Azure DevOps Services, která je vytvořená na zabezpečené infrastruktuře v Rámci Azure. Pokud chcete získat komplexní přehled o konceptech zabezpečení ve všech službách Azure DevOps Services, doporučujeme zobrazit následující zdroje informací:

Organizace tradičně vynucují zabezpečení prostřednictvím striktních uzamčení. Kód, kanály a produkční prostředí čelí vážným omezením přístupu. I když tento přístup funguje dobře v malých organizacích s omezenými uživateli a projekty, větší organizace čelí jiné realitě. S mnoha přispěvateli, kteří mají přístup k kódu, je zásadní princip "předpokládat porušení zabezpečení". Zahrnuje fungování, jako by nežádoucí osoba měla přístup přispěvatele k úložištím a vyžaduje zvýšenou bdělost.

Pokud chcete dosáhnout cílů zabezpečení, zvažte následující body:

  • Zabránit spuštění škodlivého kódu:

    • Ujistěte se, že jsou vaše kanály nakonfigurované tak, aby zabránily neoprávněnému spuštění škodlivého kódu, který zahrnuje následující úlohy:
      • Omezte přístup k citlivým tajným kódům a přihlašovacím údajům.
      • Ověřte vstupní parametry a argumenty, abyste zabránili neúmyslnému chování.
      • Pravidelně kontrolujte a auditujte skripty kanálu pro potenciální rizika zabezpečení.
      • Implementovat postupy zabezpečení, jako jsou:
        • Pomocí parametrizovaných dotazů ve skriptech zabráníte injektáži SQL.
        • Uchytejte speciální znaky v argumentech, abyste se vyhnuli injektáži příkazů prostředí.
        • Omezte oprávnění pro připojení služby kanálu.
    • Zvažte použití kanálů YAML, které poskytují jemně odstupňovanou kontrolu nad prováděním a jsou méně náchylné k rizikům zabezpečení.
  • Zmírnění laterální expozice:

    • Izolujte kanály, abyste zabránili laterálnímu pohybu v rámci projektů a úložišť vaší organizace.
    • Omezte přístup jenom na potřebná úložiště a prostředky pro každý kanál.
    • Monitorujte aktivitu kanálu a nastavte upozornění na podezřelé chování.
    • Zkontrolujte a aktualizujte oprávnění, abyste pravidelně minimalizovali vystavení.
  • Použití kanálů YAML:

    • Kanály YAML nabízejí následující výhody z hlediska zabezpečení:
      • Explicitně definujte kroky kanálu a závislosti.
      • Správa verzí pro definice kanálu
      • Vymažte přehled o konfiguraci kanálu.
      • Snížené riziko náhodných chybných konfigurací.
      • Kontrola kódu a žádosti o přijetí změn:
        • Zacházejte s kanály YAML stejně jako s jakýmkoli jiným kódem.
        • Vynucujte žádosti o přijetí změn pro sloučení změn, abyste zabránili škodlivým krokům.
        • K nastavení tohoto procesu kontroly použijte zásady větve.
      • Správa přístupu k prostředkům:
        • Vlastníci prostředků určují, jestli má kanál YAML přístup ke konkrétním prostředkům.
        • Tato funkce zabezpečení zabraňuje útokům, jako je krádež jiného úložiště.
        • Schválení a kontroly poskytují řízení přístupu pro každé spuštění kanálu.
      • Parametry modulu runtime:
    • Zvažte migraci stávajících kanálů do formátu YAML, abyste zlepšili zabezpečení a udržovatelnost.

Zabezpečení je probíhající proces a důležitá jsou pravidelná hodnocení a aktualizace. Kanály YAML nabízejí nejlepší zabezpečení pro vaše služby Azure Pipelines.

Následující články popisují doporučení, která vám pomůžou s vývojem zabezpečeného kanálu založeného na YAML: