Use a política do Firewall do Azure para definir uma hierarquia de regras

Administradores de segurança precisam gerenciar firewalls e garantir conformidade em implantações locais e na nuvem. Um componente chave é a capacidade de oferecer às equipes de aplicação flexibilidade para implementar pipelines CI/CD para criar regras de firewall de forma automatizada.

A política do Firewall do Azure permite que você defina uma hierarquia de regras e impeça a conformidade:

  • Fornece uma estrutura hierárquica para sobrepor uma política base central sobre uma política de equipe de aplicativo filho. Coleções de regras herdadas da política base têm prioridade sobre coleções de regras definidas na política filha do mesmo tipo de regra. O Firewall do Azure ainda processa coleções de regras de rede antes das coleções de regras de aplicação, independentemente da herança. Para mais informações, veja o processamento de regras do Gerenciador de Firewall do Azure.
  • Use uma definição personalizada de função do Azure para evitar a remoção inadvertida da política base e fornecer acesso seletivo a grupos de coleta de regras dentro de uma assinatura ou grupo de recursos.

Visão geral da solução

Os passos de alto nível para este exemplo são:

  1. Crie uma política de firewall base no grupo de recursos da equipe de segurança.
  2. Defina regras específicas de segurança de TI na política base. Isso adiciona um conjunto comum de regras para permitir/negar tráfego.
  3. Crie políticas de equipe de aplicação que herdem a política base.
  4. Defina regras específicas da equipe de aplicação na política. Você também pode migrar regras de firewalls pré-existentes.
  5. Crie funções personalizadas do Microsoft Entra para fornecer acesso granular ao grupo de coleção de regras e adicionar funções no escopo de uma Política de Firewall. No exemplo a seguir, membros da equipe de Vendas podem editar grupos de coleta de regras para a Política de Firewall da equipe de Vendas. O mesmo se aplica às equipes de Banco de Dados e Engenharia.
  6. Associe a política ao firewall correspondente. Um firewall do Azure pode ter apenas uma política atribuída. Isso exige que cada equipe de aplicação tenha seu próprio firewall.

Equipes e requisitos

Criar as políticas de firewall

  • Uma política de firewall base.

Crie políticas para cada uma das equipes de aplicação:

  • Uma política de firewall de vendas. A política de firewall Sales herda a política de firewall base.
  • Uma política de firewall de banco de dados. A política de firewall de banco de dados herda a política base do firewall.
  • Uma política de firewall de engenharia. A política de firewall de engenharia também herda a política de firewall de base.

Hierarquia de políticas

Crie funções personalizadas para acesso a grupos de coleção de regras

Funções personalizadas são definidas para cada equipe de aplicação. O papel define operações e escopo. As equipes de aplicação podem editar grupos de coleta de regras para suas respectivas aplicações.

Use o procedimento geral a seguir para definir funções personalizadas:

  1. Adquira a assinatura.

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

  2. Execute o comando a seguir.

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

  3. Use o comando Get-AzRoleDefinition para exibir a função Reader em formato JSON.

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

  4. Abra o arquivo ReaderSupportRole.json em um editor.

    Aqui está a saída em JSON. Para obter informações sobre as diferentes propriedades, consulte as funções personalizadas do Azure.

   {
     "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. Edite o arquivo JSON para adicionar o

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

    operação à propriedade Actions. Certifique-se de incluir uma vírgula após a operação de leitura. Essa ação permite que o usuário crie e atualize grupos de coleta de regras.

  2. No AssignableScopes, adicione seu ID de assinatura no seguinte formato. 

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

    Você deve adicionar IDs de assinatura explícitas. Caso contrário, você não tem permissão para importar a função para sua assinatura.

  3. Exclua a linha de propriedade Id e mude a propriedade IsCustom para true.

  4. Altere as propriedades Nome e Descrição para AZFM Rule Collection Group Author e Os usuários nessa função podem editar grupos de coleta de regras da Firewall Policy

Seu arquivo JSON deve ser semelhante ao seguinte exemplo:

{

    "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. Para criar o novo papel personalizado, use o comando New-AzRoleDefinition e especifique o arquivo de definição de função JSON.

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

Listar funções personalizadas

Para listar todas as funções personalizadas, você pode usar o comando Get-AzRoleDefinition:

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

Você também pode ver as funções personalizadas no portal do Azure. Vá até sua assinatura, selecione Controle de Acesso (IAM),Funções.

SalesAppPolicy

Permissão de leitura de SalesAppPolicy

Para mais informações, veja Tutorial: Criar uma função personalizada no Azure usando Azure PowerShell.

Adicionar usuários à função personalizada

No portal, você pode adicionar usuários ao papel de Autores do Grupo de Coleta de Regras do AZFM e fornecer acesso às políticas do firewall.

  1. No portal, selecione a política de firewall da equipe de aplicações (por exemplo, SalesAppPolicy).
  2. Selecione Controle de Acesso.
  3. Selecione Adicionar atribuição de função.
  4. Adicione usuários/grupos de usuários (por exemplo, a equipe de Vendas) à vaga.

Repita esse procedimento para as outras políticas de firewall.

Resumo

A Política de Firewall com funções personalizadas agora fornece acesso seletivo a grupos de coleta de regras de políticas de firewall.

Usuários não têm permissões para:

  • Exclua o Firewall do Azure ou a política de firewall.
  • Atualize a hierarquia de políticas do firewall, configurações de DNS ou inteligência de ameaças.
  • Atualize a política de firewall onde eles não são membros do grupo de autores do Grupo de Coleta de Regras do AZFM.

Administradores de segurança podem usar a política base para impor proteções e bloquear certos tipos de tráfego (por exemplo, ICMP) conforme exigido por sua empresa.

Próximas Etapas