Tworzenie i aprowizowania urządzeń IoT Edge na dużą skalę w systemie Windows przy użyciu certyfikatów X.509

Dotyczy ikony:yes IoT Edge 1.1

Ważne

IoT Edge 1.1 data zakończenia wsparcia wynosiła 13 grudnia 2022 r. Zapoznaj się z cyklem życia produktów firmy Microsoft, aby uzyskać informacje na temat sposobu obsługi tego produktu lub interfejsu API albo tej usługi lub technologii. Aby uzyskać więcej informacji na temat aktualizowania do najnowszej wersji IoT Edge, zobacz Update IoT Edge.

Ten artykuł zawiera kompleksowe instrukcje dotyczące automatycznego aprowizowania co najmniej jednego urządzenia z systemem Windows IoT Edge przy użyciu certyfikatów X.509. Możesz automatycznie aprowizować urządzenia platformy Azure IoT Edge za pomocą usługi Azure IoT Hub device provisioning Service (DPS). Jeśli nie znasz procesu automatycznego aprowizacji, przed kontynuowaniem zapoznaj się z omówieniem aprowizacji .

Uwaga

Usługa Azure IoT Edge z kontenerami systemu Windows nie będzie obsługiwana, począwszy od wersji 1.2 usługi Azure IoT Edge.

Rozważ użycie nowej metody uruchamiania IoT Edge na urządzeniach z systemem Windows, azure IoT Edge dla systemu Linux w systemie Windows.

Jeśli chcesz użyć usługi Azure IoT Edge dla systemu Linux w systemie Windows, możesz wykonać kroki opisane w równoważnym przewodniku z instrukcjami.

Zadania są następujące:

  1. Generowanie certyfikatów i kluczy.
  2. Utwórz rejestrację indywidualną dla jednego urządzenia lub rejestrację grupową dla zestawu urządzeń.
  3. Zainstaluj środowisko uruchomieniowe IoT Edge i zarejestruj urządzenie przy użyciu IoT Hub.

Korzystanie z certyfikatów X.509 jako mechanizmu zaświadczania to doskonały sposób skalowania środowiska produkcyjnego i upraszczania aprowizacji urządzeń. Zazwyczaj certyfikaty X.509 są rozmieszczane w łańcuchu zaufania certyfikatów. Począwszy od certyfikatu głównego z podpisem własnym lub zaufanym, każdy certyfikat w łańcuchu podpisuje następny niższy certyfikat. Ten wzorzec tworzy delegowany łańcuch zaufania z certyfikatu głównego w dół za pośrednictwem każdego certyfikatu pośredniego do końcowego certyfikatu urządzenia podrzędnego zainstalowanego na urządzeniu.

Wymagania wstępne

Zasoby w chmurze

  • Aktywne centrum IoT
  • Wystąpienie usługi aprowizacji urządzeń IoT Hub na platformie Azure połączone z centrum IoT
    • Jeśli nie masz wystąpienia usługi aprowizacji urządzeń, możesz postępować zgodnie z instrukcjami w przewodniku Szybki start Tworzenie nowej usługi aprowizacji urządzeń IoT Hub i Łączenie centrum IoT Hub i usługi aprowizacji urządzeń w przewodniku Szybki start IoT Hub device provisioning Service.
    • Po uruchomieniu usługi aprowizacji urządzeń skopiuj wartość pola Zakres identyfikatora ze strony przeglądu. Ta wartość jest używana podczas konfigurowania środowiska uruchomieniowego IoT Edge.

Wymagania dotyczące urządzeń

Fizyczne lub wirtualne urządzenie z systemem Windows jako urządzenie IoT Edge.

Generowanie certyfikatów tożsamości urządzeń

Certyfikat tożsamości urządzenia to certyfikat urządzenia podrzędnego, który łączy się za pośrednictwem łańcucha certyfikatów zaufania do najwyższego certyfikatu urzędu certyfikacji X.509. Certyfikat tożsamości urządzenia musi mieć ustawioną nazwę pospolitą (CN) na identyfikator urządzenia, który ma znajdować się w centrum IoT.

Certyfikaty tożsamości urządzenia są używane tylko do aprowizowania urządzenia IoT Edge i uwierzytelniania urządzenia przy użyciu Azure IoT Hub. Nie podpisują certyfikatów, w przeciwieństwie do certyfikatów urzędu certyfikacji, które urządzenie IoT Edge przedstawia modułom lub urządzeniom podrzędnym na potrzeby weryfikacji. Aby uzyskać więcej informacji, zobacz Szczegóły użycia certyfikatu usługi Azure IoT Edge.

Po utworzeniu certyfikatu tożsamości urządzenia powinny znajdować się dwa pliki: plik cer lub pem zawierający publiczną część certyfikatu oraz plik cer lub pem z kluczem prywatnym certyfikatu. Jeśli planujesz używać rejestracji grup w usłudze DPS, potrzebna jest również publiczna część pośredniego lub głównego certyfikatu urzędu certyfikacji w tym samym łańcuchu zaufania certyfikatu.

Do skonfigurowania automatycznej aprowizacji za pomocą programu X.509 potrzebne są następujące pliki:

  • Certyfikat tożsamości urządzenia i jego certyfikat klucza prywatnego. Jeśli tworzysz rejestrację indywidualną, certyfikat tożsamości urządzenia zostanie przekazany do usługi DPS. Klucz prywatny jest przekazywany do środowiska uruchomieniowego IoT Edge.
  • Certyfikat pełnego łańcucha, który powinien mieć co najmniej tożsamość urządzenia i certyfikaty pośrednie w nim. Certyfikat pełnego łańcucha jest przekazywany do środowiska uruchomieniowego IoT Edge.
  • Certyfikat pośredniego lub głównego urzędu certyfikacji z łańcucha certyfikatów zaufania. Ten certyfikat jest przekazywany do usługi DPS, jeśli tworzysz rejestrację grupową.

Uwaga

Obecnie ograniczenie w libiothsm uniemożliwia korzystanie z certyfikatów, które wygasają 1 stycznia 2038 r. lub później.

Używanie certyfikatów testowych (opcjonalnie)

Jeśli nie masz urzędu certyfikacji dostępnego do tworzenia nowych certyfikatów tożsamości i chcesz wypróbować ten scenariusz, repozytorium Git platformy Azure IoT Edge zawiera skrypty, których można użyć do generowania certyfikatów testowych. Te certyfikaty są przeznaczone tylko do testowania programistycznego i nie mogą być używane w środowisku produkcyjnym.

Aby utworzyć certyfikaty testowe, wykonaj kroki opisane w temacie Tworzenie certyfikatów demonstracyjnych w celu testowania funkcji urządzeń IoT Edge. Wykonaj dwie wymagane sekcje, aby skonfigurować skrypty generowania certyfikatów i utworzyć certyfikat głównego urzędu certyfikacji. Następnie wykonaj kroki tworzenia certyfikatu tożsamości urządzenia. Po zakończeniu należy mieć następującą parę łańcuchów certyfikatów i kluczy:

  • <WRKDIR>\certs\iot-edge-device-identity-<name>-full-chain.cert.pem
  • <WRKDIR>\private\iot-edge-device-identity-<name>.key.pem

Oba te certyfikaty są potrzebne na urządzeniu IoT Edge. Jeśli zamierzasz użyć rejestracji indywidualnej w usłudze DPS, przekażesz plik .cert.pem. Jeśli zamierzasz użyć rejestracji grup w usłudze DPS, potrzebujesz również pośredniego lub głównego certyfikatu urzędu certyfikacji w tym samym łańcuchu zaufania certyfikatu, aby przekazać. Jeśli używasz certyfikatów demonstracyjnych, użyj certyfikatu <WRKDIR>\certs\azure-iot-test-only.root.ca.cert.pem do rejestracji grupowej.

Tworzenie rejestracji usługi DPS

Użyj wygenerowanych certyfikatów i kluczy, aby utworzyć rejestrację w usłudze DPS dla co najmniej jednego urządzenia IoT Edge.

Jeśli chcesz aprowizować jedno urządzenie IoT Edge, utwórz rejestrację indywidualną. Jeśli potrzebujesz aprowizacji wielu urządzeń, wykonaj kroki tworzenia rejestracji grupy usługi DPS.

Podczas tworzenia rejestracji w usłudze DPS możesz zadeklarować stan początkowej bliźniaczej reprezentacji urządzenia. W bliźniaczej reprezentacji urządzenia można ustawić tagi na grupowanie urządzeń według dowolnej metryki potrzebnej w rozwiązaniu, takiej jak region, środowisko, lokalizacja lub typ urządzenia. Te tagi służą do tworzenia wdrożeń automatycznych.

Aby uzyskać więcej informacji na temat rejestracji w usłudze aprowizacji urządzeń, zobacz How to manage device enrollments (Jak zarządzać rejestracjami urządzeń).

Tworzenie rejestracji indywidualnej usługi DPS

Rejestracje indywidualne przyjmują publiczną część certyfikatu tożsamości urządzenia i pasują do certyfikatu na urządzeniu.

Porada

Kroki opisane w tym artykule dotyczą Azure Portal, ale można również utworzyć rejestracje indywidualne przy użyciu interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz az iot dps enrollment ( Az iot dps enrollment). W ramach polecenia interfejsu wiersza polecenia użyj flagi z obsługą krawędzi, aby określić, że rejestracja jest przeznaczona dla urządzenia IoT Edge.

  1. W Azure Portal przejdź do wystąpienia usługi aprowizacji urządzeń IoT Hub.

  2. W obszarze Ustawienia wybierz pozycję Zarządzaj rejestracjami.

  3. Wybierz pozycję Dodaj rejestrację indywidualną , a następnie wykonaj następujące kroki, aby skonfigurować rejestrację:

    • Mechanizm: wybierz pozycję X.509.

    • Plik pem lub cer certyfikatu podstawowego: przekaż plik publiczny z certyfikatu tożsamości urządzenia. Jeśli skrypty były używane do generowania certyfikatu testowego, wybierz następujący plik:

      <WRKDIR>\certs\iot-edge-device-identity-<name>.cert.pem

    • IoT Hub identyfikator urządzenia: podaj identyfikator urządzenia, jeśli chcesz. Identyfikatory urządzeń można użyć do kierowania poszczególnych urządzeń na potrzeby wdrożenia modułu. Jeśli nie podasz identyfikatora urządzenia, zostanie użyta nazwa pospolita (CN) w certyfikacie X.509.

    • IoT Edge urządzenia: wybierz pozycję Prawda, aby zadeklarować, że rejestracja jest przeznaczona dla urządzenia IoT Edge.

    • Wybierz centra IoT, do których można przypisać to urządzenie: wybierz połączone centrum IoT, z którym chcesz połączyć urządzenie. Możesz wybrać wiele centrów, a urządzenie zostanie przypisane do jednego z nich zgodnie z wybranymi zasadami alokacji.

    • Początkowy stan bliźniaczej reprezentacji urządzenia: dodaj wartość tagu do dodania do bliźniaczej reprezentacji urządzenia, jeśli chcesz. Możesz użyć tagów do grup docelowych urządzeń na potrzeby automatycznego wdrażania. Przykład:

      {
          "tags": {
             "environment": "test"
          },
          "properties": {
             "desired": {}
          }
      }
      
  4. Wybierz pozycję Zapisz.

W obszarze Zarządzanie rejestracjami możesz wyświetlić identyfikator rejestracji dla utworzonej rejestracji. Zanotuj je, ponieważ można go użyć podczas aprowizacji urządzenia.

Teraz, gdy rejestracja istnieje dla tego urządzenia, środowisko uruchomieniowe IoT Edge może automatycznie aprowizować urządzenie podczas instalacji.

Instalowanie IoT Edge

W tej sekcji przygotujesz maszynę wirtualną z systemem Windows lub urządzenie fizyczne do IoT Edge. Następnie zainstalujesz IoT Edge.

Usługa Azure IoT Edge korzysta ze środowiska uruchomieniowego kontenera zgodnego z protokołem OCI. Moby, aparat oparty na moby, jest dołączony do skryptu instalacji, co oznacza, że nie ma dodatkowych kroków do zainstalowania aparatu.

Aby zainstalować środowisko uruchomieniowe IoT Edge:

  1. Uruchom program PowerShell jako administrator.

    Użyj sesji amd64 programu PowerShell, a nie programu PowerShell (x86). Jeśli nie masz pewności, którego typu sesji używasz, uruchom następujące polecenie:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Uruchom polecenie Deploy-IoTEdge , które wykonuje następujące zadania:

    • Sprawdza, czy maszyna z systemem Windows jest w obsługiwanej wersji
    • Włącza funkcję kontenerów
    • Pobiera aparat moby i środowisko uruchomieniowe IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Uruchom ponownie urządzenie, jeśli zostanie wyświetlony monit.

Podczas instalowania IoT Edge na urządzeniu można użyć dodatkowych parametrów, aby zmodyfikować proces, w tym:

  • Kierowanie ruchu do przechodzenia przez serwer proxy
  • Wskaż instalatorowi katalog lokalny na potrzeby instalacji w trybie offline

Aby uzyskać więcej informacji na temat tych dodatkowych parametrów, zobacz Skrypty programu PowerShell dla IoT Edge z kontenerami systemu Windows.

Aprowizuj urządzenie przy użyciu tożsamości chmury

Po zainstalowaniu środowiska uruchomieniowego na urządzeniu skonfiguruj urządzenie przy użyciu informacji używanych do nawiązania połączenia z usługą aprowizacji urządzeń i IoT Hub.

Przygotuj następujące informacje:

  • Wartość Zakres identyfikatora usługi DPS. Tę wartość można pobrać ze strony przeglądu wystąpienia usługi DPS w Azure Portal.
  • Plik łańcucha certyfikatów tożsamości urządzenia na urządzeniu.
  • Plik klucza tożsamości urządzenia na urządzeniu.
  1. Otwórz okno programu PowerShell w trybie administratora. Pamiętaj, aby użyć sesji programu PowerShell AMD64 podczas instalowania IoT Edge, a nie programu PowerShell (x86).

  2. Polecenie Initialize-IoTEdge konfiguruje środowisko uruchomieniowe IoT Edge na maszynie. Polecenie domyślnie wykonuje ręczną aprowizację za pomocą kontenerów systemu Windows, dlatego użyj -DpsX509 flagi , aby użyć automatycznej aprowizacji z uwierzytelnianiem certyfikatu X.509.

    Zastąp wartości symbolu zastępczego , scope_ididentity cert chain pathi identity key path odpowiednimi wartościami z wystąpienia usługi DPS i ścieżkami plików na urządzeniu.

    -RegistrationId paste_registration_id_here Dodaj parametr, jeśli chcesz ustawić identyfikator urządzenia jako coś innego niż nazwa CN certyfikatu tożsamości.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -DpsX509 -ScopeId paste_scope_id_here -X509IdentityCertificate paste_identity_cert_chain_path_here -X509IdentityPrivateKey paste_identity_key_path_here
    

    Porada

    Plik konfiguracji przechowuje informacje o certyfikacie i kluczu jako identyfikatory URI plików. Jednak polecenie Initialize-IoTEdge obsługuje ten krok formatowania, dzięki czemu można podać ścieżkę bezwzględną do plików certyfikatu i kluczy na urządzeniu.

Weryfikowanie pomyślnej instalacji

Jeśli środowisko uruchomieniowe zostało uruchomione pomyślnie, możesz przejść do IoT Hub i rozpocząć wdrażanie modułów IoT Edge na urządzeniu.

Możesz sprawdzić, czy użyto rejestracji indywidualnej utworzonej w usłudze aprowizacji urządzeń. Przejdź do wystąpienia usługi aprowizacji urządzeń w Azure Portal. Otwórz szczegóły rejestracji dla utworzonej rejestracji indywidualnej. Zwróć uwagę, że stan rejestracji jest przypisany , a identyfikator urządzenia jest wyświetlany na liście.

Użyj następujących poleceń na urządzeniu, aby sprawdzić, czy IoT Edge zainstalowana i uruchomiona pomyślnie.

Sprawdź stan usługi IoT Edge.

Get-Service iotedge

Sprawdź dzienniki usług.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Wyświetl listę uruchomionych modułów.

iotedge list

Następne kroki

Proces rejestracji usługi aprowizacji urządzeń umożliwia ustawienie identyfikatora urządzenia i tagów bliźniaczej reprezentacji urządzenia w tym samym czasie, co aprowizowanie nowego urządzenia. Możesz użyć tych wartości do określania docelowych poszczególnych urządzeń lub grup urządzeń przy użyciu automatycznego zarządzania urządzeniami. Dowiedz się, jak wdrażać i monitorować moduły IoT Edge na dużą skalę przy użyciu Azure Portal lub interfejsu wiersza polecenia platformy Azure.