private void ApplyUserInputToBlobAuditingModel(DatabaseBlobAuditingPolicyModel model)
        {
            model.AuditState = AuditStateType.Enabled;
            if (RetentionInDays != null)
            {
                model.RetentionInDays = RetentionInDays;
            }

            if (StorageAccountName != null)
            {
                model.StorageAccountName = StorageAccountName;
            }

            if (MyInvocation.BoundParameters.ContainsKey(SecurityConstants.StorageKeyType))
            {
                // the user enter a key type - we use it (and override the previously defined key type)
                model.StorageKeyType = (StorageKeyType == SecurityConstants.Primary)
                    ? StorageKeyKind.Primary
                    : StorageKeyKind.Secondary;
            }

            if (AuditActionGroup != null && AuditActionGroup.Length != 0)
            {
                model.AuditActionGroup = AuditActionGroup;
            }

            if (AuditAction != null && AuditAction.Length != 0)
            {
                model.AuditAction = AuditAction;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint
        /// </summary>
        public void SetDatabaseAuditingPolicy(DatabaseBlobAuditingPolicyModel model, string clientId, string storageEndpointSuffix)
        {
            if (!IsDatabaseInServiceTierForPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName, clientId))
            {
                throw new Exception(Properties.Resources.DatabaseNotInServiceTierForAuditingPolicy);
            }
            var parameters = PolicizeBlobAuditingModel(model, storageEndpointSuffix);

            Communicator.SetDatabaseAuditingPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName, clientId, parameters);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint
 /// </summary>
 public void SetDatabaseAuditingPolicy(DatabaseBlobAuditingPolicyModel model, string storageEndpointSuffix)
 {
     if (!IsDatabaseInServiceTierForPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName))
     {
         throw new Exception(Properties.Resources.DatabaseNotInServiceTierForAuditingPolicy);
     }
     Management.Sql.Models.DatabaseBlobAuditingPolicy policy = new Management.Sql.Models.DatabaseBlobAuditingPolicy();
     PolicizeBlobAuditingModel(model, storageEndpointSuffix, policy);
     Communicator.SetDatabaseAuditingPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName, policy);
 }
Exemplo n.º 4
0
        private DatabaseBlobAuditingPolicyModel ModelizeDatabaseAuditPolicy(BlobAuditingPolicy policy)
        {
            var dbPolicyModel = new DatabaseBlobAuditingPolicyModel();
            var properties    = policy.Properties;

            dbPolicyModel.AuditState = ModelizeAuditState(properties.State);
            ModelizeStorageInfo(dbPolicyModel, properties.StorageEndpoint, properties.IsStorageSecondaryKeyInUse);
            ModelizeAuditActionsAndGroupsInfo(dbPolicyModel, properties.AuditActionsAndGroups);
            ModelizeRetentionInfo(dbPolicyModel, properties.RetentionDays);
            return(dbPolicyModel);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Provides a database audit policy model for the given database
        /// </summary>
        public void GetDatabaseAuditingPolicy(string resourceGroup, string serverName, string databaseName, out DatabaseBlobAuditingPolicyModel model)
        {
            BlobAuditingPolicy policy;

            Communicator.GetDatabaseAuditingPolicy(resourceGroup, serverName, databaseName, out policy);
            model = new DatabaseBlobAuditingPolicyModel();
            ModelizeDatabaseAuditPolicy(policy, model);
            model.AuditType         = AuditType.Blob;
            model.ResourceGroupName = resourceGroup;
            model.ServerName        = serverName;
            model.DatabaseName      = databaseName;
        }
Exemplo n.º 6
0
        private void ModelizeAuditActions(DatabaseBlobAuditingPolicyModel policyModel, IEnumerable <string> auditActionsAndGroups)
        {
            var actions = new List <string>();

            auditActionsAndGroups.ForEach(item =>
            {
                AuditActionGroups group;
                if (!Enum.TryParse(item, true, out group))
                {
                    actions.Add(item);
                }
            });
            policyModel.AuditAction = actions.ToArray();
        }
        private AuditingPolicyModel GetEntityHelper()
        {
            if (AuditType == AuditType.Table)
            {
                DatabaseAuditingPolicyModel model;
                ModelAdapter.GetDatabaseAuditingPolicy(ResourceGroupName, ServerName, DatabaseName, out model);
                return(model);
            }

            if (AuditType == AuditType.Blob)
            {
                DatabaseBlobAuditingPolicyModel blobModel = new DatabaseBlobAuditingPolicyModel
                {
                    AuditType = AuditType.Blob
                };
                ModelAdapter.GetDatabaseBlobAuditingPolicy(ResourceGroupName, ServerName, DatabaseName, blobModel);
                return(blobModel);
            }

            return(null);
        }
        private void ApplyUserInputToBlobAuditingModel(DatabaseBlobAuditingPolicyModel model)
        {
            model.AuditState = AuditStateType.Enabled;
            if (RetentionInDays != null)
            {
                model.RetentionInDays = RetentionInDays;
            }
            if (StorageAccountName != null)
            {
                model.StorageAccountName = StorageAccountName;
            }

            if (AuditActionGroup != null && AuditActionGroup.Length != 0)
            {
                model.AuditActionGroup = AuditActionGroup;
            }

            if (AuditAction != null && AuditAction.Length != 0)
            {
                model.AuditAction = AuditAction;
            }
        }
 private void ApplyUserInputToBlobAuditingModel(DatabaseBlobAuditingPolicyModel model)
 {
     model.AuditState = AuditStateType.Disabled;
 }
Exemplo n.º 10
0
        /// <summary>
        /// Provides a database audit policy model for the given database
        /// </summary>
        public void GetDatabaseAuditingPolicy(string resourceGroup, string serverName, string databaseName, string requestId, out DatabaseBlobAuditingPolicyModel model)
        {
            BlobAuditingPolicy policy;

            Communicator.GetDatabaseAuditingPolicy(resourceGroup, serverName, databaseName, requestId, out policy);
            var dbPolicyModel = ModelizeDatabaseAuditPolicy(policy);

            dbPolicyModel.ResourceGroupName = resourceGroup;
            dbPolicyModel.ServerName        = serverName;
            dbPolicyModel.DatabaseName      = databaseName;

            model = dbPolicyModel;
        }