Compartilhar via


Exemplos de criação e configuração de lista de controle de acesso

Este artigo fornece exemplos de como criar e atualizar listas de controle de acesso (ACLS).

Visão geral do fluxo de criação da ACL

A criação de uma lista de controle de acesso (ACL) associada a uma interconexão de rede a rede (NNI) envolve estas etapas:

  • Crie um recurso de malha de rede e adicione um recurso filho NNI a ele.

  • Crie recursos de ACL de entrada e saída usando o az networkfabric acl create comando. Você pode fornecer configurações de correspondência e a ação padrão para a ACL. Você também pode fornecer configurações de correspondência dinâmica embutidas ou em um arquivo armazenado em seu contêiner de blob de conta de armazenamento do Azure.

  • Atualize o recurso NNI com as IDs de ACL de entrada e saída usando o az networkfabric nni update comando. Você precisa fornecer IDs de recurso ACL válidos nos --ingress-acl-id parâmetros e --egress-acl-id .

  • Provisione o recurso Network Fabric usando o az networkfabric fabric provision comando. Isso gera a configuração básica e a configuração de correspondência dinâmica para as ACLs e as envia para os dispositivos.

Visão geral do fluxo de atualização da ACL

  • Crie recursos de ACL de entrada e saída usando az networkfabric acl create conforme descrito na seção anterior.

  • Atualize a ACL de entrada ou saída usando o az networkfabric acl update comando.

  • Verifique se o estado de configuração da ACL é accepted.

  • Verifique se o estado de configuração da malha é accepted.

  • Execute Fabric Commit para atualizar a ACL.

Comandos de exemplo

Lista de controle de acesso em uma interconexão de rede para rede

Este exemplo mostra como criar uma NNI com duas ACLs - uma para entrada e outra para saída.

As ACLs devem ser aplicadas antes de provisionar a malha de rede. Essa limitação é temporária e será removida em versões futuras. As ACLs de entrada e saída são criadas antes do recurso NNI e referenciadas quando o NNI é criado, o que também aciona a criação das ACLs. Essa configuração deve ser feita antes de provisionar a malha de rede.

Criar ACL de entrada: comando de exemplo

az networkfabric acl create \
    --resource-group "example-rg"
    --location "eastus2euap" \
    --resource-name "example-Ipv4ingressACL" \
    --configuration-type "Inline" \
    --default-action "Permit" \
    --dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]" \
    --match-configurations "[{matchConfigurationName:'example-match',sequenceNumber:123,ipAddressType:IPv4,matchConditions:[{etherTypes:['0x1'],fragments:['0xff00-0xffff'],ipLengths:['4094-9214'],ttlValues:[23],dscpMarkings:[32],portCondition:{flags:[established],portType:SourcePort,layer4Protocol:TCP,ports:['1-20']},protocolTypes:[TCP],vlanMatchCondition:{vlans:['20-30'],innerVlans:[30]},ipCondition:{type:SourceIP,prefixType:Prefix,ipPrefixValues:['10.20.20.20/12']}}],actions:[{type:Count,counterName:'example-counter'}]}]"

Criar ACL de saída: comando de exemplo

az networkfabric acl create \
    --resource-group "example-rg" \
    --location "eastus2euap" \
    --resource-name "example-Ipv4egressACL" \
    --configuration-type "File" \
    --acls-url "https://ACL-Storage-URL" \
    --default-action "Permit" \
    --dynamic-match-configurations "[{ipGroups:[{name:'example-ipGroup',ipAddressType:IPv4,ipPrefixes:['10.20.3.1/20']}],vlanGroups:[{name:'example-vlanGroup',vlans:['20-30']}],portGroups:[{name:'example-portGroup',ports:['100-200']}]}]"

Lista de Controle de Acesso em uma rede externa de domínio de isolamento

Use o az networkfabric acl create comando para criar ACLs de entrada e saída para a rede externa. No exemplo, especificamos o grupo de recursos, nome, local, ID da malha de rede, ID da rede externa e outros parâmetros. Você também pode especificar as condições de correspondência e as ações para as regras da ACL usando os --match parâmetros e --action .

Este comando cria uma ACL de entrada nomeada acl-ingress que permite o tráfego ICMP de qualquer origem para a rede externa:

az networkfabric acl create \
    --resource-group myResourceGroup \
    --name acl-ingress \
    --location eastus \
    --network-fabric-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/networkFabrics/myNetworkFabric \
    --external-network-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/externalNetworks/ext-net \
    --match "ip protocol icmp" \
    --action allow

Use o az networkfabric externalnetwork update comando para atualizar a rede externa com o grupo de recursos, o nome e a ID da malha de rede. Você também precisa especificar as IDs de ACL de entrada e saída usando os --ingress-acl-id parâmetros e --egress-acl-id . Por exemplo, o comando a seguir atualiza a rede externa nomeada ext-net para fazer referência à ACL de entrada chamada acl-ingress:

az networkfabric externalnetwork update \
    --resource-group myResourceGroup \
    --name ext-net \
    --network-fabric-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/networkFabrics/myNetworkFabric \
    --ingress-acl-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/acls/acl-ingress

Mais exemplos de cenários e comandos

Para criar uma ACL de saída para um NNI que nega todo o tráfego, exceto HTTP e HTTPS, você pode usar este comando:

az networkfabric acl create \
    --name acl-egress \
    --resource-group myResourceGroup \
    --nni-id /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.NetworkFabric/networkInterfaces/myNni \
    --match "ip protocol tcp destination port 80 or 443" \
    --action allow \
    --default-action deny

Para atualizar uma ACL existente para adicionar uma nova condição e ação de correspondência, você pode usar este comando:

az networkfabric acl update \
    --name acl-ingress \
    --resource-group myResourceGroup \
    --match "ip protocol icmp" \
    --action allow \
    --append-match-configurations

Para listar todas as ACLs em um grupo de recursos, você pode usar este comando:

az networkfabric acl list --resource-group myResourceGroup

Para mostrar os detalhes de uma ACL específica, você pode usar este comando:

az networkfabric acl show \
    --name acl-ingress \
    --resource-group myResourceGroup

Para excluir uma ACL, você pode usar este comando:

az networkfabric acl delete \
    --name acl-egress \
    --resource-group myResourceGroup