アクセス制御リストの作成と構成の例
この記事では、アクセス制御リスト (ACLS) を作成および更新する方法の例を示します。
ACL 作成フローの概要
ネットワーク間相互接続 (NNI) に関連付けられたアクセス制御リスト (ACL) の作成には、次の手順が含まれます。
Network Fabric リソースを作成し、それに NNI 子リソースを追加します。
コマンドを使用して、イングレスおよびエグレス ACL リソースを
az networkfabric acl create
作成します。 ACL の一致構成と既定のアクションを指定できます。 また、インラインまたは Azure ストレージ アカウント BLOB コンテナーに格納されているファイルに動的一致構成を指定することもできます。コマンドを使用して
az networkfabric nni update
、NNI リソースをイングレス ACL ID とエグレス ACL ID で更新します。 有効な ACL リソース ID をパラメーターに指定する--ingress-acl-id
--egress-acl-id
必要があります。コマンドを使用して、Network Fabric リソースを
az networkfabric fabric provision
プロビジョニングします。 これにより、ACL の基本構成と動的一致構成が生成され、デバイスに送信されます。
ACL 更新フローの概要
前のセクションで説明したように、
az networkfabric acl create
イングレスおよびエグレス ACL リソースを作成します。コマンドを使用して、イングレスまたはエグレス ACL を
az networkfabric acl update
更新します。ACL の構成状態を
accepted
確認します。ファブリックの構成状態を
accepted
確認します。ファブリック コミットを実行して ACL を更新します。
コマンドの例
ネットワーク間相互接続のアクセス制御リスト
この例では、2 つの ACL (1 つはイングレス用、1 つはエグレス用) を持つ NNI を作成する方法を示します。
NETWORK Fabric をプロビジョニングする前に、ACL を適用する必要があります。 この制限は一時的なものであり、今後のリリースで削除される予定です。 イングレス ACL とエグレス ACL は NNI リソースの前に作成され、NNI の作成時に参照され、ACL の作成もトリガーされます。 この構成は、ネットワーク ファブリックをプロビジョニングする前に行う必要があります。
イングレス ACL の作成: コマンドの例
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'}]}]"
エグレス ACL の作成: コマンドの例
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']}]}]"
外部ネットワーク上のアクセス制御リストメイン
このコマンドを az networkfabric acl create
使用して、外部ネットワークのイングレス ACL とエグレス ACL を作成します。 この例では、リソース グループ、名前、場所、ネットワーク ファブリック ID、外部ネットワーク ID、およびその他のパラメーターを指定します。 およびパラメーターを使用して、ACL ルールの一致条件と--action
アクションを--match
指定することもできます。
このコマンドは、任意のソースから外部ネットワークへの ICMP トラフィックを許可する、という名前 acl-ingress
のイングレス ACL を作成します。
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
このコマンドを az networkfabric externalnetwork update
使用して、リソース グループ、名前、ネットワーク ファブリック ID で外部ネットワークを更新します。 また、入力と送信の ACL ID とパラメーターを使用して指定する--ingress-acl-id
--egress-acl-id
必要があります。 たとえば、次のコマンドは、次の名前のイングレス ACL を参照するように名前付きのext-net
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
その他のシナリオとコマンドの例
HTTP と HTTPS を除くすべてのトラフィックを拒否する NNI のエグレス ACL を作成するには、次のコマンドを使用します。
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
既存の ACL を更新して新しい一致条件とアクションを追加するには、次のコマンドを使用します。
az networkfabric acl update \
--name acl-ingress \
--resource-group myResourceGroup \
--match "ip protocol icmp" \
--action allow \
--append-match-configurations
リソース グループ内のすべての ACL を一覧表示するには、次のコマンドを使用します。
az networkfabric acl list --resource-group myResourceGroup
特定の ACL の詳細を表示するには、次のコマンドを使用します。
az networkfabric acl show \
--name acl-ingress \
--resource-group myResourceGroup
ACL を削除するには、次のコマンドを使用します。
az networkfabric acl delete \
--name acl-egress \
--resource-group myResourceGroup