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