Delen via


Dynamisch lidmaatschap van netwerkgroepen definiëren in Azure Virtual Network Manager met Azure Policy

In dit artikel leert u hoe u voorwaardelijke instructies van Azure Policy gebruikt om netwerkgroepen te maken met dynamisch lidmaatschap. U maakt deze voorwaardelijke instructies met behulp van de basiseditor door parameters en operators te selecteren in een vervolgkeuzelijst. U leert ook hoe u de geavanceerde editor gebruikt om voorwaardelijke instructies van een bestaande netwerkgroep bij te werken.

Azure Policy is een service waarmee u governance per resource op schaal kunt afdwingen. Het kan worden gebruikt om voorwaardelijke expressies op te geven die groepslidmaatschap definiëren, in plaats van expliciete lijsten met virtuele netwerken. Deze voorwaarde blijft uw netwerkgroepen dynamisch inschakelen, zodat virtuele netwerken automatisch kunnen worden toegevoegd en de groep kunnen verlaten wanneer de voorwaarde wordt uitgevoerd, zonder dat netwerkbeheerbewerking is vereist.

Vereisten

Parameters en operators

Virtuele netwerken met dynamische lidmaatschappen worden geselecteerd met behulp van voorwaardelijke instructies. U kunt meer dan één voorwaardelijke instructie definiëren met behulp van logische operators, zoals AND en OF, voor scenario's waarin u de geselecteerde virtuele netwerken verder moet beperken.

Lijst met ondersteunde parameters:

Parameters Veld Geavanceerde editor
Naam Name
Id Id
Tags tag['tagName']
Abonnementsnaam [subscription().Name]
Abonnements-id [subscription().Id]
Abonnementstags [subscription().tags['tagName']]
Naam resourcegroep [resourceGroup().Name]
Resourcegroep-id [resourceGroup().Id]
Resourcegroeptags [resourceGroup().tags['tagName']]

Lijst met ondersteunde operators:

Operators Geavanceerde editor
Bevat "contains": <>
Bevat geen "notcontains": <>
In "in": <>
Niet in "notin": <>
Is gelijk aan "equals": <>
Is niet gelijk aan "notequals": <>
Bevat een van "contains": <>
Bevat alle "contains": <>
Bevat geen van "notcontains": <>
Exists "exists": true
Bestaat niet "exists": false

Notitie

De operators Bestaat en Bestaat niet, worden alleen gebruikt met de parameter Tags .

Basiseditor

Stel dat u de volgende virtuele netwerken in uw abonnement hebt. Elk virtueel netwerk heeft een gekoppelde tag met de naam omgeving met de respectieve waarde van productie of test.

Virtueel netwerk Tagnaam Tagwaarde
myVNet01-EastUS omgeving productie
myVNet01-WestUS omgeving productie
myVNet02-WestUS omgeving test
myVNet03-WestUS omgeving test

U wilt alleen virtuele netwerken selecteren waarvan de tag een sleutel-waardepaar van de omgeving heeft dat gelijk is aan productie. Als u de basiseditor wilt gebruiken om uw voorwaardelijke instructie te maken, moet u een nieuwe netwerkgroep maken.

  1. Ga naar uw exemplaar van Azure Virtual Network Manager en selecteer Netwerkgroepen onder Instellingen. Selecteer vervolgens + Maken om een nieuwe netwerkgroep te maken.

  2. Voer een naam en een optionele beschrijving voor de netwerkgroep in en selecteer Toevoegen.

  3. Selecteer de netwerkgroep in de lijst en selecteer Azure Policy maken.

  4. Voer een beleidsnaam in en laat de bereikselecties staan, tenzij er wijzigingen nodig zijn.

  5. Selecteer onder Criteria tags in de vervolgkeuzelijst onder Parameter en selecteer vervolgens sleutelwaardepaar in de vervolgkeuzelijst onder Operator.

  6. Voer de omgeving en productie onder Voorwaarde in en selecteer Preview-resources. Als het goed is, worden myVNet01-EastUS en myVNet01-WestUS weergegeven in de lijst.

    Schermopname van het venster Azure Policy-instellingstag maken met sleutelwaardepaar.

  7. Selecteer Sluiten en Opslaan.

  8. Na een paar minuten selecteert u uw netwerkgroep en selecteert u Groepsleden onder Instellingen. U ziet alleen myVNet01-WestUS en myVNet01-WestUS.

Belangrijk

De basiseditor is alleen beschikbaar tijdens het maken van een Azure Policy. Zodra een beleid is gemaakt, worden alle bewerkingen uitgevoerd met behulp van JSON in de sectie Beleid van virtueel netwerkbeheer of via Azure Policy.

Geavanceerde editor

De geavanceerde editor kan worden gebruikt om virtuele netwerken te selecteren tijdens het maken van een netwerkgroep of bij het bijwerken van een bestaande netwerkgroep. Op basis van JSON is de geavanceerde editor handig voor het maken en bijwerken van complexe voorwaardelijke Azure Policy-instructies door ervaren gebruikers.

Een nieuw beleid maken met geavanceerde editor

  1. Ga naar uw exemplaar van Azure Virtual Network Manager en selecteer Netwerkgroepen onder Instellingen. Selecteer vervolgens + Maken om een nieuwe netwerkgroep te maken.

  2. Voer een naam en een optionele beschrijving voor de netwerkgroep in en selecteer Toevoegen.

  3. Selecteer de netwerkgroep in de lijst en selecteer Azure Policy maken.

  4. Voer een beleidsnaam in en laat de bereikselecties staan, tenzij er wijzigingen nodig zijn.

  5. Selecteer onder Criteria de editor Advanced (JSON) om de editor te openen.

  6. Voer de volgende JSON-code in het tekstvak in en selecteer Opslaan:

       {
       "field": "Name",
       "contains": "myVNet01"
       }
    
  7. Na een paar minuten selecteert u uw netwerkgroep en selecteert u Groepsleden onder Instellingen. U ziet alleen myVNet01-WestUS en myVNet01-EastUS.

Belangrijk

Alle Azure-beleidsregels die u met virtual network manager maakt, bevinden zich in het gebied azure Policy-services. Ze worden niet verwijderd uit uw Azure Policy-toewijzingen en -definities wanneer een exemplaar van een virtueel netwerkbeheer wordt verwijderd. Hiervoor moet het beleid handmatig worden verwijderd. Meer informatie over het verwijderen van Azure-beleid

Een bestaand beleid bewerken

  1. Selecteer de netwerkgroep die u in de vorige sectie hebt gemaakt. Selecteer vervolgens het tabblad Beleid .

  2. Selecteer het beleid dat u in de vorige sectie hebt gemaakt.

  3. U ziet de voorwaardelijke instructies voor de netwerkgroep in de geavanceerde editorweergave als volgt:

    [
      {
         "field": "Name",
         "contains": "myVNet01"
      }
    ]
    
  4. Als u een andere voorwaardelijke instructie wilt toevoegen voor een naamveld dat geen WestUS bevat, voert u het volgende in de geavanceerde editor in:

    {
       "allOf": [
    
          {
             "field": "Name",
             "contains": "VNet01"
          },
          {
             "field": "Name",
             "notcontains": "WestUS"
          }
       ]
    }
    

    De "allOf" parameter bevat zowel de voorwaardelijke instructies die worden gescheiden door de logische operator AND .

  5. Selecteer Opslaan.

  6. Na een paar minuten selecteert u uw netwerkgroep en selecteert u Groepsleden onder Instellingen. U ziet alleen myVNet01-EastUS.

Zie Parameter en operators voor de volledige lijst met parameters en operators die u kunt gebruiken met de geavanceerde editor.

Meer voorbeelden

Hier volgen meer voorbeelden van voorwaardelijke instructies in de geavanceerde editor.

Voorbeeld 1: ALLEEN OPERATOR OR

In dit voorbeeld wordt de logische OPERATOR OR gebruikt om twee voorwaardelijke instructies te scheiden.

  • Basiseditor:

    Schermopname van voorwaardelijke instructie van netwerkgroep met behulp van de logische operator OR.

  • Geavanceerde operator:

    {
       "anyOf": [
          {
             "field": "Name",
             "contains": "myVNet01"
          },
          {
             "field": "Name",
             "contains": "myVNet02"
          }
       ]
    }
    

De "anyOf" parameter bevat zowel de voorwaardelijke instructies die worden gescheiden door de logische operator OR .

Voorbeeld 2: AND en OR-operator tegelijkertijd

  • Basiseditor:

    Schermopname van de voorwaardelijke instructie van de netwerkgroep met behulp van de logische operator OR en AND.

  • Geavanceerde editor:

{
   "allOf": [
      {
         "anyOf": [
            {
               "field": "Name",
               "contains": "myVNet01"
            },
            {
               "field": "Name",
               "contains": "myVNet02"
            }
         ]
      },
      {
         "field": "Name",
         "notcontains": "West"
      }
   ]
}

Beide "allOf" en "anyOf" worden gebruikt in de code. Omdat de AND-operator voor het laatst in de lijst staat, bevindt deze zich in het buitenste deel van de code met de OPERATOR OR .

Voorbeeld 3: Aangepaste tagwaarden gebruiken met geavanceerde editor

In dit voorbeeld wordt een voorwaardelijke instructie gemaakt waarmee virtuele netwerken worden gevonden waarin de naam myVNet bevat EN de omgevingstag gelijk is aan productie.

  • Geavanceerde editor:

    
       {
            "allOf": [
              {
                 "field": "Name",
                 "contains": "myVNet"
              },      
              {
                 "field": "tags['environment']",
                 "equals": "production"
              }
            ]    
       }
    
    

    Notitie

    Voorwaardelijke voorwaarden moeten worden gefilterd op het resourcetype Microsoft.Network/virtualNetwork om de efficiëntie te verbeteren. Deze voorwaarde wordt voorafgegaan door eventuele voorwaarden die zijn opgegeven via de portal.

Volgende stappen