Podpora služby Azure IoT Hub Device Provisioning Service (DPS) pro virtuální sítě

Tento článek představuje model připojení virtuální sítě (VNET) pro zařízení IoT, která zřizují centra IoT pomocí DPS. Tento model poskytuje privátní připojení mezi zařízeními, DPS a centrem IoT v rámci virtuální sítě Azure vlastněné zákazníkem.

Ve většině scénářů, ve kterých je služba DPS nakonfigurovaná s virtuální sítí, je služba IoT Hub nakonfigurovaná také ve stejné virtuální síti. Konkrétnější informace o podpoře a konfiguraci virtuální sítě pro ioT Hub najdete v tématu Podpora virtuálních sítí služby IoT Hub.

Úvod

Ve výchozím nastavení se názvy hostitelů DPS mapují na veřejný koncový bod s veřejně směrovatelnou IP adresou přes internet. Tento veřejný koncový bod je viditelný pro všechny zákazníky. Zařízení IoT přes sítě s širokými oblastmi a místní sítě se můžou pokusit o přístup k veřejnému koncovému bodu.

Zákazníci můžou z několika důvodů chtít omezit připojení k prostředkům Azure, jako je DPS. Mezi tyto důvody patří:

  • Zabraňte vystavení připojení přes veřejný internet. Vystavení je možné snížit zavedením více vrstev zabezpečení prostřednictvím izolace na úrovni sítě pro vaše prostředky IoT Hubu a DPS.

  • Povolení privátního připojení z místních síťových prostředků zajišťuje, aby se vaše data a provoz přenášely přímo do páteřní sítě Azure.

  • Prevence útoků exfiltrace z citlivých místních sítí

  • Po zavedených vzorech připojení pro Celou Azure s využitím privátních koncových bodů.

Mezi běžné přístupy k omezení připojení patří pravidla filtru IP adres SLUŽBY DPS a virtuální sítě s privátními koncovými body. Cílem tohoto článku je popsat přístup k virtuální síti pro SLUŽBU DPS pomocí privátních koncových bodů.

Zařízení, která pracují v místních sítích, můžou používat privátní partnerský vztah virtuální privátní sítě (VPN) nebo privátního partnerského vztahu ExpressRoute k připojení k virtuální síti v Azure a přístup k prostředkům DPS prostřednictvím privátních koncových bodů.

Privátní koncový bod je privátní IP adresa přidělená uvnitř virtuální sítě vlastněné zákazníkem, pomocí které je prostředek Azure přístupný. Když budete mít privátní koncový bod pro váš prostředek DPS, můžete zařízením v rámci vaší virtuální sítě povolit, aby požadovala zřízení prostředkem DPS bez povolení provozu do veřejného koncového bodu. Každý prostředek DPS může podporovat více privátních koncových bodů, z nichž každý se může nacházet ve virtuální síti v jiné oblasti.

Předpoklady

Než budete pokračovat, ujistěte se, že jsou splněny následující požadavky:

Omezení privátních koncových bodů

Při používání privátních koncových bodů si všimněte následujících aktuálních omezení služby DPS:

  • Privátní koncové body nefungují, když se prostředek DPS a propojené centrum IoT nacházejí v různých cloudech. Například Azure Government a globální Azure.

  • Privátní koncové body v DPS používají Azure Private Link, které se podporují jenom ve veřejných oblastech. Další informace najdete v tématu Dostupnost služby Azure Private Link.

  • Vlastní zásady přidělování se službou Azure Functions pro DPS v současné době nefungují, když je funkce Azure uzamčená na virtuální síť a privátní koncové body.

  • Aktuální podpora virtuální sítě DPS je určená pouze pro příchozí přenos dat do DPS. Výchozí přenos dat, což je přenos z DPS do IoT Hubu, používá interní mechanismus mezi službami místo vyhrazené virtuální sítě. Podpora úplného uzamčení výchozího přenosu dat založeného na virtuální síti mezi DPS a IoT Hubem není aktuálně k dispozici.

  • Zásady přidělení nejnižší latence se používají k přiřazení zařízení do centra IoT s nejnižší latencí. Tato zásada přidělování není v prostředí virtuální sítě spolehlivá.

  • Povolení jednoho nebo několika privátních koncových bodů obvykle zahrnuje zakázání veřejného přístupu k vaší instanci DPS. Jakmile je veřejný přístup zakázaný, nebudete už moct spravovat registrace pomocí webu Azure Portal. Místo toho můžete spravovat registrace pomocí rozhraní příkazového řádku Azure CLI, PowerShellu nebo rozhraní API služby z počítačů uvnitř virtuálních sítí nebo privátních koncových bodů nakonfigurovaných v instanci DPS.

  • Při použití privátních koncových bodů doporučujeme nasadit službu DPS v jedné z oblastí, které podporují Zóny dostupnosti. V opačném případě se instance DPS s povolenými privátními koncovými body můžou v případě výpadků zobrazit nižší dostupnost.

Poznámka:

Důležité informace o rezidenci dat:

DPS poskytuje globální koncový bod zařízení (global.azure-devices-provisioning.net). Při použití globálního koncového bodu se však vaše data můžou přesměrovat mimo oblast, ve které byla instance DPS původně vytvořena. K zajištění rezidence dat v rámci počáteční oblasti DPS použijte privátní koncové body.

Nastavení privátního koncového bodu

Pokud chcete nastavit privátní koncový bod, postupujte takto:

  1. Na webu Azure Portal otevřete prostředek DPS a vyberte kartu Sítě . Vyberte připojení privátního koncového bodu a + privátní koncový bod.

    Screenshot that shows adding a new private endpoint for DPS.

  2. Na stránce Vytvoření privátního koncového bodu Základy zadejte informace uvedené v následující tabulce.

    Screenshot that shows the private endpoints basics page.

    Pole Hodnota
    Předplatné Zvolte požadované předplatné Azure, které bude obsahovat privátní koncový bod.
    Skupina prostředků Zvolte nebo vytvořte skupinu prostředků, která bude obsahovat privátní koncový bod.
    Název Zadejte název privátního koncového bodu.
    Oblast Vybraná oblast musí být stejná jako oblast, která obsahuje virtuální síť, ale nemusí být stejná jako prostředek DPS.

    Vyberte Další: Prostředek a nakonfigurujte prostředek, na který privátní koncový bod odkazuje.

  3. Na stránce Vytvořit prostředek privátního koncového bodu zadejte informace uvedené v následující tabulce.

    Screenshot that shows the private endpoint resource page.

    Pole Hodnota
    Předplatné Zvolte předplatné Azure, které obsahuje prostředek DPS, na který váš privátní koncový bod odkazuje.
    Typ prostředku Zvolte Microsoft.Devices/ProvisioningServices.
    Prostředek Vyberte prostředek DPS, na který se privátní koncový bod mapuje.
    Cílový dílčí prostředek Vyberte iotDps.

    Tip

    Informace o Připojení prostředku Azure podle ID prostředku nebo nastavení aliasu najdete v části Žádost o privátní koncový bod v tomto článku.

    Vyberte Další: Konfigurace pro konfiguraci virtuální sítě pro privátní koncový bod.

  4. Na stránce Vytvořit konfiguraci privátního koncového bodu zvolte virtuální síť a podsíť, ve které chcete vytvořit privátní koncový bod.

    Vyberte Další: Značky a volitelně zadejte všechny značky pro váš prostředek.

    Screenshot that shows the private endpoint configuration page.

  5. Vyberte Zkontrolovat a vytvořit a pak vytvořit prostředek privátního koncového bodu.

Použití privátních koncových bodů se zařízeními

Pokud chcete používat privátní koncové body s kódem zřizování zařízení, musí váš kód zřizování použít konkrétní koncový bod služby pro vaši instanci DPS, jak je znázorněno na stránce přehledu vaší instance DPS na webu Azure Portal. Koncový bod služby má následující formulář.

<Your DPS Tenant Name>.azure-devices-provisioning.net

Většina vzorového kódu ukázaný v naší dokumentaci a sadách SDK, k vyřešení konkrétní instance DPS použijte globální koncový bod zařízení (global.azure-devices-provisioning.net) a rozsah ID. Při připojování k instanci DPS pomocí privátních koncových bodů ke zřízení zařízení použijte koncový bod služby místo globálního koncového bodu zařízení.

Například ukázka klienta zřizování zařízení (pro_dev_client_sample) v sadě Azure IoT C SDK je navržená tak, aby používala globální koncový bod zařízení jako identifikátor URIglobal_prov_uri globálního zřizování v 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");

Pokud chcete ukázku použít s privátním koncovým bodem, výše uvedený zvýrazněný kód by se změnil tak, aby používal koncový bod služby pro váš prostředek DPS. Pokud by například váš koncový bod služby byl mydps.azure-devices-provisioning.net, kód by vypadal následovně.

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");
    }

Vyžádání privátního koncového bodu

Privátní koncový bod můžete požádat o instanci DPS podle ID prostředku. K provedení této žádosti potřebujete vlastníka prostředku, který vám poskytne ID prostředku.

  1. ID prostředku je k dispozici na kartě vlastnosti prostředku DPS, jak je znázorněno níže.

    Screenshot that shows the DPS Properties tab.

    Upozornění

    Mějte na paměti, že ID prostředku obsahuje ID předplatného.

  2. Jakmile budete mít ID prostředku, postupujte podle výše uvedených kroků v části Nastavení privátního koncového bodu na kroku 3 na stránce Vytvořit prostředek privátního koncového bodu. Vyberte Připojení k prostředku Azure podle ID prostředku nebo aliasu a zadejte informace v následující tabulce.

    Pole Hodnota
    ID nebo alias prostředku Zadejte ID prostředku pro prostředek DPS.
    Cílový dílčí prostředek Zadejte iotDps.
    Žádost o zprávu Zadejte zprávu žádosti o vlastníka prostředku DPS.
    Například
    Please approve this new private endpoint
    for IoT devices in site 23 to access this DPS instance

    Vyberte Další: Konfigurace pro konfiguraci virtuální sítě pro privátní koncový bod.

  3. Na stránce Vytvořit konfiguraci privátního koncového bodu zvolte virtuální síť a podsíť, ve které chcete vytvořit privátní koncový bod.

    Vyberte Další: Značky a volitelně zadejte všechny značky pro váš prostředek.

  4. Vyberte Zkontrolovat a vytvořit a pak vytvořit požadavek privátního koncového bodu.

  5. Vlastník DPS uvidí požadavek privátního koncového bodu v seznamu připojení privátních koncových bodů na kartě sítě DPS. Na této stránce může vlastník žádost o privátní koncový bod schválit nebo odmítnout .

    Screenshot that shows the private endpoint request approval.

Ceny privátních koncových bodů

Podrobnosti o cenách najdete v tématu s cenami služby Azure Private Link.

Další kroky

Další informace o funkcích zabezpečení DPS najdete na následujících odkazech: