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í.
- 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:
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:
- Parametry modulu runtime pomáhají vyhnout se problémům se zabezpečením souvisejícím s proměnnými, jako je například injektáž argumentů.
- Zvažte migraci stávajících kanálů do formátu YAML, abyste zlepšili zabezpečení a udržovatelnost.
- Kanály YAML nabízejí následující výhody z hlediska zabezpečení:
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: