/// <summary> /// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint /// </summary> public void SetServerThreatDetectionPolicy(ServerThreatDetectionPolicyModel model, string storageEndpointSuffix) { if (model.ThreatDetectionState == ThreatDetectionStateType.Enabled && !IsRightServerVersionForThreatDetection(model.ResourceGroupName, model.ServerName)) { throw new Exception(Properties.Resources.ServerNotApplicableForThreatDetection); } var serverSecurityAlertPolicyParameters = PolicizeServerSecurityAlertModel(model, storageEndpointSuffix); ThreatDetectionCommunicator.SetServerSecurityAlertPolicy(model.ResourceGroupName, model.ServerName, serverSecurityAlertPolicyParameters); }
/// <summary> /// Transforms the given model to its endpoints acceptable structure and sends it to the endpoint /// </summary> public void SetServerThreatDetectionPolicy(ServerThreatDetectionPolicyModel model, string clientId) { if (model.ThreatDetectionState == ThreatDetectionStateType.Enabled) { if (!IsRightServerVersionForThreatDetection(model.ResourceGroupName, model.ServerName, clientId)) { throw new Exception(Properties.Resources.ServerNotApplicableForThreatDetection); } // Check that auditing is turned on: ServerAuditingPolicyModel serverAuditingPolicyModel; AuditingAdapter.GetServerAuditingPolicy(model.ResourceGroupName, model.ServerName, clientId, out serverAuditingPolicyModel); if (serverAuditingPolicyModel.AuditState != AuditStateType.Enabled) { throw new Exception(Properties.Resources.AuditingIsTurnedOff); } } var serverSecurityAlertPolicyParameters = PolicizeServerSecurityAlertModel(model); ThreatDetectionCommunicator.SetServerSecurityAlertPolicy(model.ResourceGroupName, model.ServerName, clientId, serverSecurityAlertPolicyParameters); }