Ejemplos de configuración y creación de listas de control de acceso
En este artículo se proporcionan ejemplos de cómo crear y actualizar listas de control de acceso (ACLS).
Información general sobre el flujo de creación de ACL
La creación de una lista de control de acceso (ACL) asociada a una interconexión de red a red (NNI) implica estos pasos:
Cree un recurso de Network Fabric y agréguele un recurso secundario NNI.
Cree recursos de ACL de entrada y salida mediante el
az networkfabric acl create
comando . Puede proporcionar configuraciones de coincidencia y la acción predeterminada para la ACL. También puede proporcionar configuraciones de coincidencia dinámica en línea o en un archivo almacenado en el contenedor de blobs de la cuenta de Azure Storage.Actualice el recurso NNI con los identificadores de ACL de entrada y salida mediante el
az networkfabric nni update
comando . Debe proporcionar identificadores de recursos de ACL válidos en los--ingress-acl-id
parámetros y--egress-acl-id
.Aprovisione el recurso de Network Fabric mediante el
az networkfabric fabric provision
comando . Esto genera la configuración base y la configuración de coincidencia dinámica para las ACL y las envía a los dispositivos.
Información general sobre el flujo de actualización de ACL
Cree recursos de ACL de entrada y salida mediante
az networkfabric acl create
, como se describe en la sección anterior.Actualice la ACL de entrada o salida mediante el
az networkfabric acl update
comando .Compruebe que el estado de configuración de la ACL es
accepted
.Compruebe que el estado de configuración del tejido es
accepted
.Ejecute la confirmación de Fabric para actualizar la ACL.
Comandos de ejemplo
Lista de control de acceso en una interconexión de red a red
En este ejemplo se muestra cómo crear una NNI con dos ACL: una para la entrada y otra para la salida.
Las ACL deben aplicarse antes de aprovisionar Network Fabric. Esta limitación es temporal y se quitará en futuras versiones. Las ACL de entrada y salida se crean antes del recurso NNI y se hace referencia a ellas cuando se crea la NNI, lo que también desencadena la creación de las ACL. Esta configuración debe realizarse antes de aprovisionar el tejido de red.
Creación de una ACL de entrada: comando de ejemplo
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'}]}]"
Creación de una ACL de salida: comando de ejemplo
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 control de acceso en una red externa de dominio de aislamiento
Use el az networkfabric acl create
comando para crear ACL de entrada y salida para la red externa. En el ejemplo, se especifica el grupo de recursos, el nombre, la ubicación, el identificador de tejido de red, el identificador de red externo y otros parámetros. También puede especificar las condiciones y acciones de coincidencia para las reglas de ACL mediante los --match
parámetros y --action
.
Este comando crea una ACL de entrada denominada acl-ingress
que permite el tráfico ICMP desde cualquier origen a la red 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 el az networkfabric externalnetwork update
comando para actualizar la red externa con el grupo de recursos, el nombre y el identificador de tejido de red. También debe especificar los identificadores de ACL de entrada y salida mediante los --ingress-acl-id
parámetros y --egress-acl-id
. Por ejemplo, el siguiente comando actualiza la red externa denominada ext-net
para hacer referencia a la ACL de entrada denominada 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
Más escenarios y comandos de ejemplo
Para crear una ACL de salida para un NNI que deniega todo el tráfico excepto HTTP y HTTPS, puede 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 actualizar una ACL existente para agregar una nueva condición de coincidencia y una acción, puede usar este comando:
az networkfabric acl update \
--name acl-ingress \
--resource-group myResourceGroup \
--match "ip protocol icmp" \
--action allow \
--append-match-configurations
Para enumerar todas las ACL de un grupo de recursos, puede usar este comando:
az networkfabric acl list --resource-group myResourceGroup
Para mostrar los detalles de una ACL específica, puede usar este comando:
az networkfabric acl show \
--name acl-ingress \
--resource-group myResourceGroup
Para eliminar una ACL, puede usar este comando:
az networkfabric acl delete \
--name acl-egress \
--resource-group myResourceGroup