Definování dynamického členství ve skupině sítě v Azure Virtual Network Manageru pomocí služby Azure Policy
V tomto článku se dozvíte, jak pomocí podmíněných příkazů azure Policy vytvářet skupiny sítí s dynamickým členstvím. Tyto podmíněné příkazy vytvoříte pomocí základního editoru výběrem parametrů a operátorů z rozevírací nabídky. Dozvíte se také, jak pomocí rozšířeného editoru aktualizovat podmíněné příkazy existující skupiny sítě.
Azure Policy je služba, která umožňuje vynucovat zásady správného řízení pro jednotlivé prostředky ve velkém měřítku. Dá se použít k určení podmíněných výrazů, které definují členství ve skupinách, na rozdíl od explicitních seznamů virtuálních sítí. Tato podmínka pokračuje v dynamickém napájení skupin sítě, což umožňuje virtuálním sítím připojit se a nechat skupinu automaticky při plnění změn podmínek bez nutnosti operace Správce sítě.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Pokud chcete upravit dynamické skupiny sítě, musíte mít udělený přístup pomocí řízení přístupu na základě role. Klasický správce nebo starší verze autorizace se nepodporuje.
Parametry a operátory
Virtuální sítě s dynamickým členstvím jsou vybrány pomocí podmíněných příkazů. Pomocí logických operátorů, jako jsou AND a OR, můžete definovat více než jeden podmíněný příkaz pro scénáře, ve kterých je potřeba vybrané virtuální sítě dále zúžit.
Seznam podporovaných parametrů:
Parametry | Rozšířené pole editoru |
---|---|
Název | Name |
ID | Id |
Značky | tag['tagName'] |
Název předplatného | [subscription().Name] |
ID předplatného | [subscription().Id] |
Značky předplatného | [subscription().tags['tagName']] |
Název skupiny prostředků | [resourceGroup().Name] |
ID skupiny prostředků | [resourceGroup().Id] |
Značky skupin prostředků | [resourceGroup().tags['tagName']] |
Seznam podporovaných operátorů:
Operátory | Rozšířený editor |
---|---|
Obsahuje | "contains": <> |
Neobsahuje | "notcontains": <> |
In | "in": <> |
Není v | "notin": <> |
Rovná se | "equals": <> |
Nerovná se | "notequals": <> |
Obsahuje některý z | "contains": <> |
Obsahuje všechny | "contains": <> |
Neobsahuje žádnou z | "notcontains": <> |
Existuje | "exists": true |
Neexistuje | "exists": false |
Poznámka:
Operátory Exists a Neexistuje se používají pouze s parametrem Tags.
Základní editor
Předpokládejme, že ve svém předplatném máte následující virtuální sítě. Každá virtuální síť má přidruženou značku s názvem prostředí s odpovídající hodnotou produkce nebo testu.
Virtual Network | Název značky | Hodnota značky |
---|---|---|
myVNet01-EastUS | prostředí | production |
myVNet01-WestUS | prostředí | production |
myVNet02-WestUS | prostředí | test |
myVNet03-WestUS | prostředí | test |
Chcete vybrat jenom virtuální sítě, jejichž značka má dvojici klíč-hodnota prostředí, které se rovná produkčnímu prostředí. Pokud chcete začít používat základní editor k vytvoření podmíněného příkazu, musíte vytvořit novou skupinu sítě.
Přejděte do instance Azure Virtual Network Manageru a v části Nastavení vyberte Skupiny sítí. Pak vyberte + Vytvořit a vytvořte novou skupinu sítě.
Zadejte název a volitelný popis skupiny sítě a vyberte Přidat.
V seznamu vyberte skupinu sítě a vyberte Vytvořit azure Policy.
Zadejte název zásady a ponechte vybrané obory, pokud nejsou potřeba změny.
V části Kritéria vyberte v rozevíracím seznamu Parametr značky a v rozevíracím seznamu Operátor vyberte dvojici klíčových hodnot.
V podmínce zadejte prostředí a produkční prostředí a vyberte Prostředky ve verzi Preview. V seznamu byste měli vidět myVNet01-EastUS a myVNet01-WestUS.
Vyberte Zavřít a uložit.
Po několika minutách vyberte skupinu sítě a v části Nastavení vyberte Členy skupiny. Měli byste vidět jenom myVNet01-WestUS a myVNet01-WestUS.
Důležité
Základní editor je k dispozici pouze při vytváření služby Azure Policy. Po vytvoření zásady se všechny úpravy budou provádět pomocí kódu JSON v části Zásady ve Správci virtuální sítě nebo prostřednictvím služby Azure Policy.
Rozšířený editor
Rozšířený editor lze použít k výběru virtuálních sítí při vytváření skupiny sítě nebo při aktualizaci existující skupiny sítě. Rozšířený editor založený na formátu JSON je užitečný pro vytváření a aktualizaci složitých podmíněných příkazů Azure Policy zkušenými uživateli.
Vytvoření nové zásady pomocí rozšířeného editoru
Přejděte do instance Azure Virtual Network Manageru a v části Nastavení vyberte Skupiny sítí. Pak vyberte + Vytvořit a vytvořte novou skupinu sítě.
Zadejte název a volitelný popis skupiny sítě a vyberte Přidat.
V seznamu vyberte skupinu sítě a vyberte Vytvořit azure Policy.
Zadejte název zásady a ponechte vybrané obory, pokud nejsou potřeba změny.
V části Kritéria otevřete editor výběrem rozšířeného editoru (JSON).
Do textového pole zadejte následující kód JSON a vyberte Uložit:
{ "field": "Name", "contains": "myVNet01" }
Po několika minutách vyberte skupinu sítě a v části Nastavení vyberte Členy skupiny. Měli byste vidět jenom myVNet01-WestUS a myVNet01-EastUS.
Důležité
Všechny zásady Azure, které vytvoříte pomocí správce virtuální sítě, budou žít v oblasti služeb Azure Policy. Při odstranění instance správce virtuální sítě se z přiřazení a definic Azure Policy neodeberou. To vyžaduje ruční odebrání zásad. Informace o odebrání zásad Azure
Úprava existující zásady
Vyberte skupinu sítí vytvořenou v předchozí části. Pak vyberte kartu Zásady .
Vyberte zásadu vytvořenou v předchozí části.
Podmíněné příkazy pro skupinu sítě se zobrazí v následujícím zobrazení rozšířeného editoru:
[ { "field": "Name", "contains": "myVNet01" } ]
Pokud chcete přidat další podmíněný příkaz pro pole Název, které neobsahuje WestUS, zadejte do rozšířeného editoru následující příkaz:
{ "allOf": [ { "field": "Name", "contains": "VNet01" }, { "field": "Name", "notcontains": "WestUS" } ] }
Parametr
"allOf"
obsahuje oba podmíněné příkazy oddělené logickým operátorem AND .Zvolte Uložit.
Po několika minutách vyberte skupinu sítě a v části Nastavení vyberte Členy skupiny. Měli byste vidět jenom myVNet01-EastUS.
Další příklady
Tady jsou další příklady podmíněných příkazů v rozšířeném editoru.
Příklad 1: Pouze operátor OR
Tento příklad používá logický operátor OR k oddělení dvou podmíněných příkazů.
Základní editor:
Rozšířený operátor:
{ "anyOf": [ { "field": "Name", "contains": "myVNet01" }, { "field": "Name", "contains": "myVNet02" } ] }
Parametr "anyOf"
obsahuje oba podmíněné příkazy oddělené logickým operátorem OR .
Příklad 2: Operátor AND a OR současně
Základní editor:
Rozšířený editor:
{
"allOf": [
{
"anyOf": [
{
"field": "Name",
"contains": "myVNet01"
},
{
"field": "Name",
"contains": "myVNet02"
}
]
},
{
"field": "Name",
"notcontains": "West"
}
]
}
Oba "allOf"
a "anyOf"
používají se v kódu. Vzhledem k tomu, že operátor AND je poslední v seznamu, je na vnější části kódu obsahující dva podmíněné příkazy s operátorem OR .
Příklad 3: Použití hodnot vlastních značek v rozšířeném editoru
V tomto příkladu se vytvoří podmíněný příkaz, který vyhledá virtuální sítě, kde název zahrnuje myVNet AND značku prostředí se rovná produkčnímu prostředí.
Rozšířený editor:
{ "allOf": [ { "field": "Name", "contains": "myVNet" }, { "field": "tags['environment']", "equals": "production" } ] }
Poznámka:
Podmíněné podmínky by měly filtrovat podle typu prostředku Microsoft.Network/virtualNetwork, aby se zlepšila efektivita. Tato podmínka je pro vás předem připravena pro všechny podmíněné podmínky zadané prostřednictvím portálu.
Další kroky
- Seznamte se se skupinami sítě.
- Vytvořte instanci Azure Virtual Network Manageru .
- Vytváření a správa zásad pro vynucování dodržování předpisů