Konfigurera nätverksgrupper med Azure Policy i Azure Virtual Network Manager

I den här artikeln får du lära dig hur Azure Policy används i Azure Virtual Network Manager för att definiera medlemskap i dynamiska nätverksgrupper. Med dynamiska nätverksgrupper kan du skapa skalbara och dynamiskt anpassade virtuella nätverksmiljöer i din organisation.

Viktigt!

Azure Virtual Network Manager är allmänt tillgängligt för Virtual Network Manager, konfigurationer för hub-and-spoke-anslutningar och säkerhetskonfigurationer med säkerhetsadministratörsregler. Mesh-anslutningskonfigurationer finns kvar i den offentliga förhandsversionen.

Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.

Översikt över Azure Policy

Azure Policy utvärderar resurser i Azure genom att jämföra egenskaperna för dessa resurser med affärsregler. Dessa affärsregler, som beskrivs i JSON-format, kallas principdefinitioner. När dina affärsregler har skapats tilldelas principdefinitionen till alla resurser som Azure stöder, till exempel hanteringsgrupper, prenumerationer, resursgrupper eller enskilda resurser. Tilldelningen gäller för alla resurser inom Resource Manager-omfånget för den tilldelningen. Läs mer om omfångsanvändning med omfång i Azure Policy.

Kommentar

Azure Policy används endast för definitionen av dynamiskt nätverksgruppmedlemskap.

Definition av nätverksgruppprincip

När du skapar och implementerar en princip i Azure Policy börjar du med att skapa en principdefinitionsresurs. Varje principdefinition har villkor för verkställighet och en definierad effekt som äger rum om villkoren uppfylls.

Med nätverksgrupper innehåller din principdefinition ditt villkorsuttryck för matchning av virtuella nätverk som uppfyller dina kriterier och anger målnätverksgruppen där matchande resurser placeras. Effekten addToNetworkGroup används för att placera resurser i målnätverksgruppen. Här är ett exempel på en principregeldefinition med effekten addToNetworkGroup . För alla anpassade principer mode är egenskapen inställd Microsoft.Network.Data på att rikta in sig på nätverksgruppens resursprovider och krävs för att skapa en principdefinition för Azure Virtual Network Manager.

"mode": "Microsoft.Network.Data",
"policyRule": {
      "if": {
        "allOf": [
          {
            "field": "Name",
            "contains": "-gen"
          }
        ]
      },
      "then": {
        "effect": "addToNetworkGroup",
        "details": {
          "networkGroupId": "/subscriptions/12345678-abcd-123a-1234-1234abcd7890/resourceGroups/myResourceGroup2/providers/Microsoft.Network/networkManagers/myAVNM/networkGroups/myNG"
        }
      }
}

Viktigt!

När du definierar en princip networkGroupId måste vara det fullständiga resurs-ID:t för målnätverksgruppen enligt exempeldefinitionen. Den stöder inte parameterisering i principdefinitionen. Om du behöver parameterisera nätverksgruppen kan du använda en Azure Resource Manager-mall för att skapa principdefinitionen och tilldelningen.

När Azure Policy används med Azure Virtual Network Manager är principen inriktad på en resursprovideregenskap för Microsoft.Network.Data. Därför måste du ange en policyTypCustom för i principdefinitionen. När du skapar en princip för att dynamiskt lägga till medlemmar i Virtual Network Manager tillämpas detta automatiskt när principen skapas. Du behöver bara välja custom när du skapar en ny principdefinition via Azure Policy eller andra verktyg utanför instrumentpanelen för Virtual Network Manager.

Här är ett exempel på en principdefinition med egenskapen inställd på policyTypeCustom.


"properties": {
      "displayName": "myProdAVNM",
      "policyType": "Custom",
      "mode": "Microsoft.Network.Data",
      "metadata": {
        "category": "Azure Virtual Network Manager",
        "createdBy": "-----------------------------",
        "createdOn": "2023-04-10T15:35:35.9308987Z",
        "updatedBy": null,
        "updatedOn": null
      }
}

Läs mer om policydefinitionsstruktur.

Skapa en principtilldelning

På samma sätt som med Virtual Network Manager-konfigurationer börjar principdefinitioner inte omedelbart gälla när du skapar dem. För att börja tillämpa måste du skapa en principtilldelning som tilldelar en definition som ska utvärderas i ett visst omfång. För närvarande utvärderas alla resurser inom omfånget mot definitionen, vilket tillåter en enda återanvändbar definition som du kan tilldela på flera platser för mer detaljerad gruppmedlemskapskontroll. Läs mer om tilldelningsstrukturen för Azure Policy.

Principdefinitioner och tilldelningar kan skapas via med API/PS/CLI eller Azure Policy Portal.

Behörigheter som krävs

Om du vill använda nätverksgrupper med Azure Policy behöver användarna följande behörigheter:

  • Microsoft.Authorization/policyassignments/Write och Microsoft.Authorization/policydefinitions/Write behövs i det omfång som du tilldelar.
  • Microsoft.Network/networkManagers/networkGroups/join/action krävs för den målnätverksgrupp som refereras i avsnittet Lägg till i nätverksgrupp . Med den här behörigheten kan du lägga till och ta bort objekt från målnätverksgruppen.
  • När du använder uppsättningsdefinitioner för att tilldela flera principer samtidigt krävs samtidiga Microsoft.Network/networkManagers/networkGroups/join/action behörigheter för alla definitioner som tilldelas vid tidpunkten för tilldelningen.

För att ange nödvändiga behörigheter kan användare tilldelas inbyggda roller med rollbaserad åtkomstkontroll:

  • Rollen Nätverksdeltagare till målnätverksgruppen.
  • Resursprincipdeltagareroll på målomfångsnivå.

Om du vill ha mer detaljerad rolltilldelning kan du skapa anpassade roller med hjälp av behörigheten och policy/write behörighetenMicrosoft.Network/networkManagers/networkGroups/join/action.

Viktigt!

Om du vill ändra dynamiska AVNM-grupper måste du endast beviljas åtkomst via Azure RBAC-rolltilldelning. Klassisk administratör/äldre auktorisering stöds inte. Det innebär att om ditt konto bara tilldelades rollen medadministratörsprenumeration skulle du inte ha några behörigheter för dynamiska AVNM-grupper.

Tillsammans med de behörigheter som krävs måste dina prenumerationer och hanteringsgrupper registreras med följande resursprovidrar:

  • Microsoft.Network krävs för att skapa virtuella nätverk.
  • Microsoft.PolicyInsights krävs för att använda Azure Policy.

Om du vill registrera de leverantörer som behövs använder du Register-AzResourceProvider i Azure PowerShell eller az provider register i Azure CLI.

Användbara tips

Typfiltrering

När du konfigurerar dina principdefinitioner rekommenderar vi att du inkluderar ett typvillkor för att begränsa det till virtuella nätverk. Med det här villkoret kan en princip filtrera bort icke-virtuella nätverksåtgärder och förbättra effektiviteten för dina principresurser.

Regional segmentering

Principresurser är globala, vilket innebär att alla ändringar börjar gälla för alla resurser under tilldelningsomfånget, oavsett region. Om regional segmentering och gradvis distribution är ett problem för dig rekommenderar vi att du inkluderar ett where location in [] villkor. Sedan kan du stegvis expandera platslistan för att gradvis distribuera effekten.

Tilldelningsomfång

Om du följer metodtipsen för hanteringsgrupper med hjälp av Azure-hanteringsgrupper är det troligt att du redan har dina resurser ordnade i en hierarkistruktur. Med hjälp av tilldelningar kan du tilldela samma definition till flera distinkta omfång i hierarkin, så att du kan ha högre kornighetskontroll över vilka resurser som är berättigade till din nätverksgrupp.

Ta bort en Azure Policy-definition som är associerad med en nätverksgrupp

Du kan vara instanser där du inte längre behöver en Azure Policy-definition. Instanser inkluderar när en nätverksgrupp som är associerad med en princip tas bort eller om du har en princip som du inte längre behöver. Om du vill ta bort principen måste du ta bort principassociationsobjektet och sedan ta bort principdefinitionen i Azure Policy. När borttagningen är klar kan definitionsnamnet inte återanvändas eller refereras igen när en ny definition associeras med en nätverksgrupp.

Nästa steg