Använda Azure Firewall-princip för att definiera en regelhierarki

Säkerhetsadministratörer måste hantera brandväggar och säkerställa efterlevnad i lokala distributioner och molndistributioner. En viktig komponent är möjligheten att ge programteam flexibilitet att implementera CI/CD-pipelines för att skapa brandväggsregler på ett automatiserat sätt.

Med Azure Firewall-principen kan du definiera en regelhierarki och framtvinga efterlevnad:

  • Tillhandahåller en hierarkisk struktur för att lägga över en central basprincip ovanpå en underordnad programgruppsprincip. Basprincipen har högre prioritet och körs före den underordnade principen.
  • Använd en anpassad Rolldefinition i Azure för att förhindra oavsiktlig borttagning av basprinciper och ge selektiv åtkomst till regelsamlingsgrupper i en prenumeration eller resursgrupp.

Översikt över lösningen

De övergripande stegen för det här exemplet är:

  1. Skapa en grundläggande brandväggsprincip i resursgruppen för säkerhetsteamet.
  2. Definiera IT-säkerhetsspecifika regler i basprincipen. Detta lägger till en gemensam uppsättning regler för att tillåta/neka trafik.
  3. Skapa principer för programteam som ärver basprincipen.
  4. Definiera programteamspecifika regler i principen. Du kan också migrera regler från befintliga brandväggar.
  5. Skapa anpassade Microsoft Entra-roller för att ge detaljerad åtkomst till regelsamlingsgruppen och lägga till roller i omfånget Brandväggsprincip. I följande exempel kan säljteamets medlemmar redigera regelsamlingsgrupper för brandväggsprincipen för säljteam. Samma sak gäller för databas- och teknikteamen.
  6. Associera principen med motsvarande brandvägg. En Azure-brandvägg kan bara ha en tilldelad princip. Detta kräver att varje programteam har en egen brandvägg.

Teams and requirements

Skapa brandväggsprinciperna

  • En grundläggande brandväggsprincip.

Skapa principer för vart och ett av programteamen:

  • En brandväggsprincip för försäljning. Brandväggsprincipen Sales ärver den grundläggande brandväggsprincipen.
  • En databasbrandväggsprincip. Databasens brandväggsprincip ärver grundläggande brandväggsprincip.
  • En princip för teknisk brandvägg. Den tekniska brandväggsprincipen ärver också den grundläggande brandväggsprincipen.

Policy hierarchy

Skapa anpassade roller för att komma åt regelsamlingsgrupperna

Anpassade roller definieras för varje programteam. Rollen definierar åtgärder och omfång. Programteamen kan redigera regelsamlingsgrupper för sina respektive program.

Använd följande metod på hög nivå för att definiera anpassade roller:

  1. Hämta prenumerationen.

    Select-AzSubscription -SubscriptionId xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx

  2. Kör följande kommando.

    Get-AzProviderOperation "Microsoft.Support/*" | FT Operation, Description -AutoSize

  3. Använd kommandot Get-AzRoleDefinition för att mata ut rollen Reader (Läsare) i JSON-format.

    Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json

  4. Öppna filen ReaderSupportRole.json i en textredigerare.

    Här är JSON-utdata. Information om de olika egenskaperna finns i Anpassade Azure-roller.

   {
     "Name": "Reader",
     "Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
     "IsCustom": false,
     "Description": "Lets you view everything, but not make any changes.",
     "Actions": [
      "*/read"
     ],
     "NotActions": [],
     "DataActions": [],
     "NotDataActions": [],
     "AssignableScopes": [
       "/"
     ]
   }
  1. Redigera JSON-filen för att lägga till

    */read", "Microsoft.Network/*/read", "Microsoft.Network/firewallPolicies/ruleCollectionGroups/write

    åtgärd till egenskapen Åtgärder . Se till att inkludera ett kommatecken efter läsåtgärden. Med den här åtgärden kan användaren skapa och uppdatera regelsamlingsgrupper.

  2. I AssignableScopes lägger du till ditt prenumerations-ID med följande format. 

    /subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx

    Du måste lägga till explicita prenumerations-ID:t. Annars får du inte importera rollen till din prenumeration.

  3. Ta bort ID-egenskapsraden och ändra egenskapen IsCustom till true.

  4. Ändra egenskaperna Namn och Beskrivning till AZFM-regelsamlingens gruppförfattare och användare i den här rollen kan redigera samlingsgrupper för brandväggsprinciper

JSON-filen bör se ut ungefär som i följande exempel:

{

    "Name":  "AZFM Rule Collection Group Author",
    "IsCustom":  true,
    "Description":  "Users in this role can edit Firewall Policy rule collection groups",
    "Actions":  [
                    "*/read",
                    "Microsoft.Network/*/read",
                     "Microsoft.Network/firewallPolicies/ruleCollectionGroups/write"
                ],
    "NotActions":  [
                   ],
    "DataActions":  [
                    ],
    "NotDataActions":  [
                       ],
    "AssignableScopes":  [
                             "/subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx"]
}
  1. För att skapa en ny anpassad roll använder du kommandot New-AzRoleDefinition och anger JSON-rolldefinitionsfilen.

    New-AzRoleDefinition -InputFile "C:\CustomRoles\RuleCollectionGroupRole.json

Lista anpassade roller

Om du vill visa en lista över alla anpassade roller kan du använda kommandot Get-AzRoleDefinition:

Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom

Du kan också se de anpassade rollerna i Azure-portalen. Gå till din prenumeration, välj Åtkomstkontroll (IAM), Roller.

SalesAppPolicy

SalesAppPolicy read permission

Mer information finns i Självstudie: Skapa en anpassad Azure-roll med Hjälp av Azure PowerShell.

Lägga till användare i den anpassade rollen

På portalen kan du lägga till användare i rollen AZFM-regelsamlingsgruppförfattare och ge åtkomst till brandväggsprinciperna.

  1. I portalen väljer du brandväggsprincipen för programteamet (till exempel SalesAppPolicy).
  2. Välj Åtkomstkontroll.
  3. Välj Lägg till rolltilldelning.
  4. Lägg till användare/användargrupper (till exempel säljteamet) i rollen.

Upprepa den här proceduren för de andra brandväggsprinciperna.

Sammanfattning

Brandväggsprincip med anpassade roller ger nu selektiv åtkomst till insamlingsgrupper för brandväggsprinciper.

Användarna har inte behörighet att:

  • Ta bort Azure Firewall- eller brandväggsprincipen.
  • Uppdatera brandväggsprinciphierarkin, DNS-inställningar eller hotinformation.
  • Uppdatera brandväggsprincipen där de inte är medlemmar i gruppen AZFM-regelsamlingsgruppsförfattare.

Säkerhetsadministratörer kan använda basprincipen för att framtvinga skyddsräcken och blockera vissa typer av trafik (till exempel ICMP) enligt företagets krav.

Nästa steg