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; } }
/// <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); }
/// <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); }
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); }
/// <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; }
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; }
/// <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; }