Požadavky zásad správného řízení pro zabezpečené nasazení v Azure
Procesy automatizované průběžné integrace a průběžného doručování (CI/CD) musí mít integrované zásady správného řízení, které autorizují a ověřují identity pro provádění úloh v rámci definovaného oboru.
Klíčové body
- Jasně definujte role a oprávnění pro CI/CD.
- Implementujte Privileged Access Management (just-in-time management).
- Omezte dlouhodobě zastálý přístup k zápisu do produkčních prostředí.
- Omezte rozsah provádění v kanálech.
- nakonfigurujte schválení brány kvality v procesu DevOps vydání.
Minimalizace přístupu
Minimalizujte počet uživatelů, kteří mají přístup k zabezpečeným informacím nebo prostředkům. Tato strategie omezí možnost přístupu škodlivého objektu actor nebo neúmyslně ovlivnit citlivý prostředek. Tady je několik důležitých informací:
Při přiřazování rolí a oprávnění používejte princip nejnižších oprávnění. Pouze uživatelé odpovědní za produkční verze by měli zahájit proces a mít přístup ke zdrojovému kódu pouze vývojáři.
Kanál by měl používat jeden nebo více instančních objektů. V ideálním případě by měly být spravované identitou a dodávány platformou a nikdy nepřímo definované v rámci kanálu. Identita by měla mít pouze oprávnění Azure RBAC potřebná k provedení této úlohy. Všechny instanční objekty by měly být svázané s tímto kanálem a nesdílely se mezi kanály.
Jak definujete role CI/CD a oprávnění?
Azure DevOps nabízí předdefinované role, které je možné přiřadit jednotlivým uživatelům skupin. Pokud předdefinované role nestačí k definování minimálního oprávnění pro kanál, zvažte vytvoření vlastních rolí Azure RBAC. Ujistěte se, že tyto role odpovídají akcím a týmům a odpovědnostem organizace.
Aby bylo možné podporovat zabezpečení operací kanálu, můžete přidat uživatele do předdefinované skupiny zabezpečení, nastavit jednotlivá oprávnění pro uživatele nebo skupinu nebo přidat uživatele k předdefinovaným rolím. zabezpečení pro následující objekty můžete spravovat z Azure Pipelines na webovém portálu, a to buď z kontextu uživatele nebo správce.
Další informace najdete v tématu Začínáme s oprávněními, přístupem a skupinami zabezpečení.
Oprávnění můžete udělit nebo omezit nastavením stavu oprávnění na Povolit nebo Odepřít, a to buď pro skupinu zabezpečení nebo pro jednotlivé uživatele. Pro roli přidáte uživatele nebo skupinu do role.
Použijte samostatné identity kanálu mezi předprodukčním a produkčním prostředím. Pokud je k dispozici, využijte výhod funkcí kanálu, jako jsou například prostředí, k zapouzdření posledního ověřování pro daný kanál do vykonávání.
Pokud se kanál spouští zřídka a má vysoké oprávnění, zvažte odebrání oprávnění pro přístup k této identitě. Použijte přiřazení role JIT (just-in-time), aktivaci role na základě času a schválení. Tato strategie bude zmírnit rizika nadměrných, zbytečných nebo nepoužívaných přístupových oprávnění k důležitým prostředkům. Azure AD Privileged Identity Management podporuje všechny tyto režimy aktivace.
Projděte si téma CI/CD Pipeline a upřesněte přiřazení role, abyste mohli vytvořit jasné rozklady mezi vývojem a výrobní odpovědností.
Další informace
Další informace o oprávněních kanálu a rolích zabezpečení najdete v části nastavení různých úrovní oprávnění kanálu.
Rozsah provádění
V případě potřeby Omezte rozsah provádění v kanálech.
Zvažte vytvoření kanálu s více fázemi. Rozdělte práci do diskrétních jednotek a je možné ji izolovaně rozdělit do samostatného kanálu. Omezte identity jenom na rozsah jednotky, aby měla dostatečná minimální oprávnění k provedení této akce. Například můžete mít dvě jednotky, jednu pro nasazení a další sestavení zdrojového kódu. Povolte pouze jednotce nasazení přístup k identitě, nikoli k jednotce sestavení. Pokud dojde k ohrožení bezpečnosti jednotky sestavení, mohlo by dojít ke spuštění manipulace s infrastrukturou.
Proces ověřovaného schválení
máte v procesu vydaných verzí DevOps schválení pro bránu vydaných verzí?
Žádosti o přijetí změn a revize kódu slouží jako první řádek schválení během cyklu vývoje. Před vydáním aktualizace do produkčního prostředí mají proces, který zadává kontrolu zabezpečení a schválení.
ujistěte se, že do procesu plánování, návrhu a DevOps zahrnete bezpečnostní tým. Tato spolupráce pomůže implementovat procesy řízení zabezpečení, auditování a reakce.
Používají se pro správu zdrojového kódu pro tuto úlohu zásady větví? Jak jsou nakonfigurovány?
Navažte zásady pro větve, které poskytují další úroveň kontroly nad kódem, který se potvrdí do úložiště. V případě, že změna není schválená, je běžný postup odepření nabízených oznámení do hlavní větve. Můžete například vyžadovat vyžádání žádosti o přijetí změn (PR) s revizí kódu před sloučením změn alespoň jedním kontrolorem, než je autor změny.
Je doporučeno mít více větví, kde má každá větev účel a úroveň přístupu. Například větve funkcí jsou vytvářeny vývojáři a jsou otevřeny k odesílání. Integration větvi vyžaduje PR a revizi kódu. Produkční větev vyžaduje před sloučením vedoucí tým jiné schválení.
Související odkazy
Vraťte se k hlavnímu článku: zabezpečení nasazení a testování v Azure