Skip to content

Commit cdba402

Browse files
committed
Audit cmdlets to read storage endoints from env
1 parent 08ede14 commit cdba402

File tree

9 files changed

+21
-42
lines changed

9 files changed

+21
-42
lines changed

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/AuditingTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void TestAuditingDatabaseUpdatePolicyWithStorage()
4949
RunPowerShellTest("Test-AuditingDatabaseUpdatePolicyWithStorage");
5050
}
5151

52-
[Fact(Skip = "PSGet: TODO fix by moving SM specific logic to test setup")]
52+
[Fact]
5353
[Trait(Category.AcceptanceType, Category.Sql)]
5454
public void TestAuditingDatabaseUpdatePolicyWithStorageV2()
5555
{
@@ -62,7 +62,7 @@ public void TestAuditingServerUpdatePolicyWithStorage()
6262
RunPowerShellTest("Test-AuditingServerUpdatePolicyWithStorage");
6363
}
6464

65-
[Fact(Skip = "PSGet: TODO fix by moving SM specific logic to test setup")]
65+
[Fact]//(Skip = "PSGet: TODO fix by moving SM specific logic to test setup")]
6666
[Trait(Category.AcceptanceType, Category.Sql)]
6767
public void TestAuditingDatabaseUpdatePolicyWithEventTypes()
6868
{

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Tests that when setting the storage account property's value in a database's aud
2020
function Test-AuditingDatabaseUpdatePolicyWithStorageV2
2121
{
2222
# Setup
23-
$testSuffix = 102
23+
$testSuffix = 1029
2424
Create-TestEnvironmentWithStorageV2 $testSuffix
2525
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
2626

@@ -215,7 +215,7 @@ Tests that when modifying the eventType property of a databases's auditing polic
215215
function Test-AuditingDatabaseUpdatePolicyWithEventTypes
216216
{
217217
# Setup
218-
$testSuffix = 501
218+
$testSuffix = 5011
219219
Create-TestEnvironment $testSuffix
220220
$params = Get-SqlAuditingTestEnvironmentParameters $testSuffix
221221

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ function Create-TestEnvironmentWithParams ($params)
6363
{
6464
New-AzureRmResourceGroup -Name $params.rgname -Location "West US" -Force
6565
New-AzureRmResourceGroupDeployment -ResourceGroupName $params.rgname -TemplateFile ".\Templates\sql-audit-test-env-setup.json" -serverName $params.serverName -databaseName $params.databaseName -EnvLocation "West US" -Force
66-
New-AzureRmStorageAccount -Name $params.storageAccount -Location "West US" -ResourceGroupName $params.rgname -Type "Standard_GRS"
66+
Azure\New-AzureStorageAccount -Name $params.storageAccount -Location "West US" -Type "Standard_GRS"
6767
}
6868

6969
<#

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/SqlEvnSetupHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public void SetupEnvironment()
9292

9393
var environment = AzureRmProfileProvider.Instance.Profile.Environments[AzureRmProfileProvider.Instance.Profile.Context.Subscription.Environment];
9494
environment.Endpoints[AzureEnvironment.Endpoint.Graph] = csmEnvironment.Endpoints.GraphUri.AbsoluteUri;
95-
95+
environment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix] = "core.windows.net";
9696
AzureRmProfileProvider.Instance.Profile.Save();
9797
}
9898
}

src/ResourceManager/Sql/Commands.Sql.Test/ScenarioTests/SqlTestsBase.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ protected void RunPowerShellTest(params string[] scripts)
7070

7171
helper.SetupEnvironment();
7272

73-
helper.SetupModules(AzureModule.AzureResourceManager,
73+
helper.SetupModules(AzureModule.AzureServiceManagement,
7474
"ScenarioTests\\Common.ps1",
7575
"ScenarioTests\\" + this.GetType().Name + ".ps1",
7676
helper.RMProfileModule,
@@ -80,6 +80,8 @@ protected void RunPowerShellTest(params string[] scripts)
8080
helper.GetRMModulePath(@"AzureRM.Insights.psd1"),
8181
helper.GetRMModulePath(@"AzureRM.Sql.psd1"));
8282

83+
84+
8385
helper.RunPowerShellTest(scripts);
8486
}
8587
}

src/ResourceManager/Sql/Commands.Sql/Auditing/Cmdlet/SqlDatabaseAuditingCmdletBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ protected override SqlAuditAdapter InitModelAdapter(AzureSubscription subscripti
5050
/// <param name="model">The model object with the data to be sent to the REST endpoints</param>
5151
protected override DatabaseAuditingPolicyModel PersistChanges(DatabaseAuditingPolicyModel model)
5252
{
53-
ModelAdapter.SetDatabaseAuditingPolicy(model, clientRequestId);
53+
ModelAdapter.SetDatabaseAuditingPolicy(model, clientRequestId, DefaultContext.Environment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix]);
5454
return null;
5555
}
5656
}

src/ResourceManager/Sql/Commands.Sql/Auditing/Cmdlet/SqlDatabaseServerAuditingCmdletBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ protected override SqlAuditAdapter InitModelAdapter(AzureSubscription subscripti
5858
/// <param name="model">The model object with the data to be sent to the REST endpoints</param>
5959
protected override ServerAuditingPolicyModel PersistChanges(ServerAuditingPolicyModel model)
6060
{
61-
ModelAdapter.SetServerAuditingPolicy(model, clientRequestId);
61+
ModelAdapter.SetServerAuditingPolicy(model, clientRequestId, DefaultContext.Environment.Endpoints[AzureEnvironment.Endpoint.StorageEndpointSuffix]);
6262
return null;
6363
}
6464
}

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -243,22 +243,22 @@ private void ModelizeRetentionInfo(BaseAuditingPolicyModel model, string retenti
243243
/// <summary>
244244
/// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint
245245
/// </summary>
246-
public void SetServerAuditingPolicy(ServerAuditingPolicyModel model, String clientId)
246+
public void SetServerAuditingPolicy(ServerAuditingPolicyModel model, String clientId, string storageEndpointSuffix)
247247
{
248-
ServerAuditingPolicyCreateOrUpdateParameters parameters = PolicizeServerAuditingModel(model);
248+
ServerAuditingPolicyCreateOrUpdateParameters parameters = PolicizeServerAuditingModel(model, storageEndpointSuffix);
249249
Communicator.SetServerAuditingPolicy(model.ResourceGroupName, model.ServerName, clientId, parameters);
250250
}
251251

252252
/// <summary>
253253
/// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint
254254
/// </summary>
255-
public void SetDatabaseAuditingPolicy(DatabaseAuditingPolicyModel model, String clientId)
255+
public void SetDatabaseAuditingPolicy(DatabaseAuditingPolicyModel model, String clientId, string storageEndpointSuffix)
256256
{
257257
if (!IsDatabaseInServiceTierForPolicy(model, clientId))
258258
{
259259
throw new Exception(Microsoft.Azure.Commands.Sql.Properties.Resources.DatabaseNotInServiceTierForAuditingPolicy);
260260
}
261-
DatabaseAuditingPolicyCreateOrUpdateParameters parameters = PolicizeDatabaseAuditingModel(model);
261+
DatabaseAuditingPolicyCreateOrUpdateParameters parameters = PolicizeDatabaseAuditingModel(model, storageEndpointSuffix);
262262
Communicator.SetDatabaseAuditingPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName, clientId, parameters);
263263
}
264264

@@ -280,7 +280,7 @@ private bool IsDatabaseInServiceTierForPolicy(DatabaseAuditingPolicyModel model,
280280
/// </summary>
281281
/// <param name="model">The AuditingPolicy model object</param>
282282
/// <returns>The communication model object</returns>
283-
private DatabaseAuditingPolicyCreateOrUpdateParameters PolicizeDatabaseAuditingModel(DatabaseAuditingPolicyModel model)
283+
private DatabaseAuditingPolicyCreateOrUpdateParameters PolicizeDatabaseAuditingModel(DatabaseAuditingPolicyModel model, string storageEndpointSuffix)
284284
{
285285
DatabaseAuditingPolicyCreateOrUpdateParameters updateParameters = new DatabaseAuditingPolicyCreateOrUpdateParameters();
286286
DatabaseAuditingPolicyProperties properties = new DatabaseAuditingPolicyProperties();
@@ -290,7 +290,7 @@ private DatabaseAuditingPolicyCreateOrUpdateParameters PolicizeDatabaseAuditingM
290290
properties.StorageAccountName = ExtractStorageAccountName(model);
291291
properties.StorageAccountResourceGroupName = ExtractStorageAccountResourceGroup(properties.StorageAccountName);
292292
properties.StorageAccountSubscriptionId = ExtractStorageAccountSubscriptionId(properties.StorageAccountName);
293-
properties.StorageTableEndpoint = ExtractStorageAccountTableEndpoint(properties.StorageAccountName);
293+
properties.StorageTableEndpoint = ExtractStorageAccountTableEndpoint(properties.StorageAccountName, storageEndpointSuffix);
294294
properties.StorageAccountKey = ExtractStorageAccountKey(properties.StorageAccountName, model, properties.StorageAccountResourceGroupName, StorageKeyKind.Primary);
295295
properties.StorageAccountSecondaryKey = ExtractStorageAccountKey(properties.StorageAccountName, model, properties.StorageAccountResourceGroupName, StorageKeyKind.Secondary);
296296
properties.EventTypesToAudit = ExtractEventTypes(model);
@@ -304,7 +304,7 @@ private DatabaseAuditingPolicyCreateOrUpdateParameters PolicizeDatabaseAuditingM
304304
/// </summary>
305305
/// <param name="model">The AuditingPolicy model object</param>
306306
/// <returns>The communication model object</returns>
307-
private ServerAuditingPolicyCreateOrUpdateParameters PolicizeServerAuditingModel(ServerAuditingPolicyModel model)
307+
private ServerAuditingPolicyCreateOrUpdateParameters PolicizeServerAuditingModel(ServerAuditingPolicyModel model, string storageEndpointSuffix)
308308
{
309309
ServerAuditingPolicyCreateOrUpdateParameters updateParameters = new ServerAuditingPolicyCreateOrUpdateParameters();
310310
ServerAuditingPolicyProperties properties = new ServerAuditingPolicyProperties();
@@ -313,7 +313,7 @@ private ServerAuditingPolicyCreateOrUpdateParameters PolicizeServerAuditingModel
313313
properties.StorageAccountName = ExtractStorageAccountName(model);
314314
properties.StorageAccountResourceGroupName = ExtractStorageAccountResourceGroup(properties.StorageAccountName);
315315
properties.StorageAccountSubscriptionId = ExtractStorageAccountSubscriptionId(properties.StorageAccountName);
316-
properties.StorageTableEndpoint = ExtractStorageAccountTableEndpoint(properties.StorageAccountName);
316+
properties.StorageTableEndpoint = ExtractStorageAccountTableEndpoint(properties.StorageAccountName, storageEndpointSuffix);
317317
properties.StorageAccountKey = ExtractStorageAccountKey(properties.StorageAccountName, model, properties.StorageAccountResourceGroupName, StorageKeyKind.Primary);
318318
properties.StorageAccountSecondaryKey = ExtractStorageAccountKey(properties.StorageAccountName, model, properties.StorageAccountResourceGroupName, StorageKeyKind.Secondary);
319319
properties.EventTypesToAudit = ExtractEventTypes(model);
@@ -421,7 +421,7 @@ private bool IsEventTypeOn(AuditEventType lookedForType, AuditEventType[] userSe
421421
/// <summary>
422422
/// Extracts the storage account endpoint
423423
/// </summary>
424-
private string ExtractStorageAccountTableEndpoint(string storageName)
424+
private string ExtractStorageAccountTableEndpoint(string storageName, string endpointSuffix)
425425
{
426426
if (IgnoreStorage)
427427
{
@@ -431,7 +431,7 @@ private string ExtractStorageAccountTableEndpoint(string storageName)
431431
{
432432
return FetchedStorageAccountTableEndpoint;
433433
}
434-
return AzureCommunicator.GetStorageTableEndpoint(Context, storageName);
434+
return string.Format("https://{0}.table.{1}", storageName, endpointSuffix);
435435
}
436436

437437
/// <summary>

src/ResourceManager/Sql/Commands.Sql/Common/AzureEndpointsCommunicator.cs

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -199,29 +199,6 @@ public string GetStorageResourceGroup(string storageAccountName)
199199
}
200200
}
201201

202-
/// <summary>
203-
/// Gets the storage table endpoint the given storage account
204-
/// </summary>
205-
public string GetStorageTableEndpoint(AzureContext context, string storageAccountName)
206-
{
207-
try
208-
{
209-
List<Uri> endpoints = new List<Uri>(GetCurrentStorageClient(context).StorageAccounts.Get(storageAccountName).StorageAccount.Properties.Endpoints);
210-
return endpoints.Find(u => u.AbsoluteUri.Contains(".table.")).AbsoluteUri;
211-
}
212-
catch
213-
{
214-
try
215-
{
216-
return GetCurrentStorageV2Client(context).StorageAccounts.List().StorageAccounts.Where(a => a.Name == storageAccountName).First().PrimaryEndpoints.Table.AbsoluteUri;
217-
}
218-
catch
219-
{
220-
throw new Exception(string.Format(Microsoft.Azure.Commands.Sql.Properties.Resources.StorageAccountNotFound, storageAccountName));
221-
}
222-
}
223-
}
224-
225202
/// <summary>
226203
/// Lazy creation of a single instance of a storage client
227204
/// </summary>

0 commit comments

Comments
 (0)