Compartilhar via


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

Os administradores de segurança precisam gerenciar firewalls e garantir a conformidade entre implantações locais e na nuvem. Um componente fundamental é a capacidade de fornecer às equipes de aplicativos flexibilidade para implementar pipelines de CI/CD para criar regras de firewall de maneira automatizada.

A política de Firewall do Azure permite que você defina uma hierarquia de regra e imponha a conformidade:

  • Fornece uma estrutura hierárquica para sobrepor uma política base central sobre uma política de equipe de aplicativo filho. A política de base tem uma prioridade mais alta e é executada antes da política filho.
  • Use uma definição de função personalizada do Azure para evitar a remoção inadvertida da política base e fornecer acesso seletivo a grupos de coleção de regras em uma assinatura ou um grupo de recursos.

Visão geral da solução

As etapas de alto nível para este exemplo são:

  1. Criar uma política de firewall base no grupo de recursos da equipe de segurança.
  2. Definir regras específicas de segurança de TI na política de base. Isso adiciona um conjunto comum de regras para permitir/negar tráfego.
  3. Crie políticas de equipe de aplicativo que herdam a política de base.
  4. Defina regras específicas da equipe de aplicativo na política. Você também pode migrar regras de firewalls preexistentes.
  5. Crie funções personalizadas do Microsoft Entra para fornecer acesso granular ao grupo de coleta de regras e adicione funções em um escopo de Política de firewall. No exemplo a seguir, os membros da equipe de vendas podem editar grupos de coleção de regras para a política de firewall das equipes de vendas. O mesmo se aplica ao banco de dados e às equipes de 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 aplicativo tenha o próprio firewall.

Teams and requirements

Criar as políticas de firewall

  • Uma política de firewall base.

Crie políticas para cada uma das equipes de aplicativos:

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

Policy hierarchy

Criar funções personalizadas para acessar os grupos de coleções de regras

As funções personalizadas são definidas para cada equipe de aplicativo. A função define as operações e o escopo. As equipes de aplicativos têm permissão para editar grupos de coleções de regras para os respectivos aplicativos.

Use o seguinte procedimento de alto nível para definir um arquivo de log personalizado:

  1. Obter 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 exportar a função Leitor no formato JSON.

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

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

    Esta é a saída JSON. Para obter informações sobre as diversas propriedades, confira 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 a

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

    operação à propriedade Actions. Inclua uma vírgula após a operação de leitura. Essa ação permite que o usuário crie e atualize grupos de coleções de regras.

  2. Em AssignableScopes, adicione sua ID de assinatura com o seguinte formato. 

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

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

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

  4. Altere as propriedades Name e Description para Autor do Grupo de Coleções de Regras do AZFM e Usuários nessa função poderão editar grupos de coleções de regras da Política de Firewall

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 a função personalizada, use o comando New-AzRoleDefinition e especifique o arquivo de definição da 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. Acesse sua assinatura, selecione Controle de acesso (IAM) , Funções.

SalesAppPolicy

SalesAppPolicy read permission

Para obter mais informações, confira Tutorial: criar uma função personalizada do Azure usando o Azure PowerShell.

Adicionar usuários à função personalizada

No portal, você pode adicionar usuários à função Autores do Grupo de Coleções de Regra do AZFM e dar acesso às políticas de firewall.

  1. No portal, selecione a política de firewall da equipe de aplicativos (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) à função.

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

Resumo

A política de firewall com funções personalizadas agora dá acesso seletivo a grupos de coleção de regras de política de firewall.

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

  • Excluir a política de firewall ou o Firewall do Azure.
  • Atualize a hierarquia de política de firewall ou as configurações de DNS ou a inteligência contra ameaças.
  • Atualize a política de firewall em que eles não são membros do grupo de Autor do Grupo de Coleções de Regras do AZFM.

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

Próximas etapas