Microsoft.Security iotSecuritySolutions

Bicep resource definition

The iotSecuritySolutions resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Usage Examples

Bicep Samples

A basic example of deploying iot security solution.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource iotHub 'Microsoft.Devices/IotHubs@2022-04-30-preview' = {
  name: resourceName
  location: location
  sku: {
    capacity: 1
    name: 'S1'
  }
  properties: {
    cloudToDevice: {}
    enableFileUploadNotifications: false
    messagingEndpoints: {}
    routing: {
      fallbackRoute: {
        condition: 'true'
        endpointNames: [
          'events'
        ]
        isEnabled: true
        source: 'DeviceMessages'
      }
    }
    storageEndpoints: {}
  }
}

resource iotSecuritySolution 'Microsoft.Security/iotSecuritySolutions@2019-08-01' = {
  name: resourceName
  location: location
  properties: {
    displayName: 'Iot Security Solution'
    iotHubs: [
      iotHub.id
    ]
    status: 'Enabled'
    unmaskedIpLoggingStatus: 'Disabled'
  }
}

Resource format

To create a Microsoft.Security/iotSecuritySolutions resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Security/iotSecuritySolutions@2019-08-01' = {
  location: 'string'
  name: 'string'
  properties: {
    additionalWorkspaces: [
      {
        dataTypes: [
          'string'
        ]
        type: 'string'
        workspace: 'string'
      }
    ]
    disabledDataSources: [
      'string'
    ]
    displayName: 'string'
    export: [
      'string'
    ]
    iotHubs: [
      'string'
    ]
    recommendationsConfiguration: [
      {
        recommendationType: 'string'
        status: 'string'
      }
    ]
    status: 'string'
    unmaskedIpLoggingStatus: 'string'
    userDefinedResources: {
      query: 'string'
      querySubscriptions: [
        'string'
      ]
    }
    workspace: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Microsoft.Security/iotSecuritySolutions

Name Description Value
location The resource location. string
name The resource name string (required)
properties Security Solution data IoTSecuritySolutionPropertiesAutoGenerated
tags Resource tags Dictionary of tag names and values. See Tags in templates

AdditionalWorkspacesPropertiesAutoGenerated

Name Description Value
dataTypes List of data types sent to workspace String array containing any of:
'Alerts'
'RawEvents'
type Workspace type. 'Sentinel'
workspace Workspace resource id string

IoTSecuritySolutionPropertiesAutoGenerated

Name Description Value
additionalWorkspaces List of additional workspaces AdditionalWorkspacesPropertiesAutoGenerated[]
disabledDataSources Disabled data sources. Disabling these data sources compromises the system. String array containing any of:
'TwinData'
displayName Resource display name. string (required)
export List of additional options for exporting to workspace data. String array containing any of:
'RawEvents'
iotHubs IoT Hub resource IDs string[] (required)
recommendationsConfiguration List of the configuration status for each recommendation type. RecommendationConfigurationPropertiesAutoGenerated[]
status Status of the IoT Security solution. 'Disabled'
'Enabled'
unmaskedIpLoggingStatus Unmasked IP address logging status 'Disabled'
'Enabled'
userDefinedResources Properties of the IoT Security solution's user defined resources. UserDefinedResourcesPropertiesAutoGenerated
workspace Workspace resource ID string

RecommendationConfigurationPropertiesAutoGenerated

Name Description Value
recommendationType The type of IoT Security recommendation. 'IoT_ACRAuthentication'
'IoT_AgentSendsUnutilizedMessages'
'IoT_Baseline'
'IoT_EdgeHubMemOptimize'
'IoT_EdgeLoggingOptions'
'IoT_InconsistentModuleSettings'
'IoT_InstallAgent'
'IoT_IPFilter_DenyAll'
'IoT_IPFilter_PermissiveRule'
'IoT_OpenPorts'
'IoT_PermissiveFirewallPolicy'
'IoT_PermissiveInputFirewallRules'
'IoT_PermissiveOutputFirewallRules'
'IoT_PrivilegedDockerOptions'
'IoT_SharedCredentials'
'IoT_VulnerableTLSCipherSuite' (required)
status Recommendation status. When the recommendation status is disabled recommendations are not generated. 'Disabled'
'Enabled' (required)

TagsResourceTags

Name Description Value

UserDefinedResourcesPropertiesAutoGenerated

Name Description Value
query Azure Resource Graph query which represents the security solution's user defined resources. Required to start with "where type != "Microsoft.Devices/IotHubs"" string (required)
querySubscriptions List of Azure subscription ids on which the user defined resources query should be executed. string

Constraints:
Pattern = ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$[] (required)

ARM template resource definition

The iotSecuritySolutions resource type can be deployed with operations that target:

Usage Examples

Resource format

To create a Microsoft.Security/iotSecuritySolutions resource, add the following JSON to your template.

{
  "type": "Microsoft.Security/iotSecuritySolutions",
  "apiVersion": "2019-08-01",
  "name": "string",
  "location": "string",
  "properties": {
    "additionalWorkspaces": [
      {
        "dataTypes": [ "string" ],
        "type": "string",
        "workspace": "string"
      }
    ],
    "disabledDataSources": [ "string" ],
    "displayName": "string",
    "export": [ "string" ],
    "iotHubs": [ "string" ],
    "recommendationsConfiguration": [
      {
        "recommendationType": "string",
        "status": "string"
      }
    ],
    "status": "string",
    "unmaskedIpLoggingStatus": "string",
    "userDefinedResources": {
      "query": "string",
      "querySubscriptions": [ "string" ]
    },
    "workspace": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Microsoft.Security/iotSecuritySolutions

Name Description Value
apiVersion The api version '2019-08-01'
location The resource location. string
name The resource name string (required)
properties Security Solution data IoTSecuritySolutionPropertiesAutoGenerated
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.Security/iotSecuritySolutions'

AdditionalWorkspacesPropertiesAutoGenerated

Name Description Value
dataTypes List of data types sent to workspace String array containing any of:
'Alerts'
'RawEvents'
type Workspace type. 'Sentinel'
workspace Workspace resource id string

IoTSecuritySolutionPropertiesAutoGenerated

Name Description Value
additionalWorkspaces List of additional workspaces AdditionalWorkspacesPropertiesAutoGenerated[]
disabledDataSources Disabled data sources. Disabling these data sources compromises the system. String array containing any of:
'TwinData'
displayName Resource display name. string (required)
export List of additional options for exporting to workspace data. String array containing any of:
'RawEvents'
iotHubs IoT Hub resource IDs string[] (required)
recommendationsConfiguration List of the configuration status for each recommendation type. RecommendationConfigurationPropertiesAutoGenerated[]
status Status of the IoT Security solution. 'Disabled'
'Enabled'
unmaskedIpLoggingStatus Unmasked IP address logging status 'Disabled'
'Enabled'
userDefinedResources Properties of the IoT Security solution's user defined resources. UserDefinedResourcesPropertiesAutoGenerated
workspace Workspace resource ID string

RecommendationConfigurationPropertiesAutoGenerated

Name Description Value
recommendationType The type of IoT Security recommendation. 'IoT_ACRAuthentication'
'IoT_AgentSendsUnutilizedMessages'
'IoT_Baseline'
'IoT_EdgeHubMemOptimize'
'IoT_EdgeLoggingOptions'
'IoT_InconsistentModuleSettings'
'IoT_InstallAgent'
'IoT_IPFilter_DenyAll'
'IoT_IPFilter_PermissiveRule'
'IoT_OpenPorts'
'IoT_PermissiveFirewallPolicy'
'IoT_PermissiveInputFirewallRules'
'IoT_PermissiveOutputFirewallRules'
'IoT_PrivilegedDockerOptions'
'IoT_SharedCredentials'
'IoT_VulnerableTLSCipherSuite' (required)
status Recommendation status. When the recommendation status is disabled recommendations are not generated. 'Disabled'
'Enabled' (required)

TagsResourceTags

Name Description Value

UserDefinedResourcesPropertiesAutoGenerated

Name Description Value
query Azure Resource Graph query which represents the security solution's user defined resources. Required to start with "where type != "Microsoft.Devices/IotHubs"" string (required)
querySubscriptions List of Azure subscription ids on which the user defined resources query should be executed. string

Constraints:
Pattern = ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$[] (required)

Terraform (AzAPI provider) resource definition

The iotSecuritySolutions resource type can be deployed with operations that target:

  • Resource groups For a list of changed properties in each API version, see change log.

Usage Examples

Terraform Samples

A basic example of deploying iot security solution.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "IotHub" {
  type      = "Microsoft.Devices/IotHubs@2022-04-30-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      cloudToDevice = {
      }
      enableFileUploadNotifications = false
      messagingEndpoints = {
      }
      routing = {
        fallbackRoute = {
          condition = "true"
          endpointNames = [
            "events",
          ]
          isEnabled = true
          source    = "DeviceMessages"
        }
      }
      storageEndpoints = {
      }
    }
    sku = {
      capacity = 1
      name     = "S1"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "iotSecuritySolution" {
  type      = "Microsoft.Security/iotSecuritySolutions@2019-08-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      displayName = "Iot Security Solution"
      iotHubs = [
        azapi_resource.IotHub.id,
      ]
      status                  = "Enabled"
      unmaskedIpLoggingStatus = "Disabled"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Resource format

To create a Microsoft.Security/iotSecuritySolutions resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Security/iotSecuritySolutions@2019-08-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      additionalWorkspaces = [
        {
          dataTypes = [
            "string"
          ]
          type = "string"
          workspace = "string"
        }
      ]
      disabledDataSources = [
        "string"
      ]
      displayName = "string"
      export = [
        "string"
      ]
      iotHubs = [
        "string"
      ]
      recommendationsConfiguration = [
        {
          recommendationType = "string"
          status = "string"
        }
      ]
      status = "string"
      unmaskedIpLoggingStatus = "string"
      userDefinedResources = {
        query = "string"
        querySubscriptions = [
          "string"
        ]
      }
      workspace = "string"
    }
  }
}

Property Values

Microsoft.Security/iotSecuritySolutions

Name Description Value
location The resource location. string
name The resource name string (required)
properties Security Solution data IoTSecuritySolutionPropertiesAutoGenerated
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.Security/iotSecuritySolutions@2019-08-01"

AdditionalWorkspacesPropertiesAutoGenerated

Name Description Value
dataTypes List of data types sent to workspace String array containing any of:
'Alerts'
'RawEvents'
type Workspace type. 'Sentinel'
workspace Workspace resource id string

IoTSecuritySolutionPropertiesAutoGenerated

Name Description Value
additionalWorkspaces List of additional workspaces AdditionalWorkspacesPropertiesAutoGenerated[]
disabledDataSources Disabled data sources. Disabling these data sources compromises the system. String array containing any of:
'TwinData'
displayName Resource display name. string (required)
export List of additional options for exporting to workspace data. String array containing any of:
'RawEvents'
iotHubs IoT Hub resource IDs string[] (required)
recommendationsConfiguration List of the configuration status for each recommendation type. RecommendationConfigurationPropertiesAutoGenerated[]
status Status of the IoT Security solution. 'Disabled'
'Enabled'
unmaskedIpLoggingStatus Unmasked IP address logging status 'Disabled'
'Enabled'
userDefinedResources Properties of the IoT Security solution's user defined resources. UserDefinedResourcesPropertiesAutoGenerated
workspace Workspace resource ID string

RecommendationConfigurationPropertiesAutoGenerated

Name Description Value
recommendationType The type of IoT Security recommendation. 'IoT_ACRAuthentication'
'IoT_AgentSendsUnutilizedMessages'
'IoT_Baseline'
'IoT_EdgeHubMemOptimize'
'IoT_EdgeLoggingOptions'
'IoT_InconsistentModuleSettings'
'IoT_InstallAgent'
'IoT_IPFilter_DenyAll'
'IoT_IPFilter_PermissiveRule'
'IoT_OpenPorts'
'IoT_PermissiveFirewallPolicy'
'IoT_PermissiveInputFirewallRules'
'IoT_PermissiveOutputFirewallRules'
'IoT_PrivilegedDockerOptions'
'IoT_SharedCredentials'
'IoT_VulnerableTLSCipherSuite' (required)
status Recommendation status. When the recommendation status is disabled recommendations are not generated. 'Disabled'
'Enabled' (required)

TagsResourceTags

Name Description Value

UserDefinedResourcesPropertiesAutoGenerated

Name Description Value
query Azure Resource Graph query which represents the security solution's user defined resources. Required to start with "where type != "Microsoft.Devices/IotHubs"" string (required)
querySubscriptions List of Azure subscription ids on which the user defined resources query should be executed. string

Constraints:
Pattern = ^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$[] (required)