@@ -58,20 +58,21 @@ Tests that when modifying the properties of a databases's threat detection polic
58
58
function Test-ThreatDetectionDatabaseUpdatePolicy
59
59
{
60
60
# Setup
61
- $testSuffix = 6004
61
+ $testSuffix = 6002
62
62
Create- TestEnvironment $testSuffix " Japan East" # Create-ThreatDetectionTestEnvironmentWithStorageV2 $testSuffix
63
63
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix # Get-SqlThreatDetectionTestEnvironmentParameters $testSuffix
64
64
65
65
try
66
66
{
67
67
# Test
68
68
Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
69
- Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName
$params.rgname - ServerName
$params.serverName - DatabaseName
$params.databaseName - NotificationRecipientsEmails
" [email protected] ;[email protected] " - EmailAdmins
$false - ExcludedDetectionType
" Sql_Injection_Vulnerability"
69
+ Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName
$params.rgname - ServerName
$params.serverName - DatabaseName
$params.databaseName - NotificationRecipientsEmails
" [email protected] ;[email protected] " - EmailAdmins
$false - ExcludedDetectionType
" Sql_Injection_Vulnerability" - StorageAccountName $params .storageAccount
70
70
$policy = Get-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
71
71
72
72
# Assert
73
73
Assert-AreEqual $policy.ThreatDetectionState " Enabled"
74
74
Assert-AreEqual $policy.NotificationRecipientsEmails " [email protected] ;[email protected] "
75
+ Assert-AreEqual $policy.StorageAccountName $params.storageAccount
75
76
Assert-False {$policy.EmailAdmins }
76
77
Assert-AreEqual $policy.ExcludedDetectionTypes.Length 1
77
78
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
@@ -86,6 +87,7 @@ function Test-ThreatDetectionDatabaseUpdatePolicy
86
87
Assert-AreEqual $policy.NotificationRecipientsEmails " [email protected] ;[email protected] "
87
88
Assert-False {$policy.EmailAdmins }
88
89
Assert-AreEqual $policy.ExcludedDetectionTypes.Length 4
90
+ Assert-AreEqual $policy.StorageAccountName $params.storageAccount
89
91
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection)}
90
92
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Sql_Injection_Vulnerability)}
91
93
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Access_Anomaly)}
@@ -129,15 +131,15 @@ Tests that when turning off auditing or marking it as "use server default" , thr
129
131
function Test-DisablingThreatDetection
130
132
{
131
133
# Setup
132
- $testSuffix = 7019
134
+ $testSuffix = 7079
133
135
Create- TestEnvironment $testSuffix " Japan East" # Create-ThreatDetectionTestEnvironmentWithStorageV2 $testSuffix
134
136
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix # Get-SqlThreatDetectionTestEnvironmentParameters $testSuffix
135
137
136
138
try
137
139
{
138
140
# 1. Test
139
141
Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
140
- Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
142
+ Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params .storageAccount
141
143
$policy = Get-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
142
144
143
145
# Assert
@@ -155,7 +157,7 @@ function Test-DisablingThreatDetection
155
157
# 3. Test - that no exception is thrown
156
158
Set-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount
157
159
Use-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
158
- Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
160
+ Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params .storageAccount
159
161
$policy = Get-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
160
162
}
161
163
finally
@@ -172,31 +174,26 @@ Tests sending invalid arguments in database's threat detection
172
174
function Test-InvalidArgumentsThreatDetection
173
175
{
174
176
# Setup5
175
- $testSuffix = 8025
177
+ $testSuffix = 8027
176
178
Create- TestEnvironment $testSuffix " Japan East" # Create-ThreatDetectionTestEnvironmentWithStorageV2 $testSuffix
177
179
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix # Get-SqlThreatDetectionTestEnvironmentParameters $testSuffix
178
180
179
181
try
180
182
{
181
- # turning on threat detection without auditing
182
- Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName }
183
+ # turning on threat detection without storage account
183
184
184
185
Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
185
- Set-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount
186
- Use-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName
187
- Remove-AzureRmSqlServerAuditing - ResourceGroupName $params.rgname - ServerName $params.serverName
188
186
Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName }
189
187
190
188
# Check that NotificationRecipientsEmails are in correct format
191
- Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
192
189
Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - NotificationRecipientsEmails " kokogmail.com" }
193
190
194
191
# Check that EmailAdmins is not False and NotificationRecipientsEmails is not empty
195
- Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $false }
196
- Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $false - NotificationRecipientsEmails " " }
192
+ Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $false - StorageAccountName $params .storageAccount }
193
+ Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $false - NotificationRecipientsEmails " " - StorageAccountName $params .storageAccount }
197
194
198
195
# Check that ExcludedDetectionType doesn't hold None and any other type
199
- Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $true - ExcludedDetectionType " None" , " Sql_Injection_Vulnerability" }
196
+ Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - EmailAdmins $true - ExcludedDetectionType " None" , " Sql_Injection_Vulnerability" - StorageAccountName $params .storageAccount }
200
197
}
201
198
finally
202
199
{
@@ -212,20 +209,19 @@ Tests that thread detection doesn't work on 2.0 servers
212
209
function Test-ThreatDetectionOnV2Server
213
210
{
214
211
# Setup
215
- $testSuffix = 5023
212
+ $testSuffix = 5017
216
213
Create- TestEnvironment $testSuffix " West Europe" " 2.0" # Create-ThreatDetectionTestEnvironmentWithStorageV2 $testSuffix "2.0"
217
214
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix # Get-SqlThreatDetectionTestEnvironmentParameters $testSuffix
218
215
219
216
try
220
217
{
221
218
Set-AzureRmSqlDatabaseAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params.storageAccount
222
- Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName }
223
- Assert-Throws {Get-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName }
219
+ Assert-Throws {Set-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params .storageAccount }
220
+ Assert-Throws {Get-AzureRmSqlDatabaseThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - DatabaseName $params.databaseName - StorageAccountName $params .storageAccount }
224
221
225
222
Set-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount
226
- Assert-Throws {Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName }
227
- Assert-Throws {Get-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName }
228
-
223
+ Assert-Throws {Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount }
224
+ Assert-Throws {Get-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount }
229
225
}
230
226
finally
231
227
{
@@ -249,7 +245,7 @@ function Test-ThreatDetectionServerUpdatePolicy
249
245
{
250
246
# Test
251
247
Set-AzureRmSqlServerAuditingPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - StorageAccountName $params.storageAccount
252
- Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName
$params.rgname - ServerName
$params.serverName - NotificationRecipientsEmails
" [email protected] ;[email protected] " - EmailAdmins
$false - ExcludedDetectionType Sql_Injection_Vulnerability
248
+ Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName
$params.rgname - ServerName
$params.serverName - NotificationRecipientsEmails
" [email protected] ;[email protected] " - EmailAdmins
$false - ExcludedDetectionType Sql_Injection_Vulnerability
- StorageAccountName $params .storageAccount
253
249
$policy = Get-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
254
250
255
251
# Assert
@@ -261,7 +257,7 @@ function Test-ThreatDetectionServerUpdatePolicy
261
257
262
258
263
259
# Test
264
- Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - ExcludedDetectionType Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Usage_Anomaly
260
+ Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - ExcludedDetectionType Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Usage_Anomaly - StorageAccountName $params .storageAccount
265
261
$policy = Get-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
266
262
267
263
# Assert
@@ -289,7 +285,7 @@ function Test-ThreatDetectionServerUpdatePolicy
289
285
Assert-True {$policy.ExcludedDetectionTypes.Contains ([Microsoft.Azure.Commands.Sql.ThreatDetection.Model.DetectionType ]::Usage_Anomaly)}
290
286
291
287
# Test
292
- Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - ExcludedDetectionType None
288
+ Set-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName - ExcludedDetectionType None - StorageAccountName $params .storageAccount
293
289
$policy = Get-AzureRmSqlServerThreatDetectionPolicy - ResourceGroupName $params.rgname - ServerName $params.serverName
294
290
295
291
# Assert
0 commit comments