Partilhar via


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

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

A política de Firewall do Azure permite definir uma hierarquia de regras e impor a conformidade:

  • Fornece uma estrutura hierárquica para sobrepor uma política de 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 de criança.
  • Use uma definição de função personalizada do Azure para impedir a remoção inadvertida da política básica e fornecer acesso seletivo a grupos de coleta de regras dentro de uma assinatura ou grupo de recursos.

Descrição geral da solução

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

  1. Crie uma política de firewall básica 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 aplicativo que herdam a política base.
  4. Defina regras específicas da equipe de aplicativos na política. Você também pode migrar regras de firewalls pré-existentes.
  5. Crie funções personalizadas do Microsoft Entra para fornecer acesso refinado ao grupo de coleta de regras e adicione funções em um escopo de Diretiva de Firewall. No exemplo a seguir, os membros da equipe de vendas podem editar grupos de coleta de regras para a Política de firewall das equipes de vendas. O mesmo se aplica às equipas de Base 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 requer que cada equipe de aplicativos tenha seu próprio firewall.

Teams and requirements

Criar as políticas de firewall

  • Uma política de firewall básica.

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

  • 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 diretiva de firewall de banco de dados herda a diretiva de firewall de base.
  • Uma política de firewall de engenharia. A política de firewall de engenharia também herda a política de firewall base.

Policy hierarchy

Criar funções personalizadas para acessar os grupos de coleta 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 coleta de regras para seus respetivos aplicativos.

Use o seguinte procedimento de alto nível para definir funções personalizadas:

  1. Obtenha a subscrição.

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

  2. Execute o seguinte comando.

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

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

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

  4. Abra o ficheiro ReaderSupportRole.json num editor.

    Aqui está a saída JSON. Para obter informações sobre as diferentes propriedades, consulte 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

    para a propriedade Actions . Não se esqueça 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. 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 da propriedade Id e altere a propriedade IsCustom para true.

  4. Alterar as propriedades Name e Description para AZFM Rule Collection Group O autor e os usuários nesta função podem editar grupos de coleta de regras de Diretiva de Firewall

Seu arquivo JSON deve ser semelhante ao exemplo a seguir:

{

    "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 nova função personalizada, 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á para sua assinatura, selecione Controle de acesso (IAM), Funções.

SalesAppPolicy

SalesAppPolicy read permission

Para obter mais informações, consulte 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 Coleta de Regras do AZFM e fornecer 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 este procedimento para as outras políticas de firewall.

Resumo

A Diretiva de Firewall com funções personalizadas agora fornece acesso seletivo a grupos de coleta de regras de diretiva de firewall.

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

  • Exclua o Firewall do Azure ou a política de firewall.
  • Atualize a hierarquia da política de firewall ou as configurações de DNS ou informações sobre ameaças.
  • Atualize a política de firewall onde eles não são membros do grupo Autor do Grupo de Coleta de Regras do AZFM.

Os administradores de segurança podem usar a política básica para impor guarda-corpos e bloquear certos tipos de tráfego (por exemplo, ICMP), conforme exigido por sua empresa.

Próximos passos