Set-AzIotSecuritySolution

Create or update IoT security solution

Syntax

Set-AzIotSecuritySolution
   -Name <String>
   -ResourceGroupName <String>
   [-Tag <Hashtable>]
   -Location <String>
   -Workspace <String>
   -DisplayName <String>
   [-Enabled <Boolean>]
   [-Export <String[]>]
   [-DisabledDataSource <String[]>]
   -IotHub <String[]>
   [-UserDefinedResource <PSUserDefinedResources>]
   [-RecommendationsConfiguration <PSRecommendationConfiguration[]>]
   [-UnmaskedIpLoggingStatus <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzIotSecuritySolution
   -InputObject <PSIotSecuritySolution>
   [-Tag <Hashtable>]
   -Location <String>
   -Workspace <String>
   -DisplayName <String>
   [-Enabled <Boolean>]
   [-Export <String[]>]
   [-DisabledDataSource <String[]>]
   -IotHub <String[]>
   [-UserDefinedResource <PSUserDefinedResources>]
   [-RecommendationsConfiguration <PSRecommendationConfiguration[]>]
   [-UnmaskedIpLoggingStatus <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzIotSecuritySolution
   -ResourceId <String>
   [-Tag <Hashtable>]
   -Location <String>
   -Workspace <String>
   -DisplayName <String>
   [-Enabled <Boolean>]
   [-Export <String[]>]
   [-DisabledDataSource <String[]>]
   -IotHub <String[]>
   [-UserDefinedResource <PSUserDefinedResources>]
   [-RecommendationsConfiguration <PSRecommendationConfiguration[]>]
   [-UnmaskedIpLoggingStatus <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Set-AzIotSecuritySolution cmdlet creates or updates a specific iot security solution. The IoT security solution collects security data and events from iot devices and iot hub to help prevent and detect threats. The name of iot security solution should be identical to the name of the iot hub.

Examples

Example 1

$Workspace = "/subscriptions/XXXXXXXX-XXXX-XXXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MichalResourceGroup/providers/Microsoft.OperationalInsights/workspaces/IoTHubWorkspace"
$IotHubs = @("/subscriptions/XXXXXXXX-XXXX-XXXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MichalResourceGroup/providers/Microsoft.Devices/IotHubs/MySample")
Set-AzIotSecuritySolution -Name "MySample" -ResourceGroupName "MyResourceGroup" -Location "West US" `
-Workspace $Workspace -DisplayName "MySample" -Enabled $true -IotHub $IotHubs

Id: "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Security/IoTSecuritySolutions/MySample"
Name: "MySample"
Type: "Microsoft.Security/IoTSecuritySolutions"
Location: "westus"
DisplayName: "MySample"
status: "Enabled"
Export: ["RawEvents"]
DisabledDataSources: ["TwinData"]
Workspace: "/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourcegroups/MyResourceGroup/providers/microsoft.operationalinsights/workspaces/MyLA"
AdditionalWorkspaces: null
IotHubs: ["/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourcegroups/MyResourceGroup/providers/microsoft.devices/iothubs/MySample"]
UserDefinedResources: {
	Query: "" 
	QuerySubscriptions: []
}
RecommendationsConfiguration: [
{
	RecommendationType: "IoT_ACRAuthentication"
	Name: "Service prinicpal not used with ACR repository"
	Status: "Enabled"
}
{
	RecommendationType: "IoT_AgentSendsUnutilizedMessages"
	Name: "Agent sending underutilized messages"
	Status: "Enabled"
	}]
AutoDiscoveredResources: ["/subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourcegroups/MyResourceGroup/providers/microsoft.devices/iothubs/MySample"]
UnmaskedIpLoggingStatus: "Enabled"
Tags: {}

Create new iot security solution "MySample" for IoT hub with resource id "/subscriptions/XXXXXXXX-XXXX-XXXXX-XXXX-XXXXXXXXXXXX/resourceGroups/MichalResourceGroup/providers/Microsoft.Devices/IotHubs/MySample" (the name of the solution should be identical to the name of the IoT hub)

Parameters

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisabledDataSource

Disabled data sources.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Display name.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Enabled

Status .

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Export

Export data.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Input Object.

Type:PSIotSecuritySolution
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IotHub

Iot hubs.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Location

Location.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

Resource name.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RecommendationsConfiguration

Recommendations configuration.

Type:PSRecommendationConfiguration[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Resource group name.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResourceId

ID of the security resource that you want to invoke the command on.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Tag

Tags.

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UnmaskedIpLoggingStatus

Unmasked ip logging status.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserDefinedResource

User defined resources.

Type:PSUserDefinedResources
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Workspace

Workspace ID.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Inputs

PSIotSecuritySolution

String

Hashtable

String[]

PSUserDefinedResources

PSRecommendationConfiguration[]

Outputs

PSIotSecuritySolution