AnomalySecurityMLAnalyticsSettingsArgs

data class AnomalySecurityMLAnalyticsSettingsArgs(val anomalySettingsVersion: Output<Int>? = null, val anomalyVersion: Output<String>? = null, val customizableObservations: Output<Any>? = null, val description: Output<String>? = null, val displayName: Output<String>? = null, val enabled: Output<Boolean>? = null, val frequency: Output<String>? = null, val isDefaultSettings: Output<Boolean>? = null, val kind: Output<String>? = null, val requiredDataConnectors: Output<List<SecurityMLAnalyticsSettingsDataSourceArgs>>? = null, val resourceGroupName: Output<String>? = null, val settingsDefinitionId: Output<String>? = null, val settingsResourceName: Output<String>? = null, val settingsStatus: Output<Either<String, SettingsStatus>>? = null, val tactics: Output<List<Either<String, AttackTactic>>>? = null, val techniques: Output<List<String>>? = null, val workspaceName: Output<String>? = null) : ConvertibleToJava<AnomalySecurityMLAnalyticsSettingsArgs>

Represents Anomaly Security ML Analytics Settings Uses Azure REST API version 2023-02-01. In version 1.x of the Azure Native provider, it used API version 2022-05-01-preview.

Example Usage

Creates or updates a Anomaly Security ML Analytics Settings.

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var anomalySecurityMLAnalyticsSettings = new AzureNative.SecurityInsights.AnomalySecurityMLAnalyticsSettings("anomalySecurityMLAnalyticsSettings", new()
{
AnomalySettingsVersion = 0,
AnomalyVersion = "1.0.5",
CustomizableObservations = new Dictionary<string, object?>
{
["multiSelectObservations"] = null,
["prioritizeExcludeObservations"] = null,
["singleSelectObservations"] = new[]
{
new Dictionary<string, object?>
{
["description"] = "Select device vendor of network connection logs from CommonSecurityLog",
["name"] = "Device vendor",
["rerun"] = "RerunAlways",
["sequenceNumber"] = 1,
["supportedValues"] = new[]
{
"Palo Alto Networks",
"Fortinet",
"Check Point",
},
["supportedValuesKql"] = null,
["value"] = new[]
{
"Palo Alto Networks",
},
["valuesKql"] = null,
},
},
["singleValueObservations"] = null,
["thresholdObservations"] = new[]
{
new Dictionary<string, object?>
{
["description"] = "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value",
["maximum"] = "100",
["minimum"] = "1",
["name"] = "Daily data transfer threshold in MB",
["rerun"] = "RerunAlways",
["sequenceNumber"] = 1,
["value"] = "25",
},
new Dictionary<string, object?>
{
["description"] = "Triggers anomalies when number of standard deviations is greater than the chosen value",
["maximum"] = "10",
["minimum"] = "2",
["name"] = "Number of standard deviations",
["rerun"] = "RerunAlways",
["sequenceNumber"] = 2,
["value"] = "3",
},
},
},
Description = "When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered.",
DisplayName = "Login from unusual region",
Enabled = true,
Frequency = "PT1H",
IsDefaultSettings = true,
Kind = "Anomaly",
RequiredDataConnectors = new[]
{
new AzureNative.SecurityInsights.Inputs.SecurityMLAnalyticsSettingsDataSourceArgs
{
ConnectorId = "AWS",
DataTypes = new[]
{
"AWSCloudTrail",
},
},
},
ResourceGroupName = "myRg",
SettingsDefinitionId = "f209187f-1d17-4431-94af-c141bf5f23db",
SettingsResourceName = "f209187f-1d17-4431-94af-c141bf5f23db",
SettingsStatus = AzureNative.SecurityInsights.SettingsStatus.Production,
Tactics = new[]
{
AzureNative.SecurityInsights.AttackTactic.Exfiltration,
AzureNative.SecurityInsights.AttackTactic.CommandAndControl,
},
Techniques = new[]
{
"T1037",
"T1021",
},
WorkspaceName = "myWorkspace",
});
});
package main
import (
securityinsights "github.com/pulumi/pulumi-azure-native-sdk/securityinsights/v2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := securityinsights.NewAnomalySecurityMLAnalyticsSettings(ctx, "anomalySecurityMLAnalyticsSettings", &securityinsights.AnomalySecurityMLAnalyticsSettingsArgs{
AnomalySettingsVersion: pulumi.Int(0),
AnomalyVersion: pulumi.String("1.0.5"),
CustomizableObservations: pulumi.Any(map[string]interface{}{
"multiSelectObservations": nil,
"prioritizeExcludeObservations": nil,
"singleSelectObservations": []map[string]interface{}{
map[string]interface{}{
"description": "Select device vendor of network connection logs from CommonSecurityLog",
"name": "Device vendor",
"rerun": "RerunAlways",
"sequenceNumber": 1,
"supportedValues": []string{
"Palo Alto Networks",
"Fortinet",
"Check Point",
},
"supportedValuesKql": nil,
"value": []string{
"Palo Alto Networks",
},
"valuesKql": nil,
},
},
"singleValueObservations": nil,
"thresholdObservations": []interface{}{
map[string]interface{}{
"description": "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value",
"maximum": "100",
"minimum": "1",
"name": "Daily data transfer threshold in MB",
"rerun": "RerunAlways",
"sequenceNumber": 1,
"value": "25",
},
map[string]interface{}{
"description": "Triggers anomalies when number of standard deviations is greater than the chosen value",
"maximum": "10",
"minimum": "2",
"name": "Number of standard deviations",
"rerun": "RerunAlways",
"sequenceNumber": 2,
"value": "3",
},
},
}),
Description: pulumi.String("When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered."),
DisplayName: pulumi.String("Login from unusual region"),
Enabled: pulumi.Bool(true),
Frequency: pulumi.String("PT1H"),
IsDefaultSettings: pulumi.Bool(true),
Kind: pulumi.String("Anomaly"),
RequiredDataConnectors: securityinsights.SecurityMLAnalyticsSettingsDataSourceArray{
&securityinsights.SecurityMLAnalyticsSettingsDataSourceArgs{
ConnectorId: pulumi.String("AWS"),
DataTypes: pulumi.StringArray{
pulumi.String("AWSCloudTrail"),
},
},
},
ResourceGroupName: pulumi.String("myRg"),
SettingsDefinitionId: pulumi.String("f209187f-1d17-4431-94af-c141bf5f23db"),
SettingsResourceName: pulumi.String("f209187f-1d17-4431-94af-c141bf5f23db"),
SettingsStatus: pulumi.String(securityinsights.SettingsStatusProduction),
Tactics: pulumi.StringArray{
pulumi.String(securityinsights.AttackTacticExfiltration),
pulumi.String(securityinsights.AttackTacticCommandAndControl),
},
Techniques: pulumi.StringArray{
pulumi.String("T1037"),
pulumi.String("T1021"),
},
WorkspaceName: pulumi.String("myWorkspace"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.securityinsights.AnomalySecurityMLAnalyticsSettings;
import com.pulumi.azurenative.securityinsights.AnomalySecurityMLAnalyticsSettingsArgs;
import com.pulumi.azurenative.securityinsights.inputs.SecurityMLAnalyticsSettingsDataSourceArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var anomalySecurityMLAnalyticsSettings = new AnomalySecurityMLAnalyticsSettings("anomalySecurityMLAnalyticsSettings", AnomalySecurityMLAnalyticsSettingsArgs.builder()
.anomalySettingsVersion(0)
.anomalyVersion("1.0.5")
.customizableObservations(Map.ofEntries(
Map.entry("multiSelectObservations", null),
Map.entry("prioritizeExcludeObservations", null),
Map.entry("singleSelectObservations", Map.ofEntries(
Map.entry("description", "Select device vendor of network connection logs from CommonSecurityLog"),
Map.entry("name", "Device vendor"),
Map.entry("rerun", "RerunAlways"),
Map.entry("sequenceNumber", 1),
Map.entry("supportedValues",
"Palo Alto Networks",
"Fortinet",
"Check Point"),
Map.entry("supportedValuesKql", null),
Map.entry("value", "Palo Alto Networks"),
Map.entry("valuesKql", null)
)),
Map.entry("singleValueObservations", null),
Map.entry("thresholdObservations",
Map.ofEntries(
Map.entry("description", "Suppress anomalies when daily data transfered (in MB) per hour is less than the chosen value"),
Map.entry("maximum", "100"),
Map.entry("minimum", "1"),
Map.entry("name", "Daily data transfer threshold in MB"),
Map.entry("rerun", "RerunAlways"),
Map.entry("sequenceNumber", 1),
Map.entry("value", "25")
),
Map.ofEntries(
Map.entry("description", "Triggers anomalies when number of standard deviations is greater than the chosen value"),
Map.entry("maximum", "10"),
Map.entry("minimum", "2"),
Map.entry("name", "Number of standard deviations"),
Map.entry("rerun", "RerunAlways"),
Map.entry("sequenceNumber", 2),
Map.entry("value", "3")
))
))
.description("When account logs from a source region that has rarely been logged in from during the last 14 days, an anomaly is triggered.")
.displayName("Login from unusual region")
.enabled(true)
.frequency("PT1H")
.isDefaultSettings(true)
.kind("Anomaly")
.requiredDataConnectors(SecurityMLAnalyticsSettingsDataSourceArgs.builder()
.connectorId("AWS")
.dataTypes("AWSCloudTrail")
.build())
.resourceGroupName("myRg")
.settingsDefinitionId("f209187f-1d17-4431-94af-c141bf5f23db")
.settingsResourceName("f209187f-1d17-4431-94af-c141bf5f23db")
.settingsStatus("Production")
.tactics(
"Exfiltration",
"CommandAndControl")
.techniques(
"T1037",
"T1021")
.workspaceName("myWorkspace")
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:securityinsights:AnomalySecurityMLAnalyticsSettings f209187f-1d17-4431-94af-c141bf5f23db /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/providers/Microsoft.SecurityInsights/securityMLAnalyticsSettings/{settingsResourceName}

Constructors

Link copied to clipboard
constructor(anomalySettingsVersion: Output<Int>? = null, anomalyVersion: Output<String>? = null, customizableObservations: Output<Any>? = null, description: Output<String>? = null, displayName: Output<String>? = null, enabled: Output<Boolean>? = null, frequency: Output<String>? = null, isDefaultSettings: Output<Boolean>? = null, kind: Output<String>? = null, requiredDataConnectors: Output<List<SecurityMLAnalyticsSettingsDataSourceArgs>>? = null, resourceGroupName: Output<String>? = null, settingsDefinitionId: Output<String>? = null, settingsResourceName: Output<String>? = null, settingsStatus: Output<Either<String, SettingsStatus>>? = null, tactics: Output<List<Either<String, AttackTactic>>>? = null, techniques: Output<List<String>>? = null, workspaceName: Output<String>? = null)

Properties

Link copied to clipboard
val anomalySettingsVersion: Output<Int>? = null

The anomaly settings version of the Anomaly security ml analytics settings that dictates whether job version gets updated or not.

Link copied to clipboard
val anomalyVersion: Output<String>? = null

The anomaly version of the AnomalySecurityMLAnalyticsSettings.

Link copied to clipboard
val customizableObservations: Output<Any>? = null

The customizable observations of the AnomalySecurityMLAnalyticsSettings.

Link copied to clipboard
val description: Output<String>? = null

The description of the SecurityMLAnalyticsSettings.

Link copied to clipboard
val displayName: Output<String>? = null

The display name for settings created by this SecurityMLAnalyticsSettings.

Link copied to clipboard
val enabled: Output<Boolean>? = null

Determines whether this settings is enabled or disabled.

Link copied to clipboard
val frequency: Output<String>? = null

The frequency that this SecurityMLAnalyticsSettings will be run.

Link copied to clipboard
val isDefaultSettings: Output<Boolean>? = null

Determines whether this anomaly security ml analytics settings is a default settings

Link copied to clipboard
val kind: Output<String>? = null

The kind of security ML analytics settings Expected value is 'Anomaly'.

Link copied to clipboard

The required data sources for this SecurityMLAnalyticsSettings

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group. The name is case insensitive.

Link copied to clipboard
val settingsDefinitionId: Output<String>? = null

The anomaly settings definition Id

Link copied to clipboard
val settingsResourceName: Output<String>? = null

Security ML Analytics Settings resource name

Link copied to clipboard
val settingsStatus: Output<Either<String, SettingsStatus>>? = null

The anomaly SecurityMLAnalyticsSettings status

Link copied to clipboard
val tactics: Output<List<Either<String, AttackTactic>>>? = null

The tactics of the SecurityMLAnalyticsSettings

Link copied to clipboard
val techniques: Output<List<String>>? = null

The techniques of the SecurityMLAnalyticsSettings

Link copied to clipboard
val workspaceName: Output<String>? = null

The name of the workspace.

Functions

Link copied to clipboard
open override fun toJava(): AnomalySecurityMLAnalyticsSettingsArgs