@@ -832,4 +832,148 @@ function Test-DeprecatedDatabaseAuditingCmdletToBlobAuditingNewCmdlet
832
832
# Cleanup
833
833
Remove-BlobAuditingTestEnvironment $testSuffix
834
834
}
835
+ }
836
+
837
+ <#
838
+ . SYNOPSIS
839
+ Test for extended auditing and auditing on a server
840
+ #>
841
+ function Test-ExtendedAuditingOnServer
842
+ {
843
+ # Setup
844
+ $testSuffix = getAssetName
845
+ Create- BlobAuditingTestEnvironment $testSuffix
846
+ $params = Get-SqlBlobAuditingTestEnvironmentParameters $testSuffix
847
+
848
+ try
849
+ {
850
+ # Enable auditing policy, without speficying a predicate expression, and verify it.
851
+ Set-AzureRmSqlServerAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8
852
+ $policy = Get-AzureRmSqlServerAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName
853
+ Assert-AreEqual " Enabled" $policy.AuditState
854
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
855
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
856
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
857
+ Assert-AreEqual 8 $policy.RetentionInDays
858
+ Assert-AreEqual " Primary" $policy.StorageKeyType
859
+ Assert-AreEqual " " $policy.PredicateExpression
860
+
861
+ # Enable Extended auditing policy, speficying a predicate expression, and verify it.
862
+ Set-AzureRmSqlServerAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8 - PredicateExpression " statement <> 'select 1'"
863
+ $policy = Get-AzureRmSqlServerAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName
864
+ Assert-AreEqual " Enabled" $policy.AuditState
865
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
866
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
867
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
868
+ Assert-AreEqual 8 $policy.RetentionInDays
869
+ Assert-AreEqual " Primary" $policy.StorageKeyType
870
+ Assert-AreEqual " statement <> 'select 1'" $policy.PredicateExpression
871
+
872
+ # Disable auditing policy and verify it.
873
+ Set-AzureRmSqlServerAuditing - State Disabled - ResourceGroupName $params.rgname - ServerName $params.serverName
874
+ $policy = Get-AzureRmSqlServerAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName
875
+ Assert-AreEqual " Disabled" $policy.AuditState
876
+
877
+ # Enable Extended auditing policy, without speficying a predicate expression, and verify it.
878
+ Set-AzureRmSqlServerAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8
879
+ $policy = Get-AzureRmSqlServerAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName
880
+ Assert-AreEqual " Enabled" $policy.AuditState
881
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
882
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
883
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
884
+ Assert-AreEqual 8 $policy.RetentionInDays
885
+ Assert-AreEqual " Primary" $policy.StorageKeyType
886
+ Assert-AreEqual " statement <> 'select 1'" $policy.PredicateExpression
887
+
888
+ # Remove Extended auditing policy, and enable auditing policy
889
+ Set-AzureRmSqlServerAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8 - PredicateExpression " "
890
+ $policy = Get-AzureRmSqlServerAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName
891
+ Assert-AreEqual " Enabled" $policy.AuditState
892
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
893
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
894
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
895
+ Assert-AreEqual 8 $policy.RetentionInDays
896
+ Assert-AreEqual " Primary" $policy.StorageKeyType
897
+ Assert-AreEqual " " $policy.PredicateExpression
898
+
899
+ # Disable auditing policy.
900
+ Set-AzureRmSqlServerAuditing - State Disabled - ResourceGroupName $params.rgname - ServerName $params.serverName
901
+ }
902
+ finally
903
+ {
904
+ # Cleanup
905
+ Remove-BlobAuditingTestEnvironment $testSuffix
906
+ }
907
+ }
908
+
909
+ <#
910
+ . SYNOPSIS
911
+ Test for extended auditing and auditing on a database
912
+ #>
913
+ function Test-ExtendedAuditingOnDatabase
914
+ {
915
+ # Setup
916
+ $testSuffix = getAssetName
917
+ Create- BlobAuditingTestEnvironment $testSuffix
918
+ $params = Get-SqlBlobAuditingTestEnvironmentParameters $testSuffix
919
+
920
+ try
921
+ {
922
+ # Enable auditing policy, without speficying a predicate expression, and verify it.
923
+ Set-AzureRmSqlDatabaseAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8
924
+ $policy = Get-AzureRmSqlDatabaseAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
925
+ Assert-AreEqual " Enabled" $policy.AuditState
926
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
927
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
928
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
929
+ Assert-AreEqual 8 $policy.RetentionInDays
930
+ Assert-AreEqual " Primary" $policy.StorageKeyType
931
+ Assert-AreEqual " " $policy.PredicateExpression
932
+
933
+ # Enable Extended auditing policy, speficying a predicate expression, and verify it.
934
+ Set-AzureRmSqlDatabaseAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8 - PredicateExpression " statement <> 'select 1'"
935
+ $policy = Get-AzureRmSqlDatabaseAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
936
+ Assert-AreEqual " Enabled" $policy.AuditState
937
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
938
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
939
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
940
+ Assert-AreEqual 8 $policy.RetentionInDays
941
+ Assert-AreEqual " Primary" $policy.StorageKeyType
942
+ Assert-AreEqual " statement <> 'select 1'" $policy.PredicateExpression
943
+
944
+ # Disable auditing policy and verify it.
945
+ Set-AzureRmSqlDatabaseAuditing - State Disabled - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
946
+ $policy = Get-AzureRmSqlDatabaseAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
947
+ Assert-AreEqual " Disabled" $policy.AuditState
948
+
949
+ # Enable Extended auditing policy, without speficying a predicate expression, and verify it.
950
+ Set-AzureRmSqlDatabaseAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8
951
+ $policy = Get-AzureRmSqlDatabaseAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
952
+ Assert-AreEqual " Enabled" $policy.AuditState
953
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
954
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
955
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
956
+ Assert-AreEqual 8 $policy.RetentionInDays
957
+ Assert-AreEqual " Primary" $policy.StorageKeyType
958
+ Assert-AreEqual " statement <> 'select 1'" $policy.PredicateExpression
959
+
960
+ # Remove Extended auditing policy, and enable auditing policy
961
+ Set-AzureRmSqlDatabaseAuditing - State Enabled - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" , " FAILED_DATABASE_AUTHENTICATION_GROUP" - RetentionInDays 8 - PredicateExpression " "
962
+ $policy = Get-AzureRmSqlDatabaseAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
963
+ Assert-AreEqual " Enabled" $policy.AuditState
964
+ Assert-AreEqual 2 $policy.AuditActionGroup.Length
965
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
966
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
967
+ Assert-AreEqual 8 $policy.RetentionInDays
968
+ Assert-AreEqual " Primary" $policy.StorageKeyType
969
+ Assert-AreEqual " " $policy.PredicateExpression
970
+
971
+ # Disable auditing policy.
972
+ Set-AzureRmSqlDatabaseAuditing - State Disabled - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
973
+ }
974
+ finally
975
+ {
976
+ # Cleanup
977
+ Remove-BlobAuditingTestEnvironment $testSuffix
978
+ }
835
979
}
0 commit comments