Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vysvětluje, jak vytvořit novou službu IoT Hub s integrací služby Azure Device Registry (ADR) a správou certifikátů X.509 založených na Microsoftu.
Důležité
Azure IoT Hub s integrací ADR a správou certifikátů X.509 založené na Microsoftu je ve verzi Public Preview a nedoporučuje se pro produkční úlohy. Další informace najdete v nejčastějších dotazech: Co je nového ve službě IoT Hub?.
Požadavky
Aktivní předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
Pokud nemáte nainstalované Rozhraní příkazového řádku Azure CLI, postupujte podle pokynů k instalaci Azure CLI.
Nainstalujte rozšíření Azure IoT CLI s povolenou funkcí Preview pro přístup k funkcím integrace ADR a správě certifikátů pro IoT Hub.
Zkontrolujte existující instalace rozšíření Azure CLI.
az extension listOdstraňte všechny existující instalace azure-iot.
az extension remove --name azure-iotNainstalujte rozšíření azure-iot z indexu s povolenými verzemi Preview.
az extension add --name azure-iot --allow-previewnebo stáhněte soubor .whl ze stránky vydaných verzí GitHubu a nainstalujte rozšíření ručně.
az extension add --upgrade --source https://github.com/Azure/azure-iot-cli-extension/releases/download/v0.30.0b1/azure_iot-0.30.0b1-py3-none-any.whlPo instalaci ověřte, že je vaše verze rozšíření azure-iot větší než 0.30.0b1.
az extension list
Ujistěte se, že máte oprávnění k provádění přiřazení rolí v rámci cílového oboru. Provádění přiřazení rolí v Azure vyžaduje privilegovanou roli, například vlastníka nebo správce uživatelských přístupů v příslušném oboru.
Volba metody nasazení
Pokud chcete používat správu certifikátů, musíte také nastavit IoT Hub, ADR a službu Device Provisioning Service (DPS). Pokud chcete, můžete se rozhodnout, že nepovolíte správu certifikátů a nakonfigurujete pouze Službu IoT Hub s využitím ADR.
K nastavení služby IoT Hub s integrací ADR a správou certifikátů můžete použít Azure CLI nebo skript, který automatizuje proces nastavení.
| Metoda nasazení | Description |
|---|---|
| Výběr Azure CLI v horní části stránky | Pomocí Azure CLI vytvořte novou službu IoT Hub, instanci DPS a obor názvů ADR a nakonfigurujte všechna potřebná nastavení. |
| Výběr powershellového skriptu v horní části stránky | Pomocí skriptu PowerShellu (jenom Pro Windows) můžete automatizovat vytvoření nové služby IoT Hub, instance DPS a oboru názvů ADR a nakonfigurovat všechna potřebná nastavení. |
Přehled
Pomocí příkazů Azure CLI vytvořte IoT Hub s integrací ADR a správou certifikátů.
Proces instalace v tomto článku zahrnuje následující kroky:
- Vytvoření skupiny zdrojů
- Konfigurace potřebných oprávnění aplikace
- Vytvořit uživatelsky přiřazenou spravovanou identitu
- Vytvořte obor názvů ADR se spravovanou identitou přiřazenou systémem
- Vytvořit důvěryhodnost (kořenová certifikační autorita) a politiku (vydávající certifikační autorita) v rámci tohoto oboru názvů.
- Vytvoření IoT Hubu (verze preview) s připojeným oborem názvů a spravovanou identitou
- Vytvoření DPS s propojeným IoT Hubem a oborem názvů
- Synchronizujte vaše přihlašovací údaje a správné postupy (certifikáty CA) do prostoru jmen ADR
- Vytvořte skupinu registrací a propojte ji s vaší zásadou pro povolení zřizování certifikátů
Důležité
Během období Preview je služba IoT Hub s integrací ADR a funkcemi správy certifikátů, které jsou zahrnuté ve službě IoT Hub k dispozici zdarma. Služba Device Provisioning Service (DPS) se účtuje samostatně a není součástí nabídky Preview. Podrobnosti o cenách DPS najdete v tématu Ceny služby Azure IoT Hub.
Příprava prostředí
Pokud chcete připravit prostředí na používání služby Azure Device Registry, proveďte následující kroky:
Otevřete okno terminálu.
Pokud se chcete přihlásit ke svému účtu Azure, spusťte
az loginpříkaz .Pokud chcete zobrazit seznam všech předplatných a tenantů, ke kterým máte přístup, spusťte
az account listpříkaz .Pokud máte přístup k několika předplatným Azure, nastavte aktivní předplatné, ve kterém se vaše zařízení IoT vytvářejí spuštěním následujícího příkazu.
az account set --subscription "<your subscription name or ID>"Pokud chcete zobrazit podrobnosti o aktuálním účtu, spusťte
az account showpříkaz . Zkopírujte obě následující hodnoty z výstupu příkazu a uložte je do bezpečného umístění.- Identifikátor
idGUID. Tuto hodnotu použijete k zadání ID předplatného. - Identifikátor
tenantIdGUID. Tuto hodnotu použijete k aktualizaci oprávnění pomocí ID tenanta.
- Identifikátor
Nakonfigurujte svou skupinu prostředků, oprávnění a spravovanou identitu
Pokud chcete vytvořit skupinu prostředků, roli a oprávnění pro vaše řešení IoT, proveďte následující kroky:
Vytvořte skupinu prostředků pro vaše prostředí.
az group create --name <RESOURCE_GROUP_NAME> --location <REGION>Přiřaďte službě IoT Hub roli Přispěvatele na úrovni skupiny prostředků. Hodnota
AppId, což je hlavní ID pro IoT Hub, je89d10474-74af-4874-99a7-c23c2f643083a je stejná pro všechny aplikace Hubu.az role assignment create --assignee "89d10474-74af-4874-99a7-c23c2f643083" --role "Contributor" --scope "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>"Vytvořte novou spravovanou identitu přiřazenou uživatelem (UAMI).
az identity create --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME> --location <REGION>Získejte ID prostředku spravované identity. K přiřazení rolí, konfiguraci zásad přístupu nebo propojení identity s jinými prostředky potřebujete ID prostředku.
UAMI_RESOURCE_ID=$(az identity show --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME> --query id -o tsv)
Vytvořte nový obor názvů ADR
V této části vytvoříte nový obor názvů ADR se spravovanou identitou přiřazenou systémem. Tento proces automaticky vygeneruje pověření kořenové certifikační autority a politiku vydávající certifikační autority pro obor názvů. Další informace o tom, jak se přihlašovací údaje a zásady používají k podepisování koncových certifikátů zařízení během zřizování, najdete v tématu Správa certifikátů.
Poznámka:
Přihlašovací údaje jsou volitelné. Můžete také vytvořit obor názvů bez spravované identity tak, že vynecháte příznaky --enable-credential-policy a --policy-name.
Vytvořte nový jmenný prostor ADR. Obor názvů
namemůže obsahovat jenom malá písmena a pomlčky (-) uprostřed názvu, ale ne na začátku nebo na konci. Například název msft-namespace je platný.
Příkaz--enable-credential-policyvytvoří přihlašovací údaje (kořenovou certifikační autoritu) a výchozí zásadu (vydávající certifikační autoritu) pro tento obor názvů. Název této zásady můžete nakonfigurovat pomocí--policy-namepříkazu. Ve výchozím nastavení může zásada vydávat certifikáty s platností 30 dnů.az iot adr ns create --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --location <REGION> --enable-credential-policy true --policy-name <POLICY_NAME>Návod
Volitelně můžete vytvořit vlastní zásadu přidáním parametrů
--cert-subjecta--cert-validity-days. Další informace najdete v tématu Vytvoření vlastní zásady.Poznámka:
Vytvoření oboru názvů ADR se spravovanou identitou přiřazenou systémem může trvat až 5 minut.
Ověřte, že je vytvořen obor názvů s identitou spravovanou systémem nebo s ID hlavního objektu.
az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Ověřte, že byla vytvořena pověření a zásady s uvedeným názvem.
az iot adr ns credential show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> az iot adr ns policy show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --name <POLICY_NAME>Poznámka:
Pokud jste nepřiřadili název zásady, vytvoří se zásada s názvem "default".
Přiřaďte roli UAMI pro přístup k oboru názvů ADR
V této části přiřadíte roli Přispěvatele registru zařízení Azure ke spravované identitě a omezíte ji na obor názvů. Tato vlastní role umožňuje plný přístup k zařízením IoT v rámci oboru názvů ADR.
Načtěte hlavní ID User-Assigned Managed Identity. Toto ID je potřeba k přiřazení rolí identitě.
UAMI_PRINCIPAL_ID=$(az identity show --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP> --query principalId -o tsv)Získejte ID prostředku ADR oboru názvů. Tento identifikátor se používá jako rozsah přiřazení role.
NAMESPACE_RESOURCE_ID=$(az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv)Přiřaďte spravované identitě roli Přispěvatel registru zařízení Azure . Tato role uděluje spravované identitě potřebná oprávnění vymezená oborem názvů.
az role assignment create --assignee $UAMI_PRINCIPAL_ID --role "a5c3590a-3a1a-4cd4-9648-ea0a32b15137" --scope $NAMESPACE_RESOURCE_ID
Vytvoření ioT Hubu s integrací ADR
Vytvořte novou službu IoT Hub, která je propojená s oborem názvů ADR a dříve vytvořenou službou UAMI.
az iot hub create --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --location <HUB_LOCATION> --sku GEN2 --mi-user-assigned $UAMI_RESOURCE_ID --ns-resource-id $NAMESPACE_RESOURCE_ID --ns-identity-id $UAMI_RESOURCE_IDDůležité
Vzhledem k tomu, že centrum IoT bude veřejně zjistitelné jako koncový bod DNS, nezapomeňte se vyhnout zadávání citlivých nebo identifikovatelných osobních údajů při jejich pojmenování.
Ověřte, že je ve službě IoT Hub nakonfigurovaná správná identita a vlastnosti ADR.
az iot hub show --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --query identity --output json
Přiřazení rolí služby IoT Hub pro přístup k oboru názvů ADR
Načtěte ID hlavního objektu spravované identity prostoru názvů ADR. Tato identita potřebuje oprávnění pro interakci se službou IoT Hub.
ADR_PRINCIPAL_ID=$(az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP> --query identity.principalId -o tsv)Načtěte ID prostředku IoT Hubu. Tento identifikátor se používá jako rozsah pro přiřazení rolí.
HUB_RESOURCE_ID=$(az iot hub show --name <HUB_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv)Přiřaďte roli přispěvatel k identitě ADR. Tím se udělí přístup přispěvatele spravované identity oboru názvů ADR ke službě IoT Hub. Tato role umožňuje široký přístup, včetně správy prostředků, ale nepřiřazování rolí.
az role assignment create --assignee $ADR_PRINCIPAL_ID --role "Contributor" --scope $HUB_RESOURCE_IDPřiřaďte k identitě ADR roli Přispěvatel registru služby IoT Hub. Tím udělíte konkrétnější oprávnění ke správě identit zařízení ve službě IoT Hub. To je nezbytné pro ADR pro registraci a správu zařízení v centru.
az role assignment create --assignee $ADR_PRINCIPAL_ID --role "IoT Hub Registry Contributor" --scope $HUB_RESOURCE_ID
Vytvoření instance služby Device Provisioning s integrací ADR
Vytvořte novou instanci DPS propojenou s namespace ADR vytvořeným v předchozích částech. Vaše instance DPS musí být umístěná ve stejné oblasti jako váš obor názvů ADR.
az iot dps create --name <DPS_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --mi-user-assigned $UAMI_RESOURCE_ID --ns-resource-id $NAMESPACE_RESOURCE_ID --ns-identity-id $UAMI_RESOURCE_IDOvěřte, že je ve službě DPS nakonfigurovaná správná identita a vlastnosti ADR.
az iot dps show --name <DPS_NAME> --resource-group <RESOURCE_GROUP> --query identity --output json
Propojení IoT Hubu s instancí služby Device Provisioning Service
Propojte IoT Hub s vaším DPS.
az iot dps linked-hub create --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP> --hub-name <HUB_NAME>Ověřte, že se IoT Hub zobrazí v seznamu propojených center pro DPS.
az iot dps linked-hub list --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP>
Spuštění synchronizace přihlašovacích údajů ADR
Synchronizujte své přihlašovací údaje a zásady se službou IoT Hub. Tento krok zajistí, že IoT Hub zaregistruje certifikáty certifikační autority a důvěřuje všem koncovým certifikátům vystaveným nakonfigurovanými zásadami.
az iot adr ns credential sync --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP>
Ověřte certifikát certifikační autority uzlu
Ověřte, že vaše služba IoT Hub zaregistrovala certifikát certifikační autority.
az iot hub certificate list --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP>
Vytvoření registrace v DPS
Pokud chcete zřídit zařízení pomocí listových certifikátů, vytvořte ve službě DPS skupinu registrací a přiřaďte ji k příslušné zásadě přihlašovacích údajů pomocí parametru --credential-policy .
Následující příkaz vytvoří skupinu registrací s použitím ověření symetrického klíče ve výchozím nastavení:
Poznámka:
Pokud jste vytvořili zásadu s jiným názvem než výchozí, ujistěte se, že tento název zásady použijete za parametrem --credential-policy .
az iot dps enrollment-group create --dps-name <DPS_NAME> --resource-group <RESOURCE_GROUP> --enrollment-id <ENROLLMENT_ID> --credential-policy <POLICY_NAME>
Vaše služba IoT Hub s integrací ADR a správou certifikátů je teď nastavená a připravená k použití.
Volitelné příkazy
Následující příkazy vám pomůžou spravovat obory názvů ADR, zakázat zařízení, vytvářet vlastní zásady a odstraňovat prostředky, když už nejsou potřeba.
Správa oborů názvů
Vypište všechny obory názvů ve vaší skupině prostředků.
az iot adr ns list --resource-group <RESOURCE_GROUP_NAME>Zobrazí podrobnosti o konkrétním jmenném prostoru.
az iot adr ns show --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Vypište všechny zásady ve vašem jmenném prostoru.
az iot adr ns policy list --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>Zobrazení podrobností o konkrétní zásadě
az iot adr ns policy show --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --name <POLICY_NAME>Vypište všechny přihlašovací údaje ve vašem jmenném prostoru.
az iot adr ns credential list --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>
Zakázání zařízení
Zobrazí seznam všech zařízení ve službě IoT Hub.
az iot hub device-identity list --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME>Zakažte zařízení aktualizací jeho stavu na
disabled. Nezapomeňte nahradit<MY_DEVICE_ID>ID zařízení, které chcete zakázat.az iot hub device-identity update --hub-name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME> -d <MY_DEVICE_ID> --status disabledSpusťte zařízení znovu a ověřte, že se nemůže připojit ke službě IoT Hub.
Vytvoření vlastní zásady
Pomocí příkazu az iot adr ns policy create vytvořte vlastní zásadu. Nastavte název, předmět certifikátu a dobu platnosti zásad následujícím postupem:
- Hodnota zásady
namemusí být v rámci oboru názvů jedinečná. Pokud se pokusíte vytvořit zásadu s názvem, který již existuje, zobrazí se chybová zpráva. - Hodnota předmětu
cert-subjectcertifikátu musí být jedinečná ve všech politikách v oboru názvů. Pokud se pokusíte vytvořit zásadu s předmětem, který již existuje, zobrazí se chybová zpráva. - Hodnota období
cert-validity-daysplatnosti musí být mezi 1 a 30 dny. Pokud se pokusíte vytvořit zásadu s dobou platnosti mimo tento rozsah, zobrazí se chybová zpráva.
Následující příklad vytvoří zásadu s názvem custom-policy s předmětem CN=TestDevice a dobou platnosti 30 dnů.
az iot adr ns policy create --name "custom-policy" --namespace <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME> --cert-subject "CN=TestDevice" --cert-validity-days "30"
Smazat prostředky
Pokud chcete odstranit obor názvů ADR, musíte nejprve odstranit všechny instance IoT Hub a DPS napojené na obor názvů.
az iot hub delete --name <HUB_NAME> --resource-group <RESOURCE_GROUP_NAME>
az iot adr ns delete --name <NAMESPACE_NAME> --resource-group <RESOURCE_GROUP_NAME>
az iot dps delete --name <DPS_NAME> --resource-group <RESOURCE_GROUP_NAME>
az identity delete --name <USER_IDENTITY> --resource-group <RESOURCE_GROUP_NAME>
Přehled
Pomocí poskytnutého skriptu PowerShellu můžete automatizovat nastavení služby IoT Hub pomocí integrace služby Azure Device Registry. Skript provede všechny nezbytné kroky k vytvoření požadovaných prostředků a jejich propojení, včetně:
- Vytvoření skupiny zdrojů
- Konfigurace potřebných oprávnění aplikace
- Vytvořit uživatelsky přiřazenou spravovanou identitu
- Vytvořte obor názvů ADR se spravovanou identitou přiřazenou systémem
- Vytvořit důvěryhodnost (kořenová certifikační autorita) a politiku (vydávající certifikační autorita) v rámci tohoto oboru názvů.
- Vytvoření IoT Hubu (verze preview) s připojeným oborem názvů a spravovanou identitou
- Vytvoření DPS s propojeným IoT Hubem a oborem názvů
- Synchronizujte vaše přihlašovací údaje a správné postupy (certifikáty CA) do prostoru jmen ADR
- Vytvořte skupinu registrací a propojte ji s vaší zásadou pro povolení zřizování certifikátů
Důležité
Během období Preview je služba IoT Hub s integrací ADR a funkcemi správy certifikátů, které jsou zahrnuté ve službě IoT Hub k dispozici zdarma. Služba Device Provisioning Service (DPS) se účtuje samostatně a není součástí nabídky Preview. Podrobnosti o cenách DPS najdete v tématu Ceny služby Azure IoT Hub.
Příprava prostředí
- Stáhněte si PowerShell 7 pro Windows.
- Přejděte do úložiště GitHub a stáhněte složku Scripts, která obsahuje soubor skriptu.
iothub-adr-certs-setup-preview.ps1
Přizpůsobení proměnných skriptu
Otevřete soubor skriptu v textovém editoru a upravte následující proměnné tak, aby odpovídaly požadované konfiguraci.
-
TenantId: VAŠE ID tenanta. Tuto hodnotu najdete spuštěnímaz account showv terminálu. -
SubscriptionId: VAŠE ID předplatného. Tuto hodnotu najdete spuštěnímaz account showv terminálu. -
ResourceGroup: Název vaší skupiny prostředků. -
Location: Oblast Azure, ve které chcete prostředky vytvořit. Podívejte se na dostupná umístění funkcí preview v části Podporované oblasti . -
NamespaceName: Název oboru názvů může obsahovat pouze malá písmena a pomlčky (-) uprostřed názvu, ale ne na začátku nebo na konci. Například msft-namespace je platný název. -
HubName: Název centra může obsahovat jenom malá písmena a číslice. -
DpsName: Název instance služby Device Provisioning. -
UserIdentity: Spravovaná identita přidělená uživatelem pro vaše prostředky. -
WorkingFolder: Místní složka, ve které se nachází váš skript.
Důležité
Vzhledem k tomu, že centrum IoT bude veřejně zjistitelné jako koncový bod DNS, nezapomeňte se vyhnout zadávání citlivých nebo identifikovatelných osobních údajů při jejich pojmenování.
Interaktivní spuštění skriptu
Otevřete skript a spusťte ho v PowerShellu 7+ jako správce. Přejděte do složky obsahující váš skript a spusťte
.\iothub-adr-certs-setup-preview.ps1.Pokud narazíte na problém se zásadami spuštění, zkuste spustit
powershell -ExecutionPolicy Bypass -File .\iothub-adr-certs-setup-preview.ps1.Postupujte podle vedených pokynů:
- Pokud chcete pokračovat krokem, stiskněte
Enterklávesu - Stiskněte
sneboSpřeskočte krok. - Stisknutím
Ctrl+Cpřerušíte
- Pokud chcete pokračovat krokem, stiskněte
Poznámka:
Vytvoření oboru názvů ADR, IoT Hubu, DPS a dalších prostředků může trvat až 5 minut.
Monitorování provádění a ověření prostředků
Skript pokračuje v provádění, když se zobrazí upozornění a zastaví pouze v případě, že příkaz vrátí nenulový ukončovací kód. Monitorujte konzolu s červenými zprávami ERROR , které indikují problémy, které vyžadují pozornost.
Po dokončení skriptu ověřte vytvoření prostředků tak, že navštívíte novou skupinu prostředků na webu Azure Portal. Měli byste vidět následující vytvořené zdroje:
- Instance IoT Hub
- Instance služby nasazování zařízení (DPS)
- Obor názvů služby Azure Device Registry (ADR)
- spravovaná identita přiřazená uživatelem (UAMI)
Další kroky
V tuto chvíli je vaše služba IoT Hub s integrací ADR a správou certifikátů nastavená a připravená k použití. Teď můžete začít připojovat zařízení IoT do centra pomocí instance služby Device Provisioning Service (DPS) a bezpečně spravovat zařízení IoT pomocí zásad a registrací, které jste nastavili.
Nové: Správa certifikátů se podporuje napříč vybranými sadami SDK pro zařízení DPS. Teď můžete připojit zařízení pomocí správy certifikátů X.509 založené na Microsoftu s následujícími ukázkami sady SDK: