@@ -159,6 +159,7 @@ function Test-GetAzureStorageAccount
159
159
$kind = ' Storage'
160
160
161
161
New-AzureRmResourceGroup - Name $rgname - Location $loc ;
162
+ Write-Output (" Resource Group created" )
162
163
163
164
New-AzureRmStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype ;
164
165
@@ -501,3 +502,95 @@ function Test-SetAzureRmCurrentStorageAccount
501
502
Clean - ResourceGroup $rgname
502
503
}
503
504
}
505
+
506
+
507
+ <#
508
+ . SYNOPSIS
509
+ Test NetworkAcl
510
+ #>
511
+ function Test-NetworkAcl
512
+ {
513
+ # Setup
514
+ $rgname = Get-StorageManagementTestResourceName ;
515
+
516
+ try
517
+ {
518
+ # Test
519
+ $stoname = ' sto' + $rgname ;
520
+ $stotype = ' Standard_LRS' ;
521
+ $loc = Get-ProviderLocation_Canary ResourceManagement;
522
+ $ip1 = " 20.11.0.0/16" ;
523
+ $ip2 = " 10.0.0.0/7" ;
524
+ $ip3 = " 11.1.1.0/24" ;
525
+ $ip4 = " 28.0.2.0/19" ;
526
+
527
+ New-AzureRmResourceGroup - Name $rgname - Location $loc ;
528
+
529
+ New-AzureRmStorageAccount - ResourceGroupName $rgname - Name $stoname - Location $loc - Type $stotype - NetworkAcl (@ {bypass = " Logging,Metrics,AzureServices" ;
530
+ ipRules = (@ {IPAddressOrRange = " $ip1 " ;Action = " allow" },
531
+ @ {IPAddressOrRange = " $ip2 " ;Action = " allow" });
532
+ defaultAction = " Deny" })
533
+
534
+ $stoacl = (Get-AzureRmStorageAccount - ResourceGroupName $rgname - Name $stoname ).NetworkAcls
535
+ Assert-AreEqual $stoacl.Bypass 7 ;
536
+ Assert-AreEqual $stoacl.DefaultAction Deny;
537
+ Assert-AreEqual $stoacl.IpRules.Count 2
538
+ Assert-AreEqual $stoacl.IpRules [0 ].IPAddressOrRange $ip1 ;
539
+ Assert-AreEqual $stoacl.IpRules [1 ].IPAddressOrRange $ip2 ;
540
+ Assert-AreEqual $stoacl.VirtualNetworkRules $null
541
+
542
+ Update-AzureRmStorageAccountNetworkACL - verbose - ResourceGroupName $rgname - Name $stoname - Bypass AzureServices, Metrics - DefaultAction Allow - IpRule (@ {IPAddressOrRange = " $ip3 " ;Action = " allow" }, @ {IPAddressOrRange = " $ip4 " ;Action = " allow" })
543
+ $stoacl = Get-AzureRmStorageAccountNetworkACL - ResourceGroupName $rgname - Name $stoname
544
+ $stoacliprule = $stoacl.IpRules
545
+ Assert-AreEqual $stoacl.Bypass 6 ;
546
+ Assert-AreEqual $stoacl.DefaultAction Allow;
547
+ Assert-AreEqual $stoacl.IpRules.Count 2
548
+ Assert-AreEqual $stoacl.IpRules [0 ].IPAddressOrRange $ip3 ;
549
+ Assert-AreEqual $stoacl.IpRules [1 ].IPAddressOrRange $ip4 ;
550
+ Assert-AreEqual $stoacl.VirtualNetworkRules $null
551
+
552
+ Remove-AzureRmStorageAccountNetworkACLRule - ResourceGroupName $rgname - Name $stoname - IPAddressOrRange " $ip3 "
553
+ $stoacl = Get-AzureRmStorageAccountNetworkACL - ResourceGroupName $rgname - Name $stoname
554
+ Assert-AreEqual $stoacl.Bypass 6 ;
555
+ Assert-AreEqual $stoacl.DefaultAction Allow;
556
+ Assert-AreEqual $stoacl.IpRules.Count 1
557
+ Assert-AreEqual $stoacl.IpRules [0 ].IPAddressOrRange $ip4 ;
558
+ Assert-AreEqual $stoacl.VirtualNetworkRules $null
559
+
560
+ Update-AzureRmStorageAccountNetworkACL - ResourceGroupName $rgname - Name $stoname - IpRule @ () - DefaultAction Deny - Bypass None
561
+ $stoacl = Get-AzureRmStorageAccountNetworkACL - ResourceGroupName $rgname - Name $stoname
562
+ Assert-AreEqual $stoacl.Bypass 0 ;
563
+ Assert-AreEqual $stoacl.DefaultAction Deny;
564
+ Assert-AreEqual $stoacl.IpRules $null
565
+ Assert-AreEqual $stoacl.VirtualNetworkRules $null
566
+
567
+ $stoacliprule | Add-AzureRmStorageAccountNetworkACLRule - ResourceGroupName $rgname - Name $stoname
568
+ $stoacl = Get-AzureRmStorageAccountNetworkACL - ResourceGroupName $rgname - Name $stoname
569
+ Assert-AreEqual $stoacl.Bypass 0 ;
570
+ Assert-AreEqual $stoacl.DefaultAction Deny;
571
+ Assert-AreEqual $stoacl.IpRules.Count 2
572
+ Assert-AreEqual $stoacl.IpRules [0 ].IPAddressOrRange $ip3 ;
573
+ Assert-AreEqual $stoacl.IpRules [1 ].IPAddressOrRange $ip4 ;
574
+ Assert-AreEqual $stoacl.VirtualNetworkRules $null
575
+
576
+ Set-AzureRmStorageAccount - ResourceGroupName $rgname - Name $stoname - NetworkAcl (@ {bypass = " AzureServices" ;
577
+ ipRules = (@ {IPAddressOrRange = " $ip1 " ;Action = " allow" },
578
+ @ {IPAddressOrRange = " $ip2 " ;Action = " allow" });
579
+ defaultAction = " Allow" })
580
+
581
+ $stoacl = Get-AzureRmStorageAccountNetworkACL - ResourceGroupName $rgname - Name $stoname
582
+ Assert-AreEqual $stoacl.Bypass 4 ;
583
+ Assert-AreEqual $stoacl.DefaultAction Allow;
584
+ Assert-AreEqual $stoacl.IpRules.Count 2
585
+ Assert-AreEqual $stoacl.IpRules [0 ].IPAddressOrRange $ip1 ;
586
+ Assert-AreEqual $stoacl.IpRules [1 ].IPAddressOrRange $ip2 ;
587
+ Assert-AreEqual $stoacl.VirtualNetworkRules $null
588
+
589
+ Remove-AzureRmStorageAccount - Force - ResourceGroupName $rgname - Name $stoname ;
590
+ }
591
+ finally
592
+ {
593
+ # Cleanup
594
+ Clean - ResourceGroup $rgname
595
+ }
596
+ }
0 commit comments