Använda IP-filter
Säkerhet är en viktig aspekt av alla IoT-lösningar baserade på Azure IoT Hub. Ibland måste du uttryckligen ange de IP-adresser som enheter kan ansluta till som en del av din säkerhetskonfiguration. Med funktionen IP-filter kan du konfigurera regler för att avvisa eller acceptera trafik från specifika IPv4-adresser.
Användningsområde för
Använd IP-filter för att endast ta emot trafik från ett angivet intervall med IP-adresser och avvisa allt annat. Du använder till exempel din IoT-hubb med Azure Express Route för att skapa privata anslutningar mellan en IoT-hubb och din lokala infrastruktur.
Standardinställning
Om du vill komma till sidan INSTÄLLNINGAR för IP-filter i din IoT-hubb väljer du Säkerhetsinställningar>Nätverksåtkomst>offentlig åtkomst och väljer sedan Valda IP-intervall:
Ip-filterrutnätet i portalen för en IoT-hubb är som standard tomt. Den här standardinställningen innebär att hubben blockerar anslutningar från alla IP-adresser. Den här standardinställningen motsvarar en regel som blockerar 0.0.0.0/0
IP-adressintervallet.
Lägga till eller redigera en IP-filterregel
Om du vill lägga till en IP-filterregel väljer du Lägg till IP-filterregel. Om du snabbt vill lägga till datorns IP-adress väljer du Lägg till klientens IP-adress.
Fyll i fälten när du har valt Lägg till IP-filterregel. De här fälten är förfyllda om du har valt att lägga till klientens IP-adress.
Ange ett namn för IP-filterregeln. Det här namnet måste vara en unik, skiftlägeskänslig, alfanumerisk sträng på upp till 128 tecken lång. Endast 7-bitars alfanumeriska ASCII-tecken plus följande specialtecken accepteras:
- : . + % _ # * ? ! ( ) , = @ ; '
.Ange en enskild IPv4-adress eller ett block med IP-adresser i CIDR-notation. I CIDR-notation representerar exempelvis 192.168.100.0/22 de 1 024 IPv4-adresserna från 192.168.100.0 till 192.168.103.255.
När du har fyllt i fälten sparar du regeln genom att välja Spara. Ett meddelande visas som anger att uppdateringen pågår.
Alternativet Lägg till är inaktiverat när du når maximalt 100 IP-filterregler.
Om du vill redigera en befintlig regel väljer du de data som du vill ändra, gör ändringen och sparar sedan ändringen genom att välja Spara.
Ta bort en IP-filterregel
Om du vill ta bort en IP-filterregel väljer du papperskorgsikonen på raden och väljer sedan Spara. Regeln tas bort och ändringen sparas.
Tillämpa IP-filterregler på den inbyggda Event Hubs-kompatibla slutpunkten
Om du vill tillämpa IP-filterreglerna på den inbyggda Event Hubs-kompatibla slutpunkten markerar du kryssrutan bredvid Tillämpa IP-filter på den inbyggda slutpunkten? och väljer sedan Spara.
Kommentar
Det här alternativet är inte tillgängligt för kostnadsfria (F1) IoT-hubbar. Om du vill tillämpa IP-filterregler på den inbyggda slutpunkten använder du en betald IoT-hubb.
Genom att aktivera det här alternativet replikeras dina IP-filterregler till den inbyggda slutpunkten, så att endast betrodda IP-intervall kan komma åt det.
Om du inaktiverar det här alternativet är den inbyggda slutpunkten tillgänglig för alla IP-adresser. Det här beteendet kan vara användbart om du vill läsa från slutpunkten med tjänster med käll-IP-adresser som kan ändras över tid som Azure Stream Analytics.
Så här tillämpas filterregler
IP-filterreglerna tillämpas på IoT Hub-tjänstnivå. Ip-filterreglerna gäller därför för alla anslutningar från enheter och backend-appar som använder alla protokoll som stöds. Du kan också välja om den inbyggda Event Hubs-kompatibla slutpunkten (inte via IoT Hub-anslutningssträng) är bunden till dessa regler.
Alla anslutningsförsök från en IP-adress som inte uttryckligen tillåts tar emot en otillåten 401-statuskod och beskrivning. I svarsmeddelandet nämns inte IP-regeln. Om du avvisar IP-adresser kan du förhindra att andra Azure-tjänster som Azure Stream Analytics, Azure Virtual Machines eller Device Explorer i Azure Portal interagerar med IoT-hubben.
Kommentar
Om du vill använda Azure Stream Analytics (ASA) för att läsa meddelanden från en IoT-hubb med IP-filtret aktiverat inaktiverar du alternativet Tillämpa IP-filter på den inbyggda slutpunkten och använder sedan det händelsehubbkompatibla namnet och slutpunkten för din IoT-hubb för att manuellt lägga till en Event Hubs-indataström i ASA.
Azure Portal
IP-filterregler tillämpas också när du använder IoT Hub via Azure Portal. Detta beror på att API-anrop till IoT Hub-tjänsten görs direkt med webbläsaren med dina autentiseringsuppgifter, vilket är förenligt med andra Azure-tjänster. Om du vill komma åt IoT Hub med hjälp av Azure Portal när IP-filtret är aktiverat lägger du till datorns IP-adress i listan över tillåtna.
Ordna profiler
IP-filterregler är tillåtna regler och tillämpas utan ordning. Endast IP-adresser som du lägger till får ansluta till IoT Hub.
Om du till exempel vill acceptera adresser i intervallet 192.168.100.0/22
och avvisa allt annat behöver du bara lägga till en regel i rutnätet med adressintervallet 192.168.100.0/22
.
Hämta och uppdatera IP-filter med Hjälp av Azure CLI
Ip-filtren för din IoT-hubb kan hämtas och uppdateras via Azure CLI.
Om du vill hämta aktuella IP-filter för din IoT Hub kör du:
az resource show -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs
Detta returnerar ett JSON-objekt där dina befintliga IP-filter visas under properties.networkRuleSets
nyckeln:
{
...
"properties": {
"networkRuleSets": {
"defaultAction": "Deny",
"applyToBuiltInEventHubEndpoint": true,
"ipRules": [{
"filterName": "TrustedFactories",
"action": "Allow",
"ipMask": "1.2.3.4/5"
},
{
"filterName": "TrustedDevices",
"action": "Allow",
"ipMask": "1.1.1.1/1"
}
]
}
}
}
Om du vill lägga till ett nytt IP-filter för din IoT Hub kör du:
az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules "{\"action\":\"Allow\",\"filterName\":\"TrustedIP\",\"ipMask\":\"192.168.0.1\"}"
Om du vill ta bort ett befintligt IP-filter i din IoT Hub kör du:
az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules <ipFilterIndexToRemove>
<ipFilterIndexToRemove>
Här motsvarar ordningen på IP-filter i IoT-hubbens properties.networkRuleSets.ipRules
.
Hämta och uppdatera IP-filter med Hjälp av Azure PowerShell
Kommentar
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
IoT Hubs IP-filter kan hämtas och ställas in via Azure PowerShell.
# Get your IoT Hub resource using its name and its resource group name
$iothubResource = Get-AzResource -ResourceGroupName <resourceGroupName> -ResourceName <iotHubName> -ExpandProperties
# Access existing IP filter rules
$iothubResource.Properties.networkRuleSets.ipRules |% { Write-host $_ }
# Construct a new IP filter
$filter = @{'filterName'='TrustedIP'; 'action'='Allow'; 'ipMask'='192.168.0.1'}
# Add your new IP filter rule
$iothubResource.Properties.networkRuleSets.ipRules += $filter
# Remove an existing IP filter rule using its name, e.g., 'GoodIP'
$iothubResource.Properties.networkRuleSets.ipRules = @($iothubResource.Properties.networkRuleSets.ipRules | Where 'filterName' -ne 'GoodIP')
# Update your IoT Hub resource with your updated IP filters
$iothubResource | Set-AzResource -Force
Uppdatera IP-filterregler med hjälp av REST
Du kan också hämta och ändra IoT Hubs IP-filter med hjälp av Azure-resursproviderns REST-slutpunkt. Mer information finns i properties.networkRuleSets
i createorupdate-metoden.
Nästa steg
Mer information om funktionerna i IoT Hub finns i: