Tworzenie i aprowizuj urządzenie usługi IoT Edge w systemie Windows przy użyciu certyfikatów X.509
Dotyczy: 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 Aktualizowanie usługi IoT Edge.
Ten artykuł zawiera kompleksowe instrukcje dotyczące rejestrowania i aprowizacji urządzenia usługi Windows IoT Edge.
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żywać usługi Azure IoT Edge dla systemu Linux w systemie Windows, możesz wykonać kroki opisane w równoważnym przewodniku z instrukcjami.
Każde urządzenie, które łączy się z centrum IoT Hub, ma identyfikator urządzenia używany do śledzenia komunikacji między chmurą a urządzeniem i chmurą. Urządzenie można skonfigurować przy użyciu informacji o połączeniu, w tym nazwy hosta centrum IoT, identyfikatora urządzenia i informacji używanych przez urządzenie do uwierzytelniania w usłudze IoT Hub.
Kroki opisane w tym artykule obejmują proces ręcznej aprowizacji, w którym łączysz jedno urządzenie z centrum IoT Hub. W przypadku aprowizacji ręcznej dostępne są dwie opcje uwierzytelniania urządzeń usługi IoT Edge:
Klucze symetryczne: podczas tworzenia nowej tożsamości urządzenia w usłudze IoT Hub usługa tworzy dwa klucze. Umieszczasz jeden z kluczy na urządzeniu i przedstawia klucz do usługi IoT Hub podczas uwierzytelniania.
Ta metoda uwierzytelniania jest szybsza, aby rozpocząć pracę, ale nie jest tak bezpieczna.
Podpis własny X.509: Tworzysz dwa certyfikaty tożsamości X.509 i umieszczasz je na urządzeniu. Podczas tworzenia nowej tożsamości urządzenia w usłudze IoT Hub podajesz odciski palca z obu certyfikatów. Gdy urządzenie uwierzytelnia się w usłudze IoT Hub, przedstawia jeden certyfikat, a usługa IoT Hub sprawdza, czy certyfikat jest zgodny z jego odciskiem palca.
Ta metoda uwierzytelniania jest bezpieczniejsza i zalecana w scenariuszach produkcyjnych.
W tym artykule opisano używanie certyfikatów X.509 jako metody uwierzytelniania. Jeśli chcesz użyć kluczy symetrycznych, zobacz Tworzenie i aprowizuj urządzenie usługi IoT Edge w systemie Windows przy użyciu kluczy symetrycznych.
Uwaga
Jeśli masz wiele urządzeń do skonfigurowania i nie chcesz ręcznie aprowizować poszczególnych urządzeń, skorzystaj z jednego z następujących artykułów, aby dowiedzieć się, jak usługa IoT Edge współpracuje z usługą aprowizacji urządzeń usługi IoT Hub:
Wymagania wstępne
W tym artykule opisano rejestrowanie urządzenia usługi IoT Edge i instalowanie na nim usługi IoT Edge. Te zadania mają różne wymagania wstępne i narzędzia używane do ich wykonania. Przed kontynuowaniem upewnij się, że zostały spełnione wszystkie wymagania wstępne.
Narzędzia do zarządzania urządzeniami
Aby wykonać kroki rejestrowania urządzenia, możesz użyć witryny Azure Portal, programu Visual Studio Code lub interfejsu wiersza polecenia platformy Azure. Każde narzędzie ma własne wymagania wstępne:
Bezpłatne lub standardowe centrum IoT w ramach subskrypcji platformy Azure.
Wymagania dotyczące urządzenia
Urządzenie z systemem Windows.
Usługa IoT Edge z kontenerami systemu Windows wymaga systemu Windows w wersji 1809/kompilacji 17763, która jest najnowszą długoterminową kompilacją obsługi systemu Windows. Zapoznaj się z listą obsługiwanych systemów, aby zapoznać się z listą obsługiwanych jednostek SKU.
Generowanie certyfikatów tożsamości urządzenia
Ręczna aprowizacja przy użyciu certyfikatów X.509 wymaga usługi IoT Edge w wersji 1.0.10 lub nowszej.
Podczas aprowizowania urządzenia usługi IoT Edge przy użyciu certyfikatów X.509 należy użyć certyfikatu tożsamości urządzenia. Ten certyfikat jest używany tylko do aprowizowania urządzenia usługi IoT Edge i uwierzytelniania urządzenia za pomocą usługi Azure IoT Hub. Jest to certyfikat liścia, który nie podpisuje innych certyfikatów. Certyfikat tożsamości urządzenia jest oddzielony od certyfikatów urzędu certyfikacji , które urządzenie usługi IoT Edge przedstawia modułom lub urządzeniom podrzędnym na potrzeby weryfikacji.
W przypadku uwierzytelniania certyfikatu X.509 informacje o uwierzytelnianiu każdego urządzenia są udostępniane w postaci odcisków palca pobranych z certyfikatów tożsamości urządzenia. Te odciski palca są przekazywane do usługi IoT Hub w momencie rejestracji urządzenia, aby usługa mogła rozpoznać urządzenie podczas nawiązywania połączenia.
Aby uzyskać więcej informacji na temat sposobu użycia certyfikatów urzędu certyfikacji na urządzeniach usługi IoT Edge, zobacz Omówienie sposobu korzystania z certyfikatów w usłudze Azure IoT Edge.
Do aprowizacji ręcznej w środowisku X.509 potrzebne są następujące pliki:
Dwa certyfikaty tożsamości urządzenia z ich zgodnymi certyfikatami klucza prywatnego w formatach .cer lub pem.
Do środowiska uruchomieniowego usługi IoT Edge jest udostępniany jeden zestaw plików certyfikatów/kluczy. Podczas tworzenia certyfikatów tożsamości urządzenia ustaw nazwę pospolitą certyfikatu (CN) przy użyciu identyfikatora urządzenia, który ma mieć urządzenie w centrum IoT Hub.
Odciski palca pobrane z obu certyfikatów tożsamości urządzenia.
Wartości odcisku palca to 40-szesnastkowe znaki skrótów SHA-1 lub 64-szesnastkowe znaki skrótów SHA-256. Oba odciski palca są udostępniane usłudze IoT Hub w momencie rejestracji urządzenia.
Jeśli nie masz dostępnych certyfikatów, możesz utworzyć certyfikaty demonstracyjne, aby przetestować funkcje urządzeń usługi IoT Edge. Postępuj zgodnie z instrukcjami w tym artykule, aby skonfigurować skrypty tworzenia certyfikatów, utworzyć certyfikat głównego urzędu certyfikacji, a następnie utworzyć dwa certyfikaty tożsamości urządzeń usługi IoT Edge.
Jednym ze sposobów pobrania odcisku palca z certyfikatu jest następujące polecenie openssl:
openssl x509 -in <certificate filename>.pem -text -fingerprint
Rejestrowanie własnego urządzenia
Aby zarejestrować urządzenie, w zależności od preferencji, możesz użyć witryny Azure Portal, programu Visual Studio Code lub interfejsu wiersza polecenia platformy Azure.
W centrum IoT w witrynie Azure Portal urządzenia usługi IoT Edge są tworzone i zarządzane oddzielnie od urządzeń IoT, które nie są włączone na urządzeniach brzegowych.
Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub.
W okienku po lewej stronie wybierz pozycję Urządzenia z menu, a następnie wybierz pozycję Dodaj urządzenie.
Na stronie Tworzenie urządzenia podaj następujące informacje:
- Utwórz opisowy identyfikator urządzenia. Zanotuj ten identyfikator urządzenia, ponieważ będzie on używany później.
- Zaznacz pole wyboru Urządzenie usługi IoT Edge.
- Wybierz pozycję X.509 Self-Signed jako typ uwierzytelniania.
- Podaj odciski palca certyfikatu tożsamości podstawowej i pomocniczej. Wartości odcisku palca to 40-szesnastkowe znaki skrótów SHA-1 lub 64-szesnastkowe znaki skrótów SHA-256.
Wybierz pozycję Zapisz.
Po zarejestrowaniu urządzenia w usłudze IoT Hub pobierz informacje używane do ukończenia instalacji i aprowizacji środowiska uruchomieniowego usługi IoT Edge.
Wyświetlanie zarejestrowanych urządzeń i pobieranie informacji o aprowizacji
Urządzenia korzystające z uwierzytelniania certyfikatu X.509 wymagają nazwy centrum IoT Hub, nazwy urządzenia i plików certyfikatów w celu ukończenia instalacji i aprowizacji środowiska uruchomieniowego usługi IoT Edge.
Urządzenia z obsługą krawędzi, które łączą się z centrum IoT Hub, są wyświetlane na stronie Urządzenia . Listę można filtrować według typu Urządzenie usługi Iot Edge.
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, 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 usługi IoT Edge:
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"]
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 usługi IoT Edge
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Deploy-IoTEdge
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:
- 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 usługi IoT Edge z kontenerami systemu Windows.
Aprowizuj urządzenie przy użyciu tożsamości w chmurze
Teraz, gdy aparat kontenera i środowisko uruchomieniowe usługi IoT Edge są zainstalowane na urządzeniu, możesz przystąpić do następnego kroku, który polega na skonfigurowaniu urządzenia przy użyciu tożsamości chmury i informacji uwierzytelniania.
Na urządzeniu usługi IoT Edge uruchom program PowerShell jako administrator.
Użyj polecenia Initialize-IoTEdge, aby skonfigurować środowisko uruchomieniowe usługi IoT Edge na maszynie.
. {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; ` Initialize-IoTEdge -ManualX509
Jeśli skrypt IoTEdgeSecurityDaemon.ps1 został pobrany na urządzenie na potrzeby instalacji w trybie offline lub określonej wersji, pamiętaj o odwołaniu się do lokalnej kopii skryptu.
. <path>/IoTEdgeSecurityDaemon.ps1 Initialize-IoTEdge -ManualX509
Po wyświetleniu monitu podaj następujące informacje:
- IotHubHostName: nazwa hosta centrum IoT Hub, z którymi urządzenie będzie się łączyć. Na przykład
{IoT_hub_name}.azure-devices.net
. - DeviceId: identyfikator podany podczas rejestrowania urządzenia.
- X509IdentityCertificate: ścieżka bezwzględna do certyfikatu tożsamości na urządzeniu. Na przykład
C:\path\identity_certificate.pem
. - X509IdentityPrivateKey: ścieżka bezwzględna do pliku klucza prywatnego dla podanego certyfikatu tożsamości. Na przykład
C:\path\identity_key.pem
.
- IotHubHostName: nazwa hosta centrum IoT Hub, z którymi urządzenie będzie się łączyć. Na przykład
W przypadku ręcznego aprowizowania urządzenia można użyć dodatkowych parametrów, aby zmodyfikować proces, w tym:
- Kierowanie ruchu do przechodzenia przez serwer proxy
- Zadeklaruj określony obraz kontenera edgeAgent i podaj poświadczenia, jeśli znajduje się w rejestrze prywatnym
Aby uzyskać więcej informacji na temat tych dodatkowych parametrów, zobacz Skrypty programu PowerShell dla usługi IoT Edge z kontenerami systemu Windows.
Weryfikowanie pomyślnej konfiguracji
Sprawdź, czy środowisko uruchomieniowe zostało pomyślnie zainstalowane i skonfigurowane na urządzeniu usługi IoT Edge.
Sprawdź stan usługi IoT Edge.
Get-Service iotedge
Sprawdzanie dzienników usług.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog
Lista uruchomionych modułów.
iotedge list
Instalacja w trybie offline lub określonej wersji (opcjonalnie)
Kroki opisane w tej sekcji dotyczą scenariuszy, które nie są objęte standardowymi krokami instalacji. Mogą to być na przykład:
- Instalowanie usługi IoT Edge w trybie offline
- Instalowanie wersji kandydata do wydania
- Instalowanie wersji innej niż najnowsza
Podczas instalacji są pobierane trzy pliki:
- Skrypt programu PowerShell zawierający instrukcje instalacji
- Cab usługi Microsoft Azure IoT Edge, która zawiera demona zabezpieczeń usługi IoT Edge (iotedged), aparat kontenera Moby i interfejs wiersza polecenia Moby
- Instalator pakietu redystrybucyjnego Visual C++ (środowisko uruchomieniowe VC)
Jeśli urządzenie będzie w trybie offline podczas instalacji lub chcesz zainstalować określoną wersję usługi IoT Edge, możesz pobrać te pliki przed upływem czasu na urządzenie. Po zakończeniu instalacji wskaż skrypt instalacji w katalogu zawierającym pobrane pliki. Instalator najpierw sprawdza ten katalog, a następnie pobiera tylko składniki, które nie zostały znalezione. Jeśli wszystkie pliki są dostępne w trybie offline, możesz zainstalować bez połączenia internetowego.
Aby uzyskać najnowsze pliki instalacyjne usługi IoT Edge wraz z poprzednimi wersjami, zobacz Wersje usługi Azure IoT Edge.
Znajdź wersję, którą chcesz zainstalować, i pobierz następujące pliki z sekcji Zasoby informacji o wersji na urządzeniu IoT:
- IoTEdgeSecurityDaemon.ps1
- Microsoft-Azure-IoTEdge-amd64.cab z kanału wydania 1.1.
Ważne jest, aby używać skryptu programu PowerShell z tej samej wersji co plik .cab, którego używasz, ponieważ funkcje zmieniają się w celu obsługi funkcji w każdej wersji.
Jeśli pobrany plik .cab ma na nim sufiks architektury, zmień nazwę pliku na tylko Microsoft-Azure-IoTEdge.cab.
Opcjonalnie pobierz instalatora pakietu redystrybucyjnego Visual C++. Na przykład skrypt programu PowerShell używa tej wersji: vc_redist.x64.exe. Zapisz instalatora w tym samym folderze na urządzeniu IoT co pliki usługi IoT Edge.
Aby zainstalować składniki w trybie offline, kropka źródło lokalnej kopii skryptu programu PowerShell.
Uruchom polecenie Deploy-IoTEdge za pomocą parametru
-OfflineInstallationPath
. Podaj ścieżkę bezwzględną do katalogu plików. Przykład:. path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1 Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
Polecenie wdrożenia będzie używać wszystkich składników znajdujących się w udostępnionym katalogu plików lokalnych. Jeśli brakuje pliku .cab lub instalatora visual C++, spróbuje je pobrać.
Odinstalowywanie usługi IoT Edge
Jeśli chcesz usunąć instalację usługi IoT Edge z urządzenia z systemem Windows, użyj polecenia Uninstall-IoTEdge z okna administracyjnego programu PowerShell. To polecenie usuwa środowisko uruchomieniowe usługi IoT Edge wraz z istniejącą konfiguracją i danymi aparatu Moby.
. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge
Aby uzyskać więcej informacji na temat opcji odinstalowywania, użyj polecenia Get-Help Uninstall-IoTEdge -full
.
Następne kroki
Kontynuuj wdrażanie modułów usługi IoT Edge, aby dowiedzieć się, jak wdrażać moduły na urządzeniu.