AnomalySecurityMLAnalyticsSettings

class AnomalySecurityMLAnalyticsSettings : KotlinCustomResource

Represents Anomaly Security ML Analytics Settings Uses Azure REST API version 2024-09-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01.

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}

Properties

Link copied to clipboard

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>

The anomaly version of the AnomalySecurityMLAnalyticsSettings.

Link copied to clipboard
val azureApiVersion: Output<String>

The Azure API version of the resource.

Link copied to clipboard

The customizable observations of the AnomalySecurityMLAnalyticsSettings.

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

The description of the SecurityMLAnalyticsSettings.

Link copied to clipboard
val displayName: Output<String>

The display name for settings created by this SecurityMLAnalyticsSettings.

Link copied to clipboard
val enabled: Output<Boolean>

Determines whether this settings is enabled or disabled.

Link copied to clipboard
val etag: Output<String>?

Etag of the azure resource

Link copied to clipboard
val frequency: Output<String>

The frequency that this SecurityMLAnalyticsSettings will be run.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

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

Link copied to clipboard
val kind: Output<String>

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

Link copied to clipboard
val lastModifiedUtc: Output<String>

The last time that this SecurityMLAnalyticsSettings has been modified.

Link copied to clipboard
val name: Output<String>

The name of the resource

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

The required data sources for this SecurityMLAnalyticsSettings

Link copied to clipboard

The anomaly settings definition Id

Link copied to clipboard
val settingsStatus: Output<String>

The anomaly SecurityMLAnalyticsSettings status

Link copied to clipboard

Azure Resource Manager metadata containing createdBy and modifiedBy information.

Link copied to clipboard
val tactics: Output<List<String>>?

The tactics of the SecurityMLAnalyticsSettings

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

The techniques of the SecurityMLAnalyticsSettings

Link copied to clipboard
val type: Output<String>

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Link copied to clipboard
val urn: Output<String>