@@ -964,7 +964,7 @@ Tests that after migrating between database audit types the returned policy is o
964
964
function Test-DatatabaseAuditingTypeMigration
965
965
{
966
966
# Setup
967
- $testSuffix = 554479
967
+ $testSuffix = 554478
968
968
Create- AuditingTestEnvironment $testSuffix
969
969
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
970
970
$dbName = $params.databaseName
@@ -994,13 +994,25 @@ function Test-DatatabaseAuditingTypeMigration
994
994
Assert-AreEqual $policy.AuditAction.Length 2
995
995
Assert-AreEqual $policy.RetentionInDays 4
996
996
997
- # Test
997
+ # Test - Tests that when updating blob auditing policy on database without AuditType parameter, the policy type isn't changed.
998
+ Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " DATABASE_OPERATION_GROUP"
999
+ $policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1000
+
1001
+ # Assert
1002
+ Assert-AreEqual $policy.AuditState " Enabled"
1003
+ Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType ]::Blob)
1004
+ Assert-AreEqual $policy.AuditActionGroup.Length 1
1005
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
1006
+ Assert-AreEqual $policy.AuditAction.Length 2
1007
+ Assert-AreEqual $policy.RetentionInDays 4
1008
+
1009
+ # Test - When trying to update the current blob auditing policy with eventType parameter it fails, because EventType parameter is only supported for table auditing.
998
1010
Assert-Throws {Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - EventType ParameterizedSQL_Failure}
999
1011
1000
- # Test
1012
+ # Test
1001
1013
Set-AzureRmSqlDatabaseAuditingPolicy - AuditType Table - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - EventType ParameterizedSQL_Failure
1002
1014
$policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1003
-
1015
+
1004
1016
# Assert
1005
1017
Assert-AreEqual $policy.AuditState " Enabled"
1006
1018
Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType ]::Table)
@@ -1023,7 +1035,7 @@ function Test-DatatabaseAuditingTypeMigration
1023
1035
# Assert
1024
1036
Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType ]::Table)
1025
1037
1026
- # Test
1038
+ # Test
1027
1039
Remove-AzureRmSqlDatabaseAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1028
1040
$policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1029
1041
@@ -1045,7 +1057,7 @@ Tests that after migrating between server audit types the returned policy is of
1045
1057
function Test-ServerAuditingTypeMigration
1046
1058
{
1047
1059
# Setup
1048
- $testSuffix = 584416
1060
+ $testSuffix = 584412
1049
1061
Create- AuditingTestEnvironment $testSuffix
1050
1062
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1051
1063
$dbName = $params.databaseName
@@ -1072,7 +1084,18 @@ function Test-ServerAuditingTypeMigration
1072
1084
Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
1073
1085
Assert-AreEqual $policy.RetentionInDays 4
1074
1086
1075
- # Test
1087
+ # Test - Tests that when updating blob auditing policy on server without AuditType parameter, the policy type isn't changed.
1088
+ Set-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup DATABASE_OPERATION_GROUP
1089
+ $policy = Get-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
1090
+
1091
+ # Assert
1092
+ Assert-AreEqual $policy.AuditState " Enabled"
1093
+ Assert-AreEqual $policy.AuditType ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditType ]::Blob)
1094
+ Assert-AreEqual $policy.AuditActionGroup.Length 1
1095
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
1096
+ Assert-AreEqual $policy.RetentionInDays 4
1097
+
1098
+ # Test - When trying to update the current blob auditing policy with eventType parameter it fails, because EventType parameter is only supported for table auditing.
1076
1099
Assert-Throws {Set-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - EventType ParameterizedSQL_Failure}
1077
1100
1078
1101
# Test
@@ -1140,17 +1163,17 @@ function Test-GetServerAndDatabaseAuditingInUkRegion
1140
1163
1141
1164
<#
1142
1165
. SYNOPSIS
1143
- Tests that when modifying the auditActionGroup property of a databases's auditing policy (including the All and None values) , these properties are later fetched properly
1166
+ Tests that when modifying the auditActionGroup property of a blob auditing policy, these properties are later fetched properly
1144
1167
#>
1145
- function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
1168
+ function Test-BlobAuditingWithAuditActionGroups
1146
1169
{
1147
1170
$testSuffix = 50118
1148
1171
Create- AuditingTestEnvironment $testSuffix
1149
1172
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1150
1173
1151
1174
try
1152
1175
{
1153
- # Test - when setting new blob auditin policy without audit action groups, the default audit action groups is set.
1176
+ # Test - when setting new blob auditing policy for database without audit action groups, the default audit action groups is set.
1154
1177
Set-AzureRmSqlDatabaseAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
1155
1178
$policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1156
1179
@@ -1161,6 +1184,15 @@ function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
1161
1184
Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::BATCH_COMPLETED_GROUP)}
1162
1185
1163
1186
# Test
1187
+ Set-AzureRmSqlDatabaseAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " APPLICATION_ROLE_CHANGE_PASSWORD_GROUP" , " DATABASE_OBJECT_PERMISSION_CHANGE_GROUP"
1188
+ $policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1189
+
1190
+ # Assert
1191
+ Assert-AreEqual $policy.AuditActionGroup.Length 2
1192
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::APPLICATION_ROLE_CHANGE_PASSWORD_GROUP)}
1193
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OBJECT_PERMISSION_CHANGE_GROUP)}
1194
+
1195
+ # Test - tests that audit action groups can be changed
1164
1196
Set-AzureRmSqlDatabaseAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " DATABASE_OPERATION_GROUP" , " DATABASE_LOGOUT_GROUP"
1165
1197
$policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1166
1198
@@ -1169,10 +1201,47 @@ function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
1169
1201
Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
1170
1202
Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_LOGOUT_GROUP)}
1171
1203
1172
- # Test - when updating blob auditin policy for existing one without audit action groups, the action groups won't change.
1204
+ # Test - when updating blob auditing policy for existing one without audit action groups, the action groups won't change.
1173
1205
Set-AzureRmSqlDatabaseAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
1174
1206
$policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1175
1207
1208
+ # Assert
1209
+ Assert-AreEqual $policy.AuditActionGroup.Length 2
1210
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
1211
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_LOGOUT_GROUP)}
1212
+
1213
+ # Test - when setting new blob auditing policy for server without audit action groups, the default audit action groups is set.
1214
+ Set-AzureRmSqlServerAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount
1215
+ $policy = Get-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
1216
+
1217
+ # Assert
1218
+ Assert-AreEqual $policy.AuditActionGroup.Length 3
1219
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP)}
1220
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::FAILED_DATABASE_AUTHENTICATION_GROUP)}
1221
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::BATCH_COMPLETED_GROUP)}
1222
+
1223
+ # Test
1224
+ Set-AzureRmSqlServerAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup " APPLICATION_ROLE_CHANGE_PASSWORD_GROUP" , " DATABASE_OBJECT_PERMISSION_CHANGE_GROUP"
1225
+ $policy = Get-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
1226
+
1227
+ # Assert
1228
+ Assert-AreEqual $policy.AuditActionGroup.Length 2
1229
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::APPLICATION_ROLE_CHANGE_PASSWORD_GROUP)}
1230
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OBJECT_PERMISSION_CHANGE_GROUP)}
1231
+
1232
+ # Test - tests that audit action groups can be changed
1233
+ Set-AzureRmSqlServerAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup " DATABASE_OPERATION_GROUP" , " DATABASE_LOGOUT_GROUP"
1234
+ $policy = Get-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
1235
+
1236
+ # Assert
1237
+ Assert-AreEqual $policy.AuditActionGroup.Length 2
1238
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
1239
+ Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_LOGOUT_GROUP)}
1240
+
1241
+ # Test - when updating blob auditing policy for existing one without audit action groups, the action groups won't change.
1242
+ Set-AzureRmSqlServerAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount
1243
+ $policy = Get-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
1244
+
1176
1245
# Assert
1177
1246
Assert-AreEqual $policy.AuditActionGroup.Length 2
1178
1247
Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
@@ -1187,7 +1256,7 @@ function Test-BlobAuditingDatabaseUpdatePolicyWithAuditActionGroups
1187
1256
1188
1257
<#
1189
1258
. SYNOPSIS
1190
- Tests that trying to configure table audititng with audit actions or action groups fails.
1259
+ Tests that trying to configure table auditing with audit actions or action groups fails.
1191
1260
#>
1192
1261
function Test-AuditingWithAuditActionsAndAuditActionGroups
1193
1262
{
@@ -1212,101 +1281,4 @@ function Test-AuditingWithAuditActionsAndAuditActionGroups
1212
1281
# Cleanup
1213
1282
Remove-AuditingTestEnvironment $testSuffix
1214
1283
}
1215
- }
1216
-
1217
- <#
1218
- . SYNOPSIS
1219
- Tests that trying to configure blob audititng with event types fails.
1220
- #>
1221
- function Test-BlobAuditingWithEventTypes
1222
- {
1223
- $testSuffix = 50333
1224
- Create- AuditingTestEnvironment $testSuffix
1225
- $params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1226
-
1227
- try
1228
- {
1229
- # Test
1230
- Assert-Throws {Set-AzureRmSqlDatabaseAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - EventType " PlainSQL_Success" }
1231
-
1232
- # Test
1233
- Assert-Throws {Set-AzureRmSqlServerAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - EventType " PlainSQL_Success" }
1234
- }
1235
- finally
1236
- {
1237
- # Cleanup
1238
- Remove-AuditingTestEnvironment $testSuffix
1239
- }
1240
- }
1241
-
1242
- <#
1243
- . SYNOPSIS
1244
- Tests that when updating blob auditing policy on database without AuditType parameter, the policy type isn't changed.
1245
- #>
1246
- function Test-UpdateBlobAuditingOnDatabaseWithNoAuditType
1247
- {
1248
- $testSuffix = 50118
1249
- Create- AuditingTestEnvironment $testSuffix
1250
- $params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1251
-
1252
- try
1253
- {
1254
- # Test
1255
- Set-AzureRmSqlDatabaseAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
1256
- $policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1257
-
1258
- # Assert
1259
- Assert-AreEqual $policy.AuditState " Enabled"
1260
- Assert-AreEqual $policy.AuditType " Blob"
1261
-
1262
- # Test
1263
- Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount - AuditActionGroup " DATABASE_OPERATION_GROUP"
1264
- $policy = Get-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1265
-
1266
- # Assert
1267
- Assert-AreEqual $policy.AuditState " Enabled"
1268
- Assert-AreEqual $policy.AuditType " Blob"
1269
- Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
1270
- }
1271
- finally
1272
- {
1273
- # Cleanup
1274
- Remove-AuditingTestEnvironment $testSuffix
1275
- }
1276
- }
1277
-
1278
- <#
1279
- . SYNOPSIS
1280
- Tests that when updating blob auditing policy on server without AuditType parameter, the policy type isn't changed.
1281
- #>
1282
- function Test-UpdateBlobAuditingOnServerWithNoAuditType
1283
- {
1284
- $testSuffix = 50130
1285
- Create- AuditingTestEnvironment $testSuffix
1286
- $params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
1287
-
1288
- try
1289
- {
1290
- # Test
1291
- Set-AzureRmSqlServerAuditingPolicy - AuditType Blob - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount
1292
- $policy = Get-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
1293
-
1294
- # Assert
1295
- Assert-AreEqual $policy.AuditState " Enabled"
1296
- Assert-AreEqual $policy.AuditType " Blob"
1297
-
1298
- # Test
1299
- Set-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount - AuditActionGroup " DATABASE_OPERATION_GROUP"
1300
- $policy = Get-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
1301
-
1302
- # Assert
1303
- Assert-AreEqual $policy.AuditState " Enabled"
1304
- Assert-AreEqual $policy.AuditType " Blob"
1305
- Assert-True {$policy.AuditActionGroup.Contains ([Microsoft.Azure.Commands.Sql.Auditing.Model.AuditActionGroups ]::DATABASE_OPERATION_GROUP)}
1306
- }
1307
- finally
1308
- {
1309
- # Cleanup
1310
- Remove-AuditingTestEnvironment $testSuffix
1311
- }
1312
1284
}
0 commit comments