/// <summary> /// Initializes a new instance of the /// BlobAuditingCreateOrUpdateParameters class with required arguments. /// </summary> public BlobAuditingCreateOrUpdateParameters(BlobAuditingProperties properties) : this() { if (properties == null) { throw new ArgumentNullException("properties"); } this.Properties = properties; }
/// <summary> /// Initializes a new instance of the /// BlobAuditingCreateOrUpdateParameters class with required arguments. /// </summary> public BlobAuditingCreateOrUpdateParameters(BlobAuditingProperties properties) : this() { if (properties == null) { throw new ArgumentNullException("properties"); } this.Properties = properties; }
/// <summary> /// Creates and returns a BlobAuditingProperties object that holds the default settings for a database blob auditing policy /// </summary> /// <returns>A BlobAuditingProperties object with the default audit policy settings</returns> private BlobAuditingProperties GetDefaultBlobAuditProperties() { BlobAuditingProperties props = new BlobAuditingProperties { State = "Disabled", RetentionDays = 0, StorageAccountAccessKey = "", StorageEndpoint = "" }; return props; }
/// <summary> /// Verify that the received properties match their expected values /// </summary> /// <param name="expected">The expected value of the properties object</param> /// <param name="actual">The properties object that needs to be checked</param> private static void VerifyAuditingPolicyInformation(BlobAuditingProperties expected, BlobAuditingProperties actual) { Assert.Equal(expected.State, actual.State); Assert.Equal(expected.RetentionDays, actual.RetentionDays); Assert.Equal(expected.StorageEndpoint, actual.StorageEndpoint); Assert.Equal(expected.StorageAccountAccessKey, actual.StorageAccountAccessKey); if (expected.AuditActionsAndGroups == null) { Assert.Equal(actual.AuditActionsAndGroups, null); } else { Assert.Equal(expected.AuditActionsAndGroups.Count, actual.AuditActionsAndGroups.Count); actual.AuditActionsAndGroups.ForEach(s => Assert.True(expected.AuditActionsAndGroups.Any(es => es.Equals(s)))); } }
/// <summary> /// Takes the cmdlets model object and transform it to the policy as expected by the endpoint /// </summary> /// <param name="model">The AuditingPolicy model object</param> /// <param name="storageEndpointSuffix">The suffix of the storage endpoint</param> /// <returns>The communication model object</returns> private BlobAuditingCreateOrUpdateParameters PolicizeBlobAuditingModel(BaseBlobAuditingPolicyModel model, string storageEndpointSuffix) { var updateParameters = new BlobAuditingCreateOrUpdateParameters(); var properties = new BlobAuditingProperties(); updateParameters.Properties = properties; properties.State = model.AuditState.ToString(); if (!IgnoreStorage) { properties.StorageEndpoint = ExtractStorageAccountName(model, storageEndpointSuffix); properties.StorageAccountAccessKey = ExtractStorageAccountKey(model.StorageAccountName); } properties.AuditActionsAndGroups = ExtractAuditActionsAndGroups(model); properties.RetentionDays = (int) model.RetentionInDays; return updateParameters; }
/// <summary> /// Changes the server auditing policy with new values /// </summary> private void ChangeBlobAuditPolicy(BlobAuditingProperties properties) { properties.RetentionDays = 10; properties.AuditActionsAndGroups = new List<string>{ "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP" }; }