Compartilhar via


Criando o gerenciamento de ACL (Lista de Controle de Acesso) para redes externas de domínio de isolamento NNI e camada 3

As Listas de Controle de Acesso (ACLs) são um conjunto de regras que regulam o fluxo de pacotes de entrada e saída dentro de uma rede. O serviço de Malha de Rede do Nexus do Azure oferece um mecanismo baseado em API para configurar ACLs para interconexões entre redes e redes externas de domínios de isolamento da camada 3. Este guia descreve as etapas para criar ACLs.

Criando ACLs (listas de controle de acesso)

Para criar uma ACL e definir suas propriedades, você pode utilizar o comando az networkfabric acl create. Abaixo estão as etapas envolvidas:

Pré-requisitos

  1. Definir assinatura (se necessário):

Se você tiver várias assinaturas e precisar definir uma como padrão, poderá fazer isso com:

az account set --subscription <subscription-id>
  1. Criar ACL:
    az networkfabric acl create --resource-group "<resource-group>" --location "<location>" --resource-name "<acl-name>" --annotation "<annotation>" --configuration-type "<configuration-type>" --default-action "<default-action>" --match-configurations "[{matchConfigurationName:<match-config-name>,sequenceNumber:<sequence-number>,ipAddressType:<IPv4/IPv6>,matchConditions:[{ipCondition:{type:<SourceIP/DestinationIP>,prefixType:<Prefix/Exact>,ipPrefixValues:['<ip-prefix1>', '<ip-prefix2>', ...]}}],actions:[{type:<Action>}]}]"
Parâmetro Descrição
Grupo de recursos Especifique o grupo de recursos da malha de rede.
Localidade Defina o local onde a ACL será criada.
Nome do recurso Forneça um nome para a ACL.
Annotation Opcionalmente, adicione uma descrição ou anotação para a ACL.
Tipo de Configuração Especifique se a configuração está embutida ou usando um arquivo.
Ação Padrão Defina a ação padrão a ser executada se nenhuma correspondência for encontrada.
Configurações de Correspondência Defina as condições e as ações para correspondência de tráfego.
Ações Especifique a ação a ser tomada com base nas condições de correspondência.

Diretrizes de uso de parâmetros

A tabela a seguir fornece diretrizes sobre o uso de parâmetros ao criar ACLs:

Parâmetro Descrição Exemplo ou intervalo
defaultAction Define a ação padrão a ser tomada "defaultAction": "Permit"
resource-group Grupo de recursos da malha de rede nfresourcegroup
resource-name Nome da ACL example-ingressACL
vlanGroups Lista de grupos de VLAN
vlans Lista de VLANs que precisam ser correspondidas
configurações de correspondência Nome da configuração de correspondência example_acl
matchConditions Condições necessárias para serem correspondidas
ttlValues TTL (vida útil) 0-255
dscpMarking Marcações DSCP que precisam ser correspondidas 0-63
fragmentos Especificar os pacotes de fragmento de IP Intervalo: 1-8191
Exemplo: [1, 5, 1250-1300, 8000-8191]
portCondition Condição de porta que precisa ser correspondida
portType Tipo de porta que precisa ser correspondido Exemplo: SourcePort
ports Número da porta que precisa ser correspondido Intervalo: 0-65535
Exemplo: [1, 10, 500, 1025-1050, 64000-65535]
protocolTypes Protocolos que precisam ser correspondidos [tcp, udp, range[1-2, 1, 2]]
vlanMatchCondition Condição de correspondência de VLAN que precisa ser correspondida
layer4Protocol Protocolo da Camada 4 Deve ser TCP ou UDP
ipCondition Condição de IP que precisa ser correspondida
ações Ação a ser tomada com base na condição de correspondência Exemplo: permissão
configuration-type Tipo de configuração (embutido ou arquivo) Exemplo: embutido

Observação

  • Portas embutidas e VLANs embutidas são definidas estaticamente usando a azcli.
  • PortGroupNames e VlanGroupNames são definidos dinamicamente.
  • A combinação de portas embutidas com portGroupNames não é permitida, da mesma forma para VLANs embutidos e VLANGroupNames.
  • IPGroupNames e IpPrefixValues não podem ser combinados.
  • As ACLs de saída não dão suporte a determinadas opções, como opções de IP, comprimento de IP, fragmento, tipo de éter, marcação DSCP e valores TTL.
  • As ACLs de entrada não dão suporte às seguintes opções: etherType.
  • As entradas de portas podem ser port-number ou range-of-ports.
  • As entradas de fragmentos podem ser port-number ou range-of-ports.
  • Não há suporte para ACL com configuração de correspondência dinâmica em redes eternas.

Conteúdo de exemplo para a criação de ACL

az networkfabric acl create --resource-group "example-rg" --location "eastus2euap" --resource-name "example-Ipv4ingressACL" --annotation "annotation" --configuration-type "Inline" --default-action "Deny" --match-configurations "[{matchConfigurationName:example-match,sequenceNumber:1110,ipAddressType:IPv4,matchConditions:[{ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}},{ipCondition:{type:DestinationIP,prefixType:Prefix,ipPrefixValues:['10.18.0.124/30','10.18.0.128/30','10.18.30.16/30','10.18.30.20/30']}}],actions:[{type:Count}]}]"

Saída de exemplo

{
  "administrativeState": "Disabled",
  "annotation": "annotation",
  "configurationState": "Succeeded",
  "configurationType": "Inline",
  "defaultAction": "Deny",
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/Fab3LabNF-4-0/providers/Microsoft.ManagedNetworkFabric/accessControlLists/L3domain091123-Ipv4egressACL",
  "location": "eastus2euap",
  "matchConfigurations": [
    {
      "actions": [
        {
          "type": "Count"
        }
      ],
      "ipAddressType": "IPv4",
      "matchConditions": [
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "SourceIP"
          }
        },
        {
          "ipCondition": {
            "ipPrefixValues": [
              "10.18.0.124/30",
              "10.18.0.128/30",
              "10.18.30.16/30",
              "10.18.30.20/30"
            ],
            "prefixType": "Prefix",
            "type": "DestinationIP"
          }
        }
      ],
      "matchConfigurationName": "example-Ipv4ingressACL ",
      "sequenceNumber": 1110
    }
  ],
  "name": "example-Ipv4ingressACL",
  "provisioningState": "Succeeded",
  "resourceGroup": "Fab3LabNF-4-0",
  "systemData": {
    "createdAt": "2023-09-11T10:20:20.2617941Z",
    "createdBy": "user@email.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-09-11T10:20:20.2617941Z",
    "lastModifiedBy": "user@email.com",
    "lastModifiedByType": "User"
  },
  "type": "microsoft.managednetworkfabric/accesscontrollists"
}

Observação

Depois de criar a ACL, anote a ID de referência de ACL para obter mais referências.

Próximas etapas

Aplicar listas de controle de acesso (ACLs) ao NNI no Azure Fabric