Skip to content

Commit 1d10cec

Browse files
committed
Adding schema to datamasking rules
1 parent 8223f4f commit 1d10cec

File tree

11 files changed

+18184
-1512
lines changed

11 files changed

+18184
-1512
lines changed

src/ResourceManager/Sql/Commands.Sql.Test/Commands.Sql.Test.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
<HintPath>..\..\..\packages\Microsoft.Azure.Gallery.2.6.2-preview\lib\net40\Microsoft.Azure.Gallery.dll</HintPath>
6969
</Reference>
7070
<Reference Include="Microsoft.Azure.Management.Sql">
71-
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Sql.0.28.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll</HintPath>
71+
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Sql.0.32.0-prerelease\lib\net40\Microsoft.Azure.Management.Sql.dll</HintPath>
7272
</Reference>
7373
<Reference Include="Microsoft.Azure.Management.Storage">
7474
<HintPath>..\..\..\packages\Microsoft.Azure.Management.Storage.2.4.0-preview\lib\net40\Microsoft.Azure.Management.Storage.dll</HintPath>

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/Common.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Creates the test environment needed to perform the Sql data masking tests
8181
function Create-DataMaskingTestEnvironment ($testSuffix)
8282
{
8383
$params = Get-SqlDataMaskingTestEnvironmentParameters $testSuffix
84-
New-AzureResourceGroup -Name $params.rgname -Location "West US" -TemplateFile ".\Templates\sql-ddm-test-env-setup.json" -serverName $params.serverName -databaseName $params.databaseName -EnvLocation "West US" -administratorLogin $params.userName -Force
84+
New-AzureResourceGroup -Name $params.rgname -Location "Australia East" -TemplateFile ".\Templates\sql-ddm-test-env-setup.json" -serverName $params.serverName -databaseName $params.databaseName -EnvLocation "Australia East" -administratorLogin $params.userName -Force
8585
$fullServerName = $params.serverName + ".database.windows.net"
8686
$uid = $params.userName
8787
$pwd = $params.pwd

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/DataMaskingTests.ps1

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ function Test-DatabaseDataMaskingPrivilegedLoginsChanges
7272
Assert-AreEqual $policy.PrivilegedLogins "A;B;C"
7373

7474
# Test
75-
Set-AzureSqlDatabaseDataMaskingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -MaskingLevel "Extended"
75+
Set-AzureSqlDatabaseDataMaskingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
7676
$policy = Get-AzureSqlDatabaseDataMaskingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
7777

7878
# Assert
@@ -109,7 +109,7 @@ function Test-DatabaseDataMaskingBasicRuleLifecycle
109109

110110
$ruleCountBefore = (Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName).Count
111111
$ruleCountBefore = if ( !$ruleCountBefore ) {0} else {$ruleCountBefore}
112-
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -TableName $params.table1 -ColumnName $params.column1
112+
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1
113113
$ruleCountAfter = (Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName).Count
114114
$ruleCountAfter = if ( !$ruleCountAfter ) {0} else {$ruleCountAfter}
115115

@@ -123,10 +123,11 @@ function Test-DatabaseDataMaskingBasicRuleLifecycle
123123
Assert-AreEqual $rule.DatabaseName $params.databaseName
124124
Assert-AreEqual $rule.RuleId $ruleId
125125
Assert-AreEqual $rule.MaskingFunction "Default"
126+
Assert-AreEqual $rule.SchemaName "DBO"
126127
Assert-AreEqual $rule.TableName $params.table1
127128
Assert-AreEqual $rule.ColumnName $params.column1
128129

129-
Set-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Email" -TableName $params.table2 -ColumnName $params.column2
130+
Set-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Email" -SchemaName "DBO" -TableName $params.table2 -ColumnName $params.column2
130131
$rule = Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId
131132

132133
# Assert
@@ -135,6 +136,7 @@ function Test-DatabaseDataMaskingBasicRuleLifecycle
135136
Assert-AreEqual $rule.DatabaseName $params.databaseName
136137
Assert-AreEqual $rule.RuleId $ruleId
137138
Assert-AreEqual $rule.MaskingFunction "Email"
139+
Assert-AreEqual $rule.SchemaName "DBO"
138140
Assert-AreEqual $rule.TableName $params.table2
139141
Assert-AreEqual $rule.ColumnName $params.column2
140142

@@ -174,7 +176,7 @@ function Test-DatabaseDataMaskingNumberRuleLifecycle
174176

175177
$ruleCountBefore = (Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName).Count
176178
$ruleCountBefore = if ( !$ruleCountBefore ) {0} else {$ruleCountBefore}
177-
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Number" -TableName $params.table1 -ColumnName $params.column1 -NumberFrom 12 -NumberTo 56
179+
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Number" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1 -NumberFrom 12 -NumberTo 56
178180
$ruleCountAfter = (Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName).Count
179181
$ruleCountAfter = if ( !$ruleCountAfter ) {0} else {$ruleCountAfter}
180182

@@ -189,13 +191,14 @@ function Test-DatabaseDataMaskingNumberRuleLifecycle
189191
Assert-AreEqual $rule.DatabaseName $params.databaseName
190192
Assert-AreEqual $rule.RuleId $ruleId
191193
Assert-AreEqual $rule.MaskingFunction "Number"
194+
Assert-AreEqual $rule.SchemaName "DBO"
192195
Assert-AreEqual $rule.TableName $params.table1
193196
Assert-AreEqual $rule.ColumnName $params.column1
194197
Assert-AreEqual $rule.NumberFrom 12
195198
Assert-AreEqual $rule.NumberTo 56
196199

197200

198-
Set-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -TableName $params.table2 -ColumnName $params.column2 -NumberFrom 67.26 -NumberTo 78.91
201+
Set-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -SchemaName "DBO" -TableName $params.table2 -ColumnName $params.column2 -NumberFrom 67.26 -NumberTo 78.91
199202
$rule = Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId
200203

201204
# Assert
@@ -204,6 +207,7 @@ function Test-DatabaseDataMaskingNumberRuleLifecycle
204207
Assert-AreEqual $rule.DatabaseName $params.databaseName
205208
Assert-AreEqual $rule.RuleId $ruleId
206209
Assert-AreEqual $rule.MaskingFunction "Number"
210+
Assert-AreEqual $rule.SchemaName "DBO"
207211
Assert-AreEqual $rule.TableName $params.table2
208212
Assert-AreEqual $rule.ColumnName $params.column2
209213
Assert-AreEqual $rule.NumberFrom 67.26
@@ -246,7 +250,7 @@ function Test-DatabaseDataMaskingTextRuleLifecycle
246250

247251
$ruleCountBefore = (Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName).Count
248252
$ruleCountBefore = if ( !$ruleCountBefore ) {0} else {$ruleCountBefore}
249-
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Text" -TableName $params.table1 -ColumnName $params.column1 -PrefixSize 1 -ReplacementString "AAA" -SuffixSize 3
253+
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Text" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1 -PrefixSize 1 -ReplacementString "AAA" -SuffixSize 3
250254
$ruleCountAfter = (Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName).Count
251255
$ruleCountAfter = if ( !$ruleCountAfter ) {0} else {$ruleCountAfter}
252256

@@ -261,13 +265,14 @@ function Test-DatabaseDataMaskingTextRuleLifecycle
261265
Assert-AreEqual $rule.DatabaseName $params.databaseName
262266
Assert-AreEqual $rule.RuleId $ruleId
263267
Assert-AreEqual $rule.MaskingFunction "Text"
268+
Assert-AreEqual $rule.SchemaName "DBO"
264269
Assert-AreEqual $rule.TableName $params.table1
265270
Assert-AreEqual $rule.ColumnName $params.column1
266271
Assert-AreEqual $rule.PrefixSize 1
267272
Assert-AreEqual $rule.ReplacementString "AAA"
268273
Assert-AreEqual $rule.SuffixSize 3
269274

270-
Set-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -TableName $params.table2 -ColumnName $params.column2 -PrefixSize 4 -ReplacementString "BBB" -SuffixSize 2
275+
Set-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -SchemaName "DBO" -TableName $params.table2 -ColumnName $params.column2 -PrefixSize 4 -ReplacementString "BBB" -SuffixSize 2
271276
$rule = Get-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId
272277

273278
# Assert
@@ -276,6 +281,7 @@ function Test-DatabaseDataMaskingTextRuleLifecycle
276281
Assert-AreEqual $rule.DatabaseName $params.databaseName
277282
Assert-AreEqual $rule.RuleId $ruleId
278283
Assert-AreEqual $rule.MaskingFunction "Text"
284+
Assert-AreEqual $rule.SchemaName "DBO"
279285
Assert-AreEqual $rule.TableName $params.table2
280286
Assert-AreEqual $rule.ColumnName $params.column2
281287
Assert-AreEqual $rule.PrefixSize 4
@@ -317,19 +323,19 @@ function Test-DatabaseDataMaskingRuleCreationFailures
317323
# Test
318324
Set-AzureSqlDatabaseDataMaskingPolicy -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName
319325
# Assert
320-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName "NONEXISTING" -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -TableName $params.table1 -ColumnName $params.column1}
321-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName "NONEXISTING" -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -TableName $params.table1 -ColumnName $params.column1}
322-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName "NONEXISTING" -RuleId $ruleId -MaskingFunction "Default" -TableName $params.table1 -ColumnName $params.column1}
323-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -MaskingFunction "Default" -TableName $params.table1 -ColumnName $params.column1}
324-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "NONEXISTING" -TableName $params.table1 -ColumnName $params.column1}
326+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName "NONEXISTING" -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1}
327+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName "NONEXISTING" -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1}
328+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName "NONEXISTING" -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1}
329+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1}
330+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "NONEXISTING" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1}
325331
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default"}
326-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -ColumnName $params.column1}
327-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -TableName $params.table1}
328-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Number" $params.table1 -ColumnName $params.column1 -NumberFrom 2 -NumberTo 1}
332+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -ColumnName $params.column1}
333+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1}
334+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Number" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1 -NumberFrom 2 -NumberTo 1}
329335

330-
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -TableName $params.table1 -ColumnName $params.column1
331-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -TableName $params.table2 -ColumnName $params.column2}
332-
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId "SHOULD-FAIL" -MaskingFunction "Default" -TableName $params.table1 -ColumnName $params.column1}
336+
New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1
337+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table2 -ColumnName $params.column2}
338+
Assert-Throws { New-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId "SHOULD-FAIL" -MaskingFunction "Default" -SchemaName "DBO" -TableName $params.table1 -ColumnName $params.column1}
333339

334340
Remove-AzureSqlDatabaseDataMaskingRule -ResourceGroupName $params.rgname -ServerName $params.serverName -DatabaseName $params.databaseName -RuleId $ruleId -Force
335341
}

0 commit comments

Comments
 (0)