Sdílet prostřednictvím


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

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ě.

  1. 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ě.

  2. Zadejte název a volitelný popis skupiny sítě a vyberte Přidat.

  3. V seznamu vyberte skupinu sítě a vyberte Vytvořit azure Policy.

  4. Zadejte název zásady a ponechte vybrané obory, pokud nejsou potřeba změny.

  5. 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.

  6. 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.

    Snímek obrazovky se značkou nastavení okna Vytvořit azure Policy s párem klíč-hodnota

  7. Vyberte Zavřít a uložit.

  8. 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

  1. 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ě.

  2. Zadejte název a volitelný popis skupiny sítě a vyberte Přidat.

  3. V seznamu vyberte skupinu sítě a vyberte Vytvořit azure Policy.

  4. Zadejte název zásady a ponechte vybrané obory, pokud nejsou potřeba změny.

  5. V části Kritéria otevřete editor výběrem rozšířeného editoru (JSON).

  6. Do textového pole zadejte následující kód JSON a vyberte Uložit:

       {
       "field": "Name",
       "contains": "myVNet01"
       }
    
  7. 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

  1. Vyberte skupinu sítí vytvořenou v předchozí části. Pak vyberte kartu Zásady .

  2. Vyberte zásadu vytvořenou v předchozí části.

  3. 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"
      }
    ]
    
  4. 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 .

  5. Zvolte Uložit.

  6. Po několika minutách vyberte skupinu sítě a v části Nastavení vyberte Členy skupiny. Měli byste vidět jenom myVNet01-EastUS.

Úplný seznam parametrů a operátorů, které můžete použít s rozšířeným editorem, najdete v části Parametry a operátory .

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:

    Snímek obrazovky s podmíněným příkazem skupiny sítě pomocí logického operátoru OR

  • 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:

    Snímek obrazovky s podmíněným příkazem skupiny sítě pomocí logického operátoru OR a AND

  • 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