protected override DatabaseAuditModel PersistChanges(DatabaseAuditModel entity)
 {
     entity.BlobStorageTargetState  = AuditStateType.Disabled;
     entity.EventHubTargetState     = AuditStateType.Disabled;
     entity.LogAnalyticsTargetState = AuditStateType.Disabled;
     ModelAdapter.PersistAuditChanges(entity);
     return(null);
 }
        internal void GetAuditingSettings(
            string resourceGroup, string serverName, string databaseName,
            DatabaseAuditModel model)
        {
            ExtendedDatabaseBlobAuditingPolicy policy = Communicator.GetAuditingPolicy(resourceGroup, serverName, databaseName);

            model.DiagnosticsEnablingAuditCategory =
                Communicator.GetDiagnosticsEnablingAuditCategory(out string nextDiagnosticSettingsName,
                                                                 resourceGroup, serverName, databaseName);
            model.NextDiagnosticSettingsName = nextDiagnosticSettingsName;
            ModelizeDatabaseAuditPolicy(model, policy);
        }
 private void ModelizeDatabaseAuditPolicy(
     DatabaseAuditModel model,
     ExtendedDatabaseBlobAuditingPolicy policy)
 {
     model.IsAzureMonitorTargetEnabled = policy.IsAzureMonitorTargetEnabled;
     model.PredicateExpression         = policy.PredicateExpression;
     model.AuditActionGroup            = ExtractAuditActionGroups(policy.AuditActionsAndGroups);
     model.AuditAction = ExtractAuditActions(policy.AuditActionsAndGroups);
     ModelizeStorageInfo(model, policy.StorageEndpoint, policy.IsStorageSecondaryKeyInUse, policy.StorageAccountSubscriptionId,
                         IsAuditEnabled(policy.State), policy.RetentionDays);
     DetermineTargetsState(model, policy.State);
 }
        private bool SetAudit(DatabaseAuditModel model)
        {
            ValidateDatabaseInServiceTierForPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName);

            if (string.IsNullOrEmpty(model.PredicateExpression))
            {
                DatabaseBlobAuditingPolicy policy = new DatabaseBlobAuditingPolicy();
                PolicizeAuditModel(model, policy);
                return(Communicator.SetAuditingPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName, policy));
            }
            else
            {
                ExtendedDatabaseBlobAuditingPolicy policy = new ExtendedDatabaseBlobAuditingPolicy
                {
                    PredicateExpression = model.PredicateExpression
                };

                PolicizeAuditModel(model, policy);
                return(Communicator.SetExtendedAuditingPolicy(model.ResourceGroupName, model.ServerName, model.DatabaseName, policy));
            }
        }
Exemple #5
0
 protected override DatabaseAuditModel PersistChanges(DatabaseAuditModel entity)
 {
     ModelAdapter.PersistAuditChanges(entity);
     return(null);
 }
Exemple #6
0
        protected override DatabaseAuditModel ApplyUserInputToModel(DatabaseAuditModel model)
        {
            base.ApplyUserInputToModel(model);

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

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

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

            if (BlobStorageTargetState != null)
            {
                model.BlobStorageTargetState = BlobStorageTargetState == SecurityConstants.Enabled ?
                                               AuditStateType.Enabled : AuditStateType.Disabled;
            }

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

            if (MyInvocation.BoundParameters.ContainsKey(SecurityConstants.StorageKeyType))
            {
                model.StorageKeyType = (StorageKeyType == SecurityConstants.Primary) ? StorageKeyKind.Primary : StorageKeyKind.Secondary;
            }

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

            if (EventHubTargetState != null)
            {
                model.EventHubTargetState = EventHubTargetState == SecurityConstants.Enabled ?
                                            AuditStateType.Enabled : AuditStateType.Disabled;
            }

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

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

            if (LogAnalyticsTargetState != null)
            {
                model.LogAnalyticsTargetState = LogAnalyticsTargetState == SecurityConstants.Enabled ?
                                                AuditStateType.Enabled : AuditStateType.Disabled;
            }

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

            return(model);
        }