Přijetí ochranných mantinelí řízených zásadami

Než začnete používat zásady, musíte pochopit, kde se používají v referenčních implementacích cílových zón Azure a proč. Tento článek vám pomůže pochopit, jestli chcete zabránit nasazeníIfNotExists (DINE) nebo upravit zásady v provádění změn ve vašem prostředí Azure.

Proč používat zásady DINE a Modify?

Zásady DINE a Modify jsou součástí referenčních implementací cílových zón Azure. Pomáhají vám a vaší organizaci zajistit cílovou zónu, která se také označují jako předplatná, a prostředky, které jsou v nich kompatibilní. Tyto zásady také odstraňují provozní zátěž pro týmy platforem a cílových zón při škálování prostředí Azure.

Představte si například scénář, ve kterém je zřízeno nové předplatné cílové zóny a umístěné ve skupině pro správu "corp". Zásady DINE a Upravit pak pro předplatné cílové zóny proveďte následující akce:

  • Povolte Microsoft Defender for Cloud. Nakonfigurujte export Defenderu pro cloud do centrálního pracovního prostoru služby Log Analytics v předplatném pro správu.
  • Povolte Defender for Cloud pro různé podporované nabídky na základě parametrů zásad nakonfigurovaných pro přiřazení zásad.
  • Nakonfigurujte protokoly aktivit Azure tak, aby se odesílaly do centrálního pracovního prostoru služby Log Analytics v předplatném pro správu.
  • Nakonfigurujte nastavení diagnostiky pro všechny prostředky, které se mají odesílat do centrálního pracovního prostoru služby Log Analytics v předplatném pro správu.
  • Nasaďte požadované agenty Azure Monitoru pro virtuální počítače a škálovací sady virtuálních počítačů Azure, včetně připojených serverů Azure Arc. Připojení je do centrálního pracovního prostoru služby Log Analytics v předplatném pro správu.

Poznámka:

Předchozí možnosti můžete kdykoli nebo během nasazení referenčních implementací cílové zóny Azure zakázat.

Předchozí seznam zobrazuje podmnožinu všech zásad, které jsou přiřazené jako součást akcelerátoru cílových zón Azure. Úplný seznam zásad, které je možné přiřadit implementací referenční zóny Azure, najdete v tématu Zásady zahrnuté v referenčních implementacích cílových zón Azure.

Úložiště Bicep cílových zón Azure je modulární. Výše uvedené výchozí zásady je možné nasadit pomocí modulu výchozí přiřazení zásad ALZ.

Všechny přiřazené zásady vám a vlastníkům cílových zón pomůžou zůstat v souladu se zásadami. Žádné skutečné prostředky úloh se nenasazují prostřednictvím zásad DINE nebo Modify. Ani to nedoporučujeme. Další informace najdete v tématu Použití služby Azure Policy k nasazení úloh? Tyto zásady DINE nasazují nebo konfigurují pouze pomocné nebo podpůrné prostředky nebo nastavení.

Referenční implementace cílových zón Azure používají zásady Azure DINE , které vám pomůžou dosáhnout zásad správného řízení řízeného zásadami v rámci vašeho prostředí Azure. Možná ale nemůžete použít zásady DINE nebo Modify nebo nejste připraveni povolit tento typ efektu zásad Azure z následujících důvodů:

  • Zásady dodržování právních předpisů, standardy nebo omezení právních předpisů.
  • Přísné procesy řízení změn, které vyžadují schválení člověkem pro každou akci ve vašem prostředí Azure.
  • Nedostatek odborných znalostí, zkušeností a porozumění tomu, jak spravovat a používat zásady DINE.
  • Organizační požadavky, které všechny konfigurace prostředků úloh, včetně pomocných prostředků, podpůrných prostředků a nastavení, jsou definované v infrastruktuře jako kód (IaC) týmy aplikací úloh.

Pokud se vejdete do předchozích příkladů nebo podobných scénářů, tento článek vám pomůže pochopit, jak přijmout koncepční architekturu cílové zóny Azure a dodržovat její principy návrhu. I když zpočátku nebudete používat určité zásady, můžete je v budoucnu postupně povolit. Cílem je pomoct vám dosáhnout zásad správného řízení.

Důležité

V tomto článku uvidíte dvě možné hodnoty používané pro podmínky režimu vynucení:

  • Zakázáno nebo DoNotEnforce
  • Povoleno nebo výchozí

Azure Portal používá pro režim vynucování zakázáno a povoleno. Šablony Azure Resource Manageru (ARM) a další rozhraní API používají pro stejné možnosti DoNotEnforce a Default.

Další informace naleznete v tématu Režim vynucení.

Pokud jste si stále jistí, že vaše organizace nemůže používat zásady DINE nebo Modify, tento článek vysvětluje, jak zabránit (označované také jako zakázat) zásady v provádění automatických změn ve vašem prostředí Azure.

Poznámka:

Tato operace není trvalá. Pokud se později rozhodnete použít zásady DINE nebo Upravit zásady, může je kdykoliv znovu použít člen vašeho týmu platformy.

Další informace najdete ve fázi 2 a fázi 3.

Podpora selektorů prostředků se vztahuje také na zásady správného řízení, aby se zajistilo, že Sejf postupy nasazení (SDP) dodržuje. Selektory prostředků přinášejí funkce postupného zavádění přiřazení zásad na základě faktorů, jako je umístění prostředku, typ prostředku nebo umístění prostředku. Další informace najdete v tomto dokumentu.

Přehled přístupu

Následující diagram shrnuje navrhovaný přístup s fázemi:

Graphic that shows a DINE phases overview.

  1. Nastavte režim vynucení na DoNotEnforce přiřazení zásad:
    • Pomocí této funkce můžete upravit chování přiřazení tak, aby se efektivně stala zásadou jen pro audit beze změny základní definice zásady.
    • Tento přístup také umožňuje provádět ruční úlohy nápravy u nevyhovujících prostředků pomocí úloh nápravy, pokud chcete.
  2. Nastavte režimDefault vynucování na přiřazení zásad, aby bylo možné obnovit automatické nápravy přiřazení zásad DINE v omezeném rozsahu:
    • Můžete se rozhodnout použít celé prostředí, například skupinu pro správu sandboxu.
    • Nebo můžete použít nekritické předplatné úlohy.
  3. Nastavte režim vynucení na Default přiřazení zásad u zbývajících zásad DINE v celém prostředí Azure.

Kvůli omezením dodržování právních předpisů se někteří zákazníci nikdy nemůžou přesunout do fáze 1. Nejedná se o problém a v případě potřeby se podporuje, aby zůstal v tomto stavu. Ostatní zákazníci můžou přejít k fázím 2 a 3, aby plně přijali zásady DINE a upravte zásady, aby pomohli se zásadami řízenými zásadami pro své prostředí Azure.

Poznámka:

Scénář a přístup popsaný v tomto článku nejsou určené ani doporučené pro většinu zákazníků. Než se rozhodnete, jestli jsou tyto zásady vhodné a požadované pro vaše prostředí, přečtěte si část Proč používat zásady DINE a Změnit?

Fáze 1: Zakázání automatizovaných akcí DINE a úprava zásad

Když přiřadíte zásadu, použije se ve výchozím nastavení účinek definovaný v definici zásady. Doporučujeme ponechat definici zásady tak, jak je. Například ponechte účinek přiřazení zásady jako DeployIfNotExists.

Místo toho, abyste změnili definici zásady nebo její účinek, můžete toto chování ovlivnit s minimálním úsilím pomocí funkce přiřazení zásad.

Použití webu Azure Portal k nastavení režimu vynucení na Zakázáno

Tento snímek obrazovky ukazuje, jak pomocí webu Azure Portal nastavit režim vynucování na Zakázáno u přiřazení zásad. Zakázáno se také označuje jako DoNotEnforce.

Set the enforcement mode to Disabled in the Azure portal.

Použití šablony ARM k nastavení režimu vynucení na DoNotEnforce

Tento příklad kódu ukazuje, jak pomocí šablony ARM nastavit enforcementMode přiřazení DoNotEnforce zásady. DoNotEnforce označuje se také jako Disabled.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "DoNotEnforce"
    … // other properties removed for display purposes
  }
}

Pomocí režimu vynucování můžete zobrazit účinek zásady na existující prostředky, aniž byste ji iniciovali nebo aktivovala položky v protokolu aktivit Azure. Tento scénář se běžně označuje jako "What If" a je v souladu s postupy bezpečného nasazení.

I když je režim vynucení nastavený na DoNotEnforce, lze úlohy nápravy aktivovat ručně. Můžete napravit konkrétní nedodržující prostředky. Můžete také zjistit, co by zásady DINE nebo Modify udělaly, pokud byl režim vynucení nastaven na Default.

Důležité

Pokud je režim vynucení nastavený na DoNotEnforce, položky v protokolu aktivit Azure se negenerují. Tento faktor zvažte, pokud chcete být upozorněni při vytvoření nevyhovujícího prostředku.

Zůstaňte v trvalém stavu fáze 1

Jak je uvedeno v části Přehled přístupu, někteří zákazníci můžou kvůli jejich požadavkům zůstat ve fázi 1 po dlouhou dobu nebo dokonce trvale. Tento stav je platný a zákazníci v něm můžou zůstat po libovolnou dobu.

Možná budete muset zůstat v tomto stavu trvale nebo po dlouhou dobu, jako jsou roky. Pokud ano, může být pro vás lepší přijmout AuditIfNotExists účinek zásad (AINE) a přidružené definice a nastavit režim vynucení zpět .Default

Poznámka:

Změnou zásad AINE a nastavením režimu vynucování na Defaultstále dosáhnete stejného cíle zakázání DINE.

Když se změníte z DINE na AINE a nastavíte režim vynucení zpět Default jako dlouhodobý nebo trvalý přístup pro fázi 1, získáte zpět položky protokolu aktivit Azure pro stavy dodržování zásad. Pracovní postupy automatizace můžete vytvářet z těchto položek protokolu v celkových operacích správy platformy.

Ztratíte možnost provádět úlohy ruční nápravy. Na rozdíl od zásad DINE zásady AINE neprovádějí žádná nasazení, a to buď automatizovaná, nebo ruční.

Nezapomeňte aktualizovat definici zásady tak, aby přijímala a umožňovala AuditIfNotExists účinek přiřazení zásad.

Následující tabulka shrnuje možnosti a důsledky pro různé typy efektů zásad a kombinací režimu vynucení:

Účinek zásad Režim vynucení Položka protokolu aktivit Akce nápravy
VEČEŘET Povoleno nebo výchozí Ano Náprava aktivovaná platformou ve velkém měřítku po vytvoření nebo aktualizaci prostředků Ruční vytvoření úlohy nápravy vyžadované v případě změny nebo před přiřazením zásady závislý zdroj.
VEČEŘET Zakázáno nebo DoNotEnforce No Vyžaduje se ruční vytvoření úlohy nápravy.
Změnit Povoleno nebo výchozí Ano Automatická náprava během vytváření nebo aktualizace
Změnit Zakázáno nebo DoNotEnforce No Vyžaduje se ruční vytvoření úlohy nápravy.
Odepřít Povoleno nebo výchozí Ano Vytvoření nebo aktualizace se zamítlo.
Odepřít Zakázáno nebo DoNotEnforce No Vytvoření nebo aktualizace je povolené. Vyžaduje se ruční náprava.
Audit/AINE Povoleno nebo výchozí Ano Vyžaduje se ruční náprava.
Audit/AINE Zakázáno nebo DoNotEnforce No Vyžaduje se ruční náprava.

Poznámka:

Projděte si pokyny v reakci na události změn stavu služby Azure Policy a zjistěte, jestli použití integrace služby Azure Event Grid se službou Azure Policy poskytuje vhodný přístup, pokud plánujete vytvořit vlastní automatizaci na základě událostí stavu zásad.

Fáze 2: Povolení zásad DINE a úprava konkrétních zásad nebo omezeného rozsahu

V této fázi se dozvíte, jak nastavit režim vynucení pro Default přiřazení zásad.

Po dokončení fáze 1 se rozhodnete, že chcete otestovat a vyzkoušet úplné možnosti automatizace nástroje DINE a Upravit zásady pro konkrétní zásady nebo v omezeném rozsahu. Chcete použít skupinu pro správu sandboxu nebo neprodukční předplatné úloh.

Abyste mohli tento postup provést, musíte nejprve identifikovat zásady nebo omezený rozsah, který se použije k otestování, a vyzkoušet možnosti úplné automatizace DINE a Upravit zásady.

Poznámka:

Možná budete chtít zkontrolovat a implementovat testovací přístup pro platformu na podnikové úrovni . Tímto způsobem můžete otestovat zásady a další změny platformy v oddělené hierarchii skupin pro správu v rámci stejného tenanta.

Tento přístup se také označuje jako "kanárské" nasazení.

Některé navrhované příklady oborů a zásad jsou uvedené v následující tabulce:

Když chcete... ... vybrat z těchto oborů Příklady zásad, které se mají použít
– Otestujte funkce automatizované nápravy DINE/Modify.
– Ověřte, jak mohou být ovlivněny kompletní procesy nasazení a kanály CI/CD, včetně testů.
– Ověřte, jak může být ovlivněna vaše úloha.
– Předplatné sandboxu
– Skupina pro správu sandboxu
– Neprodukční předplatné cílové zóny úloh
- Podnikové prostředí "kanárů"
– Nakonfigurujte protokoly aktivit Azure tak, aby streamovali do zadaného pracovního prostoru služby Log Analytics.
– Nasaďte Defender pro konfiguraci cloudu.
– Povolte Azure Monitor pro virtuální počítače nebo škálovací sady virtuálních počítačů.
– Nasaďte nastavení diagnostiky do služeb Azure.
- Potenciálně lze povolit pouze konkrétní služby v rámci iniciativy.

Můžete se také rozhodnout použít úlohu ruční nápravy v omezeném rozsahu nebo sadě prostředků k otestování toho, jak tyto zásady ovlivní vaše prostředí. Další informace o tom, jak vytvořit úlohu nápravy, najdete v dokumentaci k Azure Policy Vytvoření úlohy nápravy.

Po identifikaci zásad nebo zásad a omezeného rozsahu pro jejich přiřazení je dalším krokem přiřazení zásady a nastavení režimu vynucení na Defaulthodnotu . Nechte účinek zásad, například DeployIfNotExists nebo Modify, tak, jak je na omezeném rozsahu, který jste vybrali.

Použití webu Azure Portal k nastavení režimu vynucení na Povoleno

Tento snímek obrazovky ukazuje, jak pomocí webu Azure Portal nastavit režim vynucení na Povoleno u přiřazení zásad. Povoleno je také označováno jako Výchozí.

Screenshot that shows setting the enforcement mode to Enabled in the Azure portal.

Použití šablony ARM k nastavení režimu vynucení na výchozí

Tento příklad kódu ukazuje, jak pomocí šablony ARM nastavit enforcementMode přiřazení Default zásady. Default označuje se také jako Enabled.

{
  "type": "Microsoft.Authorization/policyAssignments",
  "apiVersion": "2019-09-01",
  "name": "PolicyAssignmentName",
  "location": "[deployment().location]",
  "properties": {
    "description": "PolicyAssignmentDescription",
    "policyDefinitionId": "[parameters('policyDefinitionId')]",
    "enforcementMode": "Default"
    … // other properties removed for display purposes
  }
}

Testování

Posledním krokem v této fázi je provedení požadovaného testování. Chcete ověřit, jestli a jak mohly zásady DINE nebo Modify ovlivnit a provádět změny úloh, kódu, nástrojů a procesů.

Proveďte několik testů, abyste zachytili celý životní cyklus vaší úlohy. Chcete zajistit, abyste plně porozuměli tomu, jestli a jak DINE nebo Modify zásady provedly změny.

Mezi příklady testování patří:

  • Počáteční nasazení úlohy
  • Nasazení kódu nebo aplikace do úlohy
  • 2. den provozu a správy úloh
  • Vyřazení úlohy z provozu

Fáze 3: Povolení zásad DINE a úpravy všude

V této fázi se dozvíte, jak nastavit režim vynucení pro Default přiřazení zásad.

Předpokládáme, že vaše testování na konci fáze 2 proběhlo úspěšně. Nebo možná jste spokojení s tím, že teď rozumíte tomu, jak DINE nebo Upravit zásady pracují s vaší úlohou. Teď můžete rozšířit použití DINE a upravit zásady ve zbytku prostředí Azure.

Pokud chcete pokračovat, postupujte podle kroků podobných krokům ve fázi 2. Tentokrát nastavíte režim vynucování na Default všechny DINE a upravíte přiřazení zásad v celém prostředí Azure.

Tady je základní přehled kroků, které v této fázi provedete:

  • Odeberte přiřazení použitá speciálně pro testování během fáze 2.
  • Projděte si jednotlivé DINE a upravte přiřazení zásad v prostředí Azure a nastavte režim vynucování na Default. Tento proces je uvedený v příkladech ve fázi 2.
  • Podle pokynů v části Vytvoření úlohy nápravy vytvořte úlohy nápravy pro existující prostředky, které nedodržují předpisy. Nové prostředky se automaticky opraví, pokud odpovídají pravidlu zásad a podmínkám existence.

I když ve fázi 3 doporučujeme nastavit režim vynucení pro Default všechny zásady DINE a Upravit ve vašem prostředí Azure, tato volba je stále volitelná. Tuto volbu můžete provést na základě zásad tak, aby vyhovovala vašim potřebám a požadavkům.

Pokročilá správa zásad

Pro pokročilou správu služby Azure Policy ve velkém měřítku zvažte implementaci zásad enterprise policy jako kódu (EPAC) pro správu zásad. EPAC poskytuje stavové prostředí pro správu, které používá IaC. Obecně vyhovuje velkým scénářům správy zásad se složitými požadavky.