@@ -1184,6 +1184,105 @@ function Test-RemoveAuditOnDatabase
1184
1184
}
1185
1185
}
1186
1186
1187
+ <#
1188
+ . SYNOPSIS
1189
+ Test Server Auditing to storage acount in VNet
1190
+ #>
1191
+ function Test-ServerAuditingToStorageInVNet
1192
+ {
1193
+ # Setup
1194
+ $testSuffix = getAssetName
1195
+ Create- BlobAuditingTestEnvironment $testSuffix " West Central US" " 12.0" $True
1196
+ $params = Get-SqlBlobAuditingTestEnvironmentParameters $testSuffix
1197
+ $subscriptionId = (Get-AzContext ).Subscription.Id
1198
+
1199
+ try
1200
+ {
1201
+ # Enable Server Auditing to storage in VNet, and verify.
1202
+ $profile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider ]::Instance.Profile
1203
+ $cmdlet = New-Object - TypeName Microsoft.Azure.Commands.Sql.Auditing.Cmdlet.SetAzSqlServerAudit
1204
+ $cmdlet.DefaultProfile = $profile
1205
+ $cmdlet.CommandRuntime = $PSCmdlet.CommandRuntime
1206
+ $cmdlet.ResourceGroupName = $params.rgname
1207
+ $cmdlet.ServerName = $params.serverName
1208
+ $cmdlet.BlobStorageTargetState = " Enabled"
1209
+ $cmdlet.StorageAccountResourceId = $params.storageAccountResourceId
1210
+ $cmdlet.RoleAssignmentId = " B6C2E345-234A-421A-ADB2-4E81DD4470D6"
1211
+ $cmdlet.ExecuteCmdlet ()
1212
+
1213
+ $policy = Get-AzSqlServerAudit - ResourceGroupName $params.rgname - ServerName $params.serverName
1214
+ Assert-AreEqual " Enabled" $policy.BlobStorageTargetState
1215
+ Assert-AreEqual 3 $policy.AuditActionGroup.Length
1216
+ Assert-AreEqual " " $policy.PredicateExpression
1217
+ Assert-AreEqual $params.storageAccountResourceId $policy.StorageAccountResourceId
1218
+ Assert-AreEqual 0 $policy.RetentionInDays
1219
+
1220
+ # Disable Server Auditing and verify.
1221
+ Get-AzSqlServer - ResourceGroupName $params.rgname - ServerName $params.serverName | Set-AzSqlServerAudit - BlobStorageTargetState Disabled
1222
+ $policy = Get-AzSqlServerAudit - ResourceGroupName $params.rgname - ServerName $params.serverName
1223
+ Assert-AreEqual " Disabled" $policy.BlobStorageTargetState
1224
+ Assert-AreEqual 3 $policy.AuditActionGroup.Length
1225
+ Assert-Null $policy.StorageAccountResourceId
1226
+ Assert-AreEqual " " $policy.PredicateExpression
1227
+ Assert-Null $policy.RetentionInDays
1228
+ }
1229
+ finally
1230
+ {
1231
+ # Cleanup
1232
+ Remove-BlobAuditingTestEnvironment $testSuffix
1233
+ }
1234
+ }
1235
+
1236
+ <#
1237
+ . SYNOPSIS
1238
+ Test Database Auditing to storage acount in VNet
1239
+ #>
1240
+ function Test-DatabaseAuditingToStorageInVNet
1241
+ {
1242
+ # Setup
1243
+ $testSuffix = getAssetName
1244
+ Create- BlobAuditingTestEnvironment $testSuffix " West Central US" " 12.0" $True
1245
+ $params = Get-SqlBlobAuditingTestEnvironmentParameters $testSuffix
1246
+ $subscriptionId = (Get-AzContext ).Subscription.Id
1247
+
1248
+ try
1249
+ {
1250
+ # Enable Database Auditing to storage in VNet, and verify.
1251
+ $profile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider ]::Instance.Profile
1252
+ $cmdlet = New-Object - TypeName Microsoft.Azure.Commands.Sql.Auditing.Cmdlet.SetAzSqlDatabaseAudit
1253
+ $cmdlet.DefaultProfile = $profile
1254
+ $cmdlet.CommandRuntime = $PSCmdlet.CommandRuntime
1255
+ $cmdlet.ResourceGroupName = $params.rgname
1256
+ $cmdlet.ServerName = $params.serverName
1257
+ $cmdlet.DatabaseName = $params.databaseName
1258
+ $cmdlet.BlobStorageTargetState = " Enabled"
1259
+ $cmdlet.StorageAccountResourceId = $params.storageAccountResourceId
1260
+ $cmdlet.RoleAssignmentId = " F9CFE83C-552B-4ED1-BC58-741EF3A620AE"
1261
+ $cmdlet.ExecuteCmdlet ()
1262
+
1263
+ $policy = Get-AzSqlDatabaseAudit - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1264
+ Assert-AreEqual " Enabled" $policy.BlobStorageTargetState
1265
+ Assert-AreEqual 3 $policy.AuditActionGroup.Length
1266
+ Assert-AreEqual " " $policy.PredicateExpression
1267
+ Assert-AreEqual $params.storageAccountResourceId $policy.StorageAccountResourceId
1268
+ Assert-AreEqual 0 $policy.RetentionInDays
1269
+
1270
+ # Disable Database Auditing and verify.
1271
+ Get-AzSqlDatabase - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName | Set-AzSqlDatabaseAudit - BlobStorageTargetState Disabled
1272
+ $policy = Get-AzSqlDatabaseAudit - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
1273
+ Assert-AreEqual " Disabled" $policy.BlobStorageTargetState
1274
+ Assert-AreEqual 3 $policy.AuditActionGroup.Length
1275
+ Assert-Null $policy.StorageAccountResourceId
1276
+ Assert-AreEqual " " $policy.PredicateExpression
1277
+ Assert-Null $policy.RetentionInDays
1278
+ }
1279
+ finally
1280
+ {
1281
+ # Cleanup
1282
+ Remove-BlobAuditingTestEnvironment $testSuffix
1283
+ }
1284
+ }
1285
+
1187
1286
<#
1188
1287
. SYNOPSIS
1189
1288
Test for all auditing settings on a server
0 commit comments