Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt het patroon voor virtuele netwerkconnectiviteit geïntroduceerd voor het inrichten van IoT-apparaten met IoT-hubs met behulp van DPS. Dit patroon biedt privéconnectiviteit tussen de apparaten, DPS en de IoT-hub in een virtueel Azure-netwerk dat eigendom is van de klant.
In de meeste scenario's waarin DPS is geconfigureerd met een virtueel netwerk, wordt uw IoT-hub ook geconfigureerd in hetzelfde virtuele netwerk. Zie IoT Hub-ondersteuning voor virtuele netwerken met Azure Private Link voor meer informatie over ondersteuning en configuratie van virtuele netwerken voor IoT-hubs.
Introductie
DPS-hostnamen worden standaard toegewezen aan een openbaar eindpunt met een openbaar routeerbaar IP-adres via internet. Dit openbare eindpunt is zichtbaar voor alle klanten. IoT-apparaten via wide area networks en on-premises netwerken kunnen proberen toegang te krijgen tot het openbare eindpunt.
Om verschillende redenen willen klanten mogelijk de connectiviteit met Azure-resources beperken, zoals DPS. Deze redenen zijn onder andere:
Blootstelling aan verbindingen via het openbare internet voorkomen. Blootstelling kan worden verminderd door meer beveiligingslagen te introduceren via isolatie op netwerkniveau voor uw IoT-hub en DPS-resources
Het inschakelen van een privéverbindingservaring vanuit uw on-premises netwerkassets, zodat uw gegevens en verkeer rechtstreeks naar het Backbone-netwerk van Azure worden verzonden.
Exfiltratieaanvallen van gevoelige on-premises netwerken voorkomen.
Het volgen van vastgestelde Azure-wide connectiviteitspatronen met behulp van privé-eindpunten.
Veelvoorkomende benaderingen voor het beperken van connectiviteit zijn DPS IP-filterregels en virtuele netwerken met privé-eindpunten. Het doel van dit artikel is het beschrijven van de benadering van virtuele netwerken voor DPS met behulp van privé-eindpunten.
Apparaten die in on-premises netwerken werken, kunnen VPN (Virtual Private Network) of ExpressRoute-privépeering gebruiken om verbinding te maken met een virtueel netwerk in Azure en toegang te krijgen tot DPS-resources via privé-eindpunten.
Een privé-eindpunt is een privé-IP-adres dat is toegewezen in een virtueel netwerk dat eigendom is van de klant, waarmee een Azure-resource toegankelijk is. Door een privé-eindpunt voor uw DPS-resource te gebruiken, kunnen apparaten binnen uw virtuele netwerk provisioning aanvragen bij uw DPS-resource zonder verkeer naar het openbare eindpunt toe te laten. Elke DPS-resource kan ondersteuning bieden voor meerdere privé-eindpunten, die elk zich in een virtueel netwerk in een andere regio kunnen bevinden.
Vereiste voorwaarden
Voordat u doorgaat, moet u ervoor zorgen dat aan de volgende vereisten wordt voldaan:
Uw DPS-resource is al gemaakt en gekoppeld aan uw IoT-hubs. Zie quickstart: IoT Hub Device Provisioning Service instellen met Azure Portal voor hulp bij het instellen van een nieuwe DPS-resource
U hebt een virtueel Azure-netwerk ingericht met een subnet waarin het privé-eindpunt wordt gemaakt. Zie quickstart: Een virtueel Azure-netwerk maken voor meer informatie.
Voor apparaten die binnen on-premises netwerken werken, stelt u VPN (Virtual Private Network) of ExpressRoute-privépeering in uw virtuele Azure-netwerk in.
Privé-eindpuntbeperkingen
Let op de volgende huidige beperkingen voor DPS bij het gebruik van privé-eindpunten:
Privé-eindpunten werken niet wanneer de DPS-resource en de gekoppelde IoT-hub zich in verschillende clouds bevinden. Bijvoorbeeld Azure Government en global Azure.
Privé-eindpunten in DPS maken gebruik van Azure Private Link, die alleen worden ondersteund in openbare regio's. Zie de beschikbaarheid van Azure Private Link voor meer informatie.
Op dit moment werkt aangepast toewijzingsbeleid met Azure Functions voor DPS niet wanneer de Azure-functie is vergrendeld voor een virtueel netwerk en privé-eindpunten.
De huidige ondersteuning voor virtuele DPS-netwerken is alleen voor de binnenkomst van gegevens in DPS. Data-uitstroom, het verkeer van DPS naar IoT Hub, maakt gebruik van een interne service-naar-service mechanisme in plaats van een specifiek virtueel netwerk. Ondersteuning voor volledige virtuele netwerkgebaseerde uitgaande blokkade tussen DPS en IoT Hub is momenteel niet beschikbaar.
Het laagste toewijzingsbeleid voor latentie wordt gebruikt om een apparaat toe te wijzen aan de IoT-hub met de laagste latentie. Dit toewijzingsbeleid is niet betrouwbaar in een virtuele netwerkomgeving.
Het inschakelen van een of meer privé-eindpunten omvat meestal het uitschakelen van openbare toegang tot uw DPS-exemplaar. Zodra openbare toegang is uitgeschakeld, kunt u Azure Portal niet meer gebruiken om inschrijvingen te beheren. In plaats daarvan kunt u inschrijvingen beheren met behulp van de Azure CLI, PowerShell of service-API's van machines in een of meer virtuele netwerken/privé-eindpunten die zijn geconfigureerd op het DPS-exemplaar.
Wanneer u privé-eindpunten gebruikt, raden we u aan DPS te implementeren in een van de regio's die beschikbaarheidszones ondersteunen. Anders kunnen DPS-exemplaren waarvoor privé-eindpunten zijn ingeschakeld, een verminderde beschikbaarheid zien tijdens storingen.
Opmerking
Overwegingen voor gegevensopslaglocatie:
DPS biedt een globaal apparaateindpunt (global.azure-devices-provisioning.net). Wanneer u echter het globale eindpunt gebruikt, worden uw gegevens mogelijk omgeleid buiten de regio waar de DPS-instantie in eerste instantie is gemaakt. Gebruik privé-eindpunten om de gegevenslocatie binnen de eerste DPS-regio te garanderen.
Een privé-eindpunt instellen
Voer de volgende stappen uit om een privé-eindpunt in te stellen:
Navigeer in Azure Portal naar uw DPS-resource.
Selecteer in het servicemenu onder Instellingen het tabblad Netwerken .
Selecteer in het werkvenster het tabblad Persoonlijke toegang en selecteer vervolgens + Een privé-eindpunt maken.
Voer op het tabblad Basisbeginselen van de pagina Een privé-eindpunt maken de informatie in die wordt vermeld in de volgende tabel.
Veld Waarde Abonnement Kies het gewenste Azure-abonnement dat het privé-eindpunt moet bevatten. Resourcegroep Kies of maak een resourcegroep die het privé-eindpunt bevat. Naam Voer een naam in voor uw privé-eindpunt. Netwerkinterfacenaam Voer desgewenst een naam in voor de netwerkinterface van uw privé-eindpunt. Regio Kies de regio voor het privé-eindpunt. De gekozen regio moet hetzelfde zijn als de regio die het virtuele netwerk bevat, maar hoeft niet hetzelfde te zijn als de DPS-resource. Selecteer Volgende: Resource om de resource te configureren waarnaar het privé-eindpunt verwijst.
Voer op het tabblad Resource van de pagina Een privé-eindpunt maken de informatie in die wordt vermeld in de volgende tabel.
Veld Waarde Abonnement Als dit nog niet is gekozen, kiest u het Azure-abonnement met de DPS-resource waarnaar uw privé-eindpunt verwijst. Resourcetype Als dit nog niet is gekozen, kiest u Microsoft.Devices/ProvisioningServices. Hulpbron Als dit nog niet is gekozen, selecteert u de DPS-resource waaraan het privé-eindpunt is toegewezen. Doelsubbron Selecteer iotDps. Hint
Informatie over de instelling Verbinding maken met een Azure-resource op basis van resource-id of aliasinstelling vindt u in de sectie Een privé-eindpunt aanvragen in dit artikel.
Selecteer Volgende: Virtueel netwerk om het virtuele netwerk voor het privé-eindpunt te configureren.
Kies op het tabblad Virtueel netwerk van de pagina Een privé-eindpunt maken uw virtuele netwerk en subnet waarin u het privé-eindpunt wilt maken.
Selecteer Volgende: DNS om eventuele privé-DNS-integratieopties te kiezen die nodig zijn voor uw privé-eindpunt.
Kies op het tabblad DNS van de pagina Een privé-eindpunt maken de opties voor privé-DNS-integratie die nodig zijn voor uw privé-eindpunt.
Selecteer Volgende: Tags en eventueel eventuele tags voor uw resource opgeven.
Selecteer Volgende: Beoordelen en maken en selecteer vervolgens Maken om uw privé-eindpuntresource te maken.
Privé-eindpunten gebruiken met apparaten
Als u privé-eindpunten wilt gebruiken met apparaatinrichtingscode, moet uw inrichtingscode het specifieke service-eindpunt voor uw DPS-exemplaar gebruiken, zoals wordt weergegeven op de overzichtspagina van uw DPS-exemplaar in Azure Portal. Het service-eindpunt heeft het volgende formulier.
<Your DPS Tenant Name>.azure-devices-provisioning.net
De meeste voorbeeldcode die wordt gedemonstreerd in onze documentatie en SDK's, gebruiken het globale apparaateindpunt (global.azure-devices-provisioning.net) en het id-bereik om een bepaald DPS-exemplaar op te lossen. Gebruik het service-eindpunt in plaats van het globale apparaateindpunt wanneer u verbinding maakt met een DPS-exemplaar met behulp van privé-eindpunten om uw apparaten in te richten.
Het voorbeeld van de inrichtingsapparaatclient (pro_dev_client_sample) in de Azure IoT C SDK is bijvoorbeeld ontworpen voor het gebruik van het globale apparaateindpunt als de globale inrichtings-URI (global_prov_uri) in prov_dev_client_sample.c
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_RESULT, PROV_DEVICE_RESULT_VALUE);
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_REG_STATUS, PROV_DEVICE_REG_STATUS_VALUES);
static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
}
PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(global_prov_uri, id_scope, prov_transport)) == NULL)
{
(void)printf("failed calling Prov_Device_Create\r\n");
Als u het voorbeeld wilt gebruiken met een privé-eindpunt, wordt de gemarkeerde code in het vorige voorbeeld gewijzigd om het service-eindpunt voor uw DPS-resource te gebruiken. Als uw service-eindpunt bijvoorbeeld is mydps.azure-devices-provisioning.net, ziet de code er als volgt uit.
static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* service_uri = "mydps.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(service_uri, id_scope, prov_transport)) == NULL)
{
(void)printf("failed calling Prov_Device_Create\r\n");
}
Een privé-eindpunt aanvragen
U kunt een privé-eindpunt aanvragen voor een DPS-exemplaar met resource ID. Als u deze aanvraag wilt indienen, hebt u de resource-eigenaar nodig om u de resource-id te verstrekken.
De resource-id wordt opgegeven op de pagina Eigenschappen voor de DPS-resource in Azure Portal, zoals wordt weergegeven in de volgende schermopname.
Waarschuwing
De resource-id bevat de abonnements-id.
Zodra u de resource-id hebt, volgt u de stappen in Een privé-eindpunt instellen op stap 3 op het tabblad Resource van de pagina Een privé-eindpunt maken . Kies Verbinden met een Azure-resource op resource ID of alias en voer de informatie in de onderstaande tabel in.
Veld Waarde Resource-ID of alias Voer de resource-id in voor de DPS-resource. Doelsubbron Voer iotDps in Bericht aanvragen Voer een aanvraag in voor de eigenaar van de DPS-resource.
BijvoorbeeldPlease approve this new private endpointfor IoT devices in site 23 to access this DPS instanceSelecteer Volgende: Virtueel netwerk om het virtuele netwerk voor het privé-eindpunt te configureren.
Kies op het tabblad Virtueel netwerk van de pagina Een privé-eindpunt maken uw virtuele netwerk en subnet waarin u het privé-eindpunt wilt maken.
Selecteer Volgende: DNS om eventuele privé-DNS-integratieopties te kiezen die nodig zijn voor uw privé-eindpuntaanvraag.
Kies op het tabblad DNS van de pagina Een privé-eindpunt maken de opties voor privé-DNS-integratie die nodig zijn voor uw privé-eindpuntaanvraag.
Selecteer Volgende: Tags en eventueel eventuele tags voor uw resource opgeven.
Selecteer Volgende: Beoordelen en maken en selecteer vervolgens Maken om uw privé-eindpuntaanvraag te maken.
De DPS-eigenaar ziet de aanvraag voor het privé-eindpunt in de lijst met privé-eindpuntverbindingen op de pagina Netwerken van het DPS-exemplaar in Azure Portal. Op die pagina kan de eigenaar de aanvraag voor het privé-eindpunt goedkeuren of afwijzen .
Prijzen voor privé-eindpunten
Zie prijzen van Azure Private Link voor meer informatie over prijzen.
Volgende stappen
Meer informatie over DPS-beveiligingsfuncties: