Exemplo n.º 1
0
 /// <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"
     };
 }
Exemplo n.º 2
0
        /// <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 && (model.AuditState == AuditStateType.Enabled))
            {
                properties.StorageEndpoint         = ExtractStorageAccountName(model, storageEndpointSuffix);
                properties.StorageAccountAccessKey = Subscription.GetId().Equals(model.StorageAccountSubscriptionId) ?
                                                     ExtractStorageAccountKey(model.StorageAccountName, model.StorageKeyType) :
                                                     ExtractStorageAccountKey(model.StorageAccountSubscriptionId, model.StorageAccountName, model.StorageKeyType);
                properties.IsStorageSecondaryKeyInUse   = model.StorageKeyType == StorageKeyKind.Secondary;
                properties.StorageAccountSubscriptionId = Subscription.GetId().Equals(model.StorageAccountSubscriptionId) ?
                                                          ExtractStorageAccountSubscriptionId(model.StorageAccountName) : model.StorageAccountSubscriptionId.ToString();
            }
            properties.AuditActionsAndGroups = ExtractAuditActionsAndGroups(model);
            if (model.RetentionInDays != null)
            {
                properties.RetentionDays = (int)model.RetentionInDays;
            }

            return(updateParameters);
        }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
 /// <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))));
     }
 }
Exemplo n.º 5
0
        /// <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);
        }