Skip to content

Commit 5d9d398

Browse files
OlegSternbergIBMOleg Sternberg
andauthored
Fix predicate expression for server audit (#14063)
* fix PredicateExpression for server audit policy * re-record all audit tests to avoid regression * updated ChangeLog.md * Make build change * Undo make build change Co-authored-by: Oleg Sternberg <[email protected]>
1 parent 350cead commit 5d9d398

File tree

45 files changed

+32170
-31211
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+32170
-31211
lines changed

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestAuditOnDatabase.json

Lines changed: 1069 additions & 1027 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestAuditOnServer.json

Lines changed: 1298 additions & 1157 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditDatabaseRetentionKeepProperties.json

Lines changed: 652 additions & 610 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditDatabaseStorageKeyRotation.json

Lines changed: 724 additions & 682 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditDatabaseUpdatePolicyKeepPreviousStorage.json

Lines changed: 578 additions & 596 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditDatabaseUpdatePolicyWithSameNameStorageOnDifferentRegion.json

Lines changed: 644 additions & 659 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditDatabaseUpdatePolicyWithStorage.json

Lines changed: 640 additions & 609 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditDisableDatabaseAudit.json

Lines changed: 700 additions & 595 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditDisableServerAudit.json

Lines changed: 570 additions & 516 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditFailWithBadDatabaseIndentity.json

Lines changed: 551 additions & 383 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditFailWithBadServerIndentity.json

Lines changed: 422 additions & 440 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditFailedDatabaseUpdatePolicyWithNoStorage.json

Lines changed: 386 additions & 401 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditFailedServerUpdatePolicyWithNoStorage.json

Lines changed: 394 additions & 352 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditOnDatabase.json

Lines changed: 777 additions & 672 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditOnServer.json

Lines changed: 684 additions & 681 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditServerRetentionKeepProperties.json

Lines changed: 707 additions & 647 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditServerStorageKeyRotation.json

Lines changed: 784 additions & 721 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditServerUpdatePolicyKeepPreviousStorage.json

Lines changed: 615 additions & 618 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditServerUpdatePolicyWithStorage.json

Lines changed: 494 additions & 569 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestBlobAuditWithAuditActionGroups.json

Lines changed: 1243 additions & 1237 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestDatabaseAuditingToStorageInVNet.json

Lines changed: 671 additions & 815 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestExtendedAuditOnDatabase.json

Lines changed: 944 additions & 956 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestExtendedAuditOnServer.json

Lines changed: 1051 additions & 970 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportAuditOnServer.json

Lines changed: 1169 additions & 1211 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportBlobAuditDisableServerAudit.json

Lines changed: 576 additions & 765 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportBlobAuditFailWithBadServerIndentity.json

Lines changed: 433 additions & 391 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportBlobAuditFailedServerUpdatePolicyWithNoStorage.json

Lines changed: 381 additions & 459 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportBlobAuditOnServer.json

Lines changed: 697 additions & 757 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportBlobAuditServerUpdatePolicyKeepPreviousStorage.json

Lines changed: 602 additions & 548 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportBlobAuditServerUpdatePolicyWithStorage.json

Lines changed: 623 additions & 449 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportNewServerAuditDiagnosticsAreCreatedOnNeed.json

Lines changed: 1643 additions & 1439 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportRemoveAuditOnServer.json

Lines changed: 951 additions & 945 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportRemoveServerAuditingSettingsMultipleDiagnosticSettings.json

Lines changed: 726 additions & 672 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestMSSupportServerAuditingToStorageInVNet.json

Lines changed: 704 additions & 944 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestNewDatabaseAuditDiagnosticsAreCreatedOnNeed.json

Lines changed: 1488 additions & 1389 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestNewServerAuditDiagnosticsAreCreatedOnNeed.json

Lines changed: 1441 additions & 1357 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestRemoveAuditOnDatabase.json

Lines changed: 888 additions & 846 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestRemoveAuditOnServer.json

Lines changed: 1001 additions & 935 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestRemoveDatabaseAuditingSettingsMultipleDiagnosticSettings.json

Lines changed: 700 additions & 658 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestRemoveServerAuditingSettingsMultipleDiagnosticSettings.json

Lines changed: 737 additions & 683 deletions
Large diffs are not rendered by default.

src/Sql/Sql.Test/SessionRecords/Microsoft.Azure.Commands.Sql.Test.ScenarioTests.AuditTests/TestServerAuditingToStorageInVNet.json

Lines changed: 778 additions & 832 deletions
Large diffs are not rendered by default.

src/Sql/Sql/Auditing/Cmdlet/SetAzSqlDatabaseAudit.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ protected override DatabaseAuditModel ApplyUserInputToModel(DatabaseAuditModel m
127127

128128
if (PredicateExpression != null)
129129
{
130-
model.PredicateExpression = PredicateExpression = PredicateExpression;
130+
model.PredicateExpression = PredicateExpression;
131131
}
132132

133133
if (BlobStorageTargetState != null)

src/Sql/Sql/Auditing/Cmdlet/SetAzSqlServerAudit.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,26 @@ protected override ServerAuditModel ApplyUserInputToModel(ServerAuditModel model
5858
{
5959
base.ApplyUserInputToModel(model);
6060

61+
if (AuditActionGroup != null)
62+
{
63+
model.AuditActionGroup = AuditActionGroup;
64+
}
65+
66+
if (PredicateExpression != null)
67+
{
68+
model.PredicateExpression = PredicateExpression;
69+
}
70+
6171
if (MyInvocation.BoundParameters.ContainsKey(SecurityConstants.StorageKeyType))
6272
{
6373
model.StorageKeyType = (StorageKeyType == SecurityConstants.Primary) ? StorageKeyKind.Primary : StorageKeyKind.Secondary;
6474
}
6575

76+
if (RetentionInDays != null)
77+
{
78+
model.RetentionInDays = RetentionInDays;
79+
}
80+
6681
return model;
6782
}
6883

src/Sql/Sql/Auditing/Services/SqlAuditAdapter.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -99,23 +99,6 @@ internal void ModelizeAuditPolicy(AuditModelType model,
9999
DetermineTargetsState(model, state);
100100
}
101101

102-
internal string[] ExtractAuditActions(IEnumerable<string> auditActionsAndGroups)
103-
{
104-
var actions = new List<string>();
105-
if (auditActionsAndGroups != null)
106-
{
107-
auditActionsAndGroups.ForEach(item =>
108-
{
109-
if (!Enum.TryParse(item, true, out AuditActionGroups group))
110-
{
111-
actions.Add(item);
112-
}
113-
});
114-
}
115-
116-
return actions.ToArray();
117-
}
118-
119102
internal virtual void ModelizeStorageKeyType(AuditModelType model, bool? isSecondary) { }
120103

121104
internal virtual void ModelizeRetentionInfo(AuditModelType model, int? retentionDays) { }
@@ -932,6 +915,23 @@ protected override void PolicizeAuditModel(DatabaseAuditModel model, ProxyResour
932915
dynamicPolicy.AuditActionsAndGroups = ExtractAuditActionsAndGroups(model.AuditActionGroup, model.AuditAction);
933916
}
934917

918+
private string[] ExtractAuditActions(IEnumerable<string> auditActionsAndGroups)
919+
{
920+
var actions = new List<string>();
921+
if (auditActionsAndGroups != null)
922+
{
923+
auditActionsAndGroups.ForEach(item =>
924+
{
925+
if (!Enum.TryParse(item, true, out AuditActionGroups group))
926+
{
927+
actions.Add(item);
928+
}
929+
});
930+
}
931+
932+
return actions.ToArray();
933+
}
934+
935935
internal string DatabaseName { get; set; }
936936
}
937937

src/Sql/Sql/ChangeLog.md

Lines changed: 1 addition & 0 deletions

0 commit comments

Comments
 (0)