Udostępnij za pośrednictwem


Twórz i konfiguruj urządzenia IoT Edge na dużą skalę na Windows przy użyciu certyfikatów X.509.

Dotyczy:ikona potwierdzenia IoT Edge 1.1

Ważne

Data zakończenia wsparcia usługi IoT Edge 1.1 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 usługi IoT Edge, zobacz Update IoT Edge.

Ten artykuł zawiera kompleksowe instrukcje dotyczące automatycznego konfigurowania jednego lub więcej urządzeń Windows IoT Edge przy użyciu certyfikatów X.509. Można automatycznie konfigurować urządzenia Azure IoT Edge używając usługi Azure IoT Hub device provisioning (DPS). Jeśli nie znasz procesu automatycznego aprowizowania, przed kontynuowaniem zapoznaj się z omówieniem aprowizacji.

Uwaga

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

Rozważ użycie nowej metody uruchamiania usługi 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.

Zadania są następujące:

  1. Generowanie certyfikatów i kluczy.
  2. Utwórz rejestrację indywidualną dla jednego urządzenia lub rejestracji grupowej dla zestawu urządzeń.
  3. Zainstaluj środowisko uruchomieniowe usługi IoT Edge i zarejestruj urządzenie w usłudze IoT Hub.

Korzystanie z certyfikatów X.509 jako mechanizmu zaświadczania to doskonały sposób skalowania produkcji i upraszczania aprowizacji urządzeń. Zazwyczaj certyfikaty X.509 są rozmieszczane w łańcuchu zaufania certyfikatów. Począwszy od certyfikatu z podpisem własnym lub zaufanego certyfikatu głównego, 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
  • Instancja usługi aprowizacji urządzeń IoT Hub na platformie Azure, połączona z Twoim IoT Hub.

Wymagania dotyczące urządzenia

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

Generowanie certyfikatów tożsamości urządzenia

Certyfikat tożsamości urządzenia jest certyfikatem 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 chcesz przypisać temu urządzeniu w hubie IoT.

Certyfikaty tożsamości urządzeń są używane tylko do aprowizowania urządzenia usługi IoT Edge i uwierzytelniania urządzenia za pomocą usługi 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 korzystać z rejestracji grupowej w usłudze DPS, potrzebujesz również publicznej części certyfikatu pośredniego lub głównego urzędu certyfikacji znajdującego się w tym samym łańcuchu zaufania.

Do skonfigurowania automatycznej aprowizacji przy użyciu środowiska 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 jest przekazywany do usługi DPS. Klucz prywatny jest przekazywany do środowiska uruchomieniowego usługi IoT Edge.
  • Certyfikat pełnego łańcucha, który powinien zawierać co najmniej tożsamość urządzenia oraz certyfikaty pośrednie. Certyfikat pełnego łańcucha jest przekazywany do środowiska uruchomieniowego usługi IoT Edge.
  • Pośredni lub główny certyfikat urzędu certyfikacji z łańcucha zaufania certyfikatów. Ten certyfikat jest wgrywany do usługi DPS, jeśli tworzysz rejestrację grupową.

Uwaga

Obecnie ograniczenie w libiothsm uniemożliwia korzystanie z certyfikatów wygasających 1 stycznia 2038 r. lub po nich.

Używanie certyfikatów testowych (opcjonalnie)

Jeśli nie masz dostępnego urzędu certyfikacji do tworzenia nowych certyfikatów tożsamości i chcesz wypróbować ten scenariusz, repozytorium git usługi 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 artykule Tworzenie certyfikatów demonstracyjnych w celu przetestowania funkcji urządzeń usługi 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ący łańcuch certyfikatów i parę kluczy:

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

Potrzebujesz obu tych certyfikatów na urządzeniu IoT Edge. Jeśli zamierzasz korzystać z rejestracji indywidualnej w usłudze DPS, musisz załadować plik .cert.pem. Jeśli zamierzasz użyć rejestracji grupowej w usłudze DPS, potrzebny jest również pośredni lub główny certyfikat urzędu certyfikacji w tym samym łańcuchu zaufania certyfikatu do przesłania. 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 usługi IoT Edge.

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

Podczas tworzenia rejestracji w usłudze DPS masz możliwość zadeklarowania początkowego stanu bliźniaczego urządzenia. W cyfrowym bliźniaku urządzenia można ustawić tagi, aby grupować urządzenia 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 dostarczania urządzeń, zobacz Jak zarządzać rejestracjami urządzeń.

Tworzenie indywidualnej rejestracji DPS

Rejestracje indywidualne przyjmują publiczną część certyfikatu tożsamości urządzenia i są zgodne z certyfikatem na urządzeniu.

Wskazówka

Kroki opisane w tym artykule dotyczą witryny Azure Portal, ale można również tworzyć rejestracje indywidualne przy użyciu interfejsu wiersza polecenia platformy Azure. Aby uzyskać więcej informacji, zobacz az iot dps enrollment. W ramach polecenia CLI użyj flagi edge-enabled, aby określić, że rejestracja dotyczy urządzenia IoT Edge.

  1. W witrynie 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 certyfikatu podstawowego .pem lub .cer: Prześlij 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

    • Identyfikator urządzenia IoT Hub: podaj identyfikator urządzenia, jeśli chcesz. Identyfikatory urządzeń umożliwiają określanie celu 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.

    • Urządzenie IoT Edge: wybierz True, aby zadeklarować, że rejestracja dotyczy urządzenia IoT Edge.

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

    • Początkowy stan podwójnika urządzenia: Opcjonalnie dodaj wartość tagu do podwójnika urządzenia, jeśli chcesz. Tagów można używać do grup docelowych urządzeń na potrzeby automatycznego wdrażania. Na przykład:

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

W obszarze Zarządzanie rejestracjami możesz wyświetlić identyfikator rejestracji dla właśnie utworzonej rejestracji. Zanotuj to, ponieważ może być używane podczas konfigurowania urządzenia.

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

Instalowanie usługi IoT Edge

W tej sekcji przygotujesz maszynę wirtualną z systemem Windows lub urządzenie fizyczne na potrzeby usługi IoT Edge. Następnie zainstalujesz przeglądarkę IoT Edge.

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

Aby zainstalować środowisko uruchomieniowe usługi 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 silnik moby i środowisko uruchomieniowe Edge IoT
    . {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 usługi IoT Edge na urządzeniu można użyć dodatkowych parametrów, aby zmodyfikować proces, w tym:

  • Skieruj ruch 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 usługi IoT Edge z kontenerami systemu Windows.

Skonfiguruj urządzenie przy użyciu jego tożsamości w chmurze

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

Przygotuj następujące informacje:

  • Wartość Zakresu identyfikatora DPS. Tę wartość można pobrać ze strony przeglądu wystąpienia usługi DPS w witrynie 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 usługi IoT Edge, a nie programu PowerShell (x86).

  2. Polecenie Initialize-IoTEdge konfiguruje środowisko uruchomieniowe usługi IoT Edge na maszynie. Domyślnie polecenie służy do ręcznej aprowizacji w kontenerach systemu Windows, dlatego użyj flagi -DpsX509, aby użyć automatycznej aprowizacji z uwierzytelnianiem certyfikatu X.509.

    Zastąp wartości symboli zastępczych scope_id, identity cert chain pathi identity key path odpowiednimi wartościami z instancji DPS oraz ścieżkami plików na Twoim urządzeniu.

    Dodaj parametr -RegistrationId paste_registration_id_here, jeśli chcesz ustawić identyfikator urządzenia jako inny 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
    

    Wskazówka

    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 pomyślnie uruchomione, możesz przejść do usługi IoT Hub i rozpocząć wdrażanie modułów usługi IoT Edge na urządzeniu.

Możesz zweryfikować, czy utworzona przez Ciebie rejestracja indywidualna została użyta w usłudze zarządzania urządzeniami. Przejdź do wystąpienia usługi udostępniania urządzeń w portalu Azure. Otwórz szczegóły utworzonej rejestracji indywidualnej. Zwróć uwagę, że stan rejestracji to przypisany i że identyfikator urządzenia znajduje się na liście.

Użyj następujących poleceń na urządzeniu, aby sprawdzić, czy usługa IoT Edge została 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

Lista uruchomionych modułów.

iotedge list

Następne kroki

Proces rejestracji w usłudze wdrażania urządzeń umożliwia ustawienie identyfikatora urządzenia i właściwości bliźniaczych urządzenia jednocześnie z jego wdrożeniem. Tych wartości można użyć do określania wartości docelowych dla 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 usługi IoT Edge na dużą skalę przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.