Sdílet prostřednictvím


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 Modifikovat?

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, že vaše cílové zóny, které se také označují jako předplatná, a zdroje v nich jsou v souladu. 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 poskytnuto nové předplatné přistávací zóny a umístěno ve skupině pro správu "corp". Upravte zásady DINE a poté proveďte následující akce pro předplatné příslušné přistávací zóny:

  • 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 pro Cloud pro různé podporované nabídky na základě parametrů zásad nakonfigurovaných v rámci 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řipojte je k centrálnímu pracovnímu 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 pro Azure cílové zóny je modulární. Výše uvedené výchozí politiky lze nasadit pomocí modulu ALZ Default Policy Assignments .

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é výpočetní prostředky úloh se nenasazují prostřednictvím zásad DINE nebo Modify. Ani to nedoporučujeme. Další informace najdete v tématu Měli bychom k nasazení úloh použít Azure Policy?. Tyto zásady DINE nasazují nebo konfigurují pouze pomocné nebo podpůrné prostředky nebo nastavení.

Referenční implementace přistávacích zón Azure používají DINE zásady Azure, které vám pomůžou dosáhnout řízení založeného na zásadách 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, podle nichž musí být všechny konfigurace prostředků zátěže, včetně pomocných a podpůrných prostředků a nastavení, definovány 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 pomoci vám dosáhnout řízení založeného na zásadách.

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 Neaplikovat
  • 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 prosazování.

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 DINE nebo Upravit zásady, může některý člen vašeho týmu platformy tyto zásady kdykoliv znovu povolit.

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

Podpora selektorů prostředků platí také pro řízení založené na zásadách, aby se zajistilo dodržování Bezpečných postupů nasazení (SDP). Selektory prostředků přinášejí funkci postupného zavádění přiřazování zásad na základě faktorů, jako je umístění prostředku, typ prostředku, a také jestli má prostředek umístění. Více naleznete v tomto dokumentu.

Přehled přístupu

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

Graphic, která zobrazuje přehled fází DINE.

  1. Nastavte režim vynucení na přiřazení zásad na hodnotu DoNotEnforce.
    • Pomocí této funkce můžete upravit chování přiřazení tak, aby se efektivně stala zásadou jen pro audit, aniž by byla změněna základní definice zásady.
    • Tento přístup vám také umožňuje, pokud chcete, provádět ruční úlohy nápravy u nevyhovujících prostředků pomocí úloh nápravy .
  2. Nastavte režim vynucení na Default přiřazení zásad k opětovnému povolení automatické nápravy přiřazení zásad DINE u omezeného rozsahu:
    • Můžete se rozhodnout použít celé prostředí, například skupinu pro správu sandboxu.
    • Nebo můžete použít předplatné pro nekritickou zátěž.
  3. Nastavte režim vynucení na Default pro 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 mohou postoupit do fází 2 a 3, aby plně přijali zásady DINE a Modify, které pomohou s řízením na základě zásad pro jejich 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ů. Přečtěte si oddíl Proč používat zásady DINE a úpravy?, než se rozhodnete, jestli jsou tyto zásady vhodné a potřebné pro vaše prostředí.

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

Když přiřadíte zásadu, ve výchozím nastavení se použije účinek , který je definován v její definici. Doporučujeme ponechat definici zásady tak, jak je. Například ponechte efekt přiřazení zásady na 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 nastavit pomocí portálu Azure režim vynucení na Zakázáno v přiřazení zásad. Zakázáno je také označováno jako DoNotEnforce.

Na webu Azure Portal nastavte režim vynucení na Zakázáno.

Použijte šablonu ARM k nastavení módu vynucení na DoNotEnforce

Tento příklad kódu ukazuje, jak s šablonou ARM nastavit enforcementMode na DoNotEnforce u přiřazení zásad. DoNotEnforce se také označuje 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 spustily 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 , je možné ručně aktivovat úlohy nápravy. Můžete napravit konkrétní nevyhovující zdroje. 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, když je vytvořen nevyhovující prostředek.

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 svým požadavkům zůstat ve fázi 1 fáze 1 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 lepší, abyste přijali efekt zásady AuditIfNotExists (AINE) spolu s přidruženými definicemi a nastavili režim vynucení zpět na Default.

Poznámka

Změnou zásad AINE a nastavením režimu vynucení 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 na 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ť už automatizovaná či ruční.

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

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

Účinek politiky Režim vynucení Položka protokolu aktivit Akce nápravy
VEČEŘET Povolené nebo výchozí nastavení Ano Náprava aktivovaná platformou ve velkém měřítku po vytvoření nebo aktualizaci prostředků Ruční vytvoření úlohy nápravy je vyžadováno, pokud je závislý zdroj upraven nebo již existoval před přiřazením zásady.
VEČEŘET Zakázáno nebo Neprosadit Ne Vyžaduje se ruční vytvoření úlohy nápravy.
Upravit Povoleno nebo výchozí Ano Automatická náprava během procesu vytváření nebo aktualizace
Upravit Zakázáno nebo Nevyžadovat Ne Vyžaduje se ruční vytvoření nápravného úkolu.
Popřít Povoleno nebo výchozí Ano Vytvoření nebo aktualizace se zamítlo.
Popřít Zakázáno nebo Neprosazovat Ne Vytvoření nebo aktualizace je povolené. Vyžaduje se ruční náprava.
Audit/AINE Zapnuto nebo výchozí Ano Vyžaduje se ruční náprava.
Audit/AINE Zakázáno nebo Neprosazovat Ne Vyžaduje se ruční náprava.

Poznámka

Projděte si pokyny v části Reakce na události změny stavu Azure Policy a zjistěte, zda integrace služby Azure Event Grid se službou Azure Policy představuje vhodný přístup, pokud plánujete vybudovat vlastní automatizaci na základě událostí stavu zásad.

Fáze 2: Aktivace zásad DINE a úprava zásad u konkrétní politiky nebo v omezeném rozsahu

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

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

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... Vyberte si 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 všechny vaše kompletní procesy nasazení a CI/CD pipeline, včetně testů.
– Ověřte, jak může být ovlivněna vaše úloha.
– Předplatné sandboxu
– Skupina pro správu sandboxu
– Předplatné cílové zóny neprodukčních úloh
- "kanárkové" prostředí na podnikové úrovni
– 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 ke službě 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 Default. Nechte účinek zásad, například DeployIfNotExists nebo Modify, jak je uvedeno v 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 vynucování na Povoleno u přiřazení zásad. Povoleno je také označováno jako Výchozí.

snímek obrazovky znázorňující nastavení režimu vynucení na Povoleno na webu 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 na Default v přiřazení zásady. Default se také označuje 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, zda a jak mohly politiky DINE nebo Modify ovlivnit a způsobit změny ve vašich pracovních zátěžích, kódu, nástrojích a procesech.

Proveďte několik testů, abyste zachytili celý životní cyklus vaší úlohy. Chcete zajistit, že plně rozumíte tomu, zda a jakým způsobem zásady DINE nebo Modify přinesly změny.

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

  • Počáteční nasazení pracovní zátěže
  • Nasazení kódu nebo aplikace do úlohy
  • 2. den provozu a správy úloh
  • Vyřazení pracovního zatížení z provozu

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

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

Předpokládáme, že vaše testování na konci fáze 2 úspěšně prošlo. Možná jste spokojeni s tím, že nyní rozumíte, jak politiky DINE nebo Upravit interagují s vaší pracovní zátěží. Teď můžete rozšířit použití DINE a upravit zásady ve zbytku prostředí Azure.

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

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

  • Odeberte přiřazení, která se používají speciálně k testování během fáze 2.
  • Projděte si každé přiřazení zásad DINE a Modify ve vašem prostředí Azure a nastavte režim vynucení na Default. Tento proces je uvedený v příkladech ve fázi 2.
  • Podle pokynů v Vytvoření nápravné úlohyvytvořte nápravné úlohy pro existující prostředky, které nejsou v souladu s předpisy. Nové prostředky se automaticky opraví, pokud odpovídají pravidlům zásad a podmínkám existence.

I když ve fázi 3 doporučujeme nastavit režim vynucení na Default pro všechny zásady DINE a upravování 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 Azure Policy ve velkém měřítku zvažte implementaci Enterprise Policy as Code (EPAC) pro efektivní 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.