Skapa och hantera enhetsidentiteter
Skapa en enhetsidentitet för din enhet för att ansluta till Azure IoT Hub. Den här artikeln beskriver viktiga uppgifter för att hantera en enhetsidentitet, inklusive registrering av enheten, insamling av anslutningsinformation och sedan borttagning eller inaktivering av en enhet i slutet av dess livscykel.
Förutsättningar
En IoT-hubb i din Azure-prenumeration. Om du inte har någon hubb ännu kan du följa stegen i Skapa en IoT-hubb.
Beroende på vilket verktyg du använder har du antingen åtkomst till Azure-portalen eller installerar Azure CLI.
Om din IoT-hubb hanteras med rollbaserad åtkomstkontroll (RBAC) behöver du behörigheterna Läsa/skriva/ta bort enhet/modul för stegen i den här artikeln. Dessa behörigheter ingår i rollen IoT Hub Registry-deltagare .
Registrera en enhet
I det här avsnittet skapar du en enhetsidentitet i identitetsregistret i din IoT-hubb. En enhet kan inte ansluta till en hubb om den inte har en enhetsidentitet.
IoT Hub-identitetsregistret lagrar bara enhetsidentiteter för att skydda åtkomsten till IoT Hub. Registret lagrar enhets-ID:n och enhetsnycklar som ska användas som säkerhetsreferenser och en aktiverad/inaktiverad-flagga som du kan använda för att inaktivera åtkomst för en enskild enhet.
När du registrerar en enhet väljer du dess autentiseringsmetod. IoT Hub stöder tre metoder för enhetsautentisering:
Symmetrisk nyckel - Det här alternativet är enklast för snabbstartsscenarier.
När du registrerar en enhet kan du ange nycklar, annars genererar IoT Hub nycklar åt dig. Både enheten och IoT-hubben har en kopia av den symmetriska nyckeln som kan jämföras när enheten ansluter.
X.509 självsignerad
Om enheten har ett självsignerat X.509-certifikat måste du ge IoT Hub en version av certifikatet för autentisering. När du registrerar en enhet laddar du upp ett tumavtryck för certifikatet, vilket är en hash för enhetens X.509-certifikat. När enheten ansluter visas certifikatet och IoT-hubben kan verifiera det mot den hash som den känner till. Mer information finns i Autentisera identiteter med X.509-certifikat.
X.509 CA signerad - Det här alternativet rekommenderas för produktionsscenarier.
Om enheten har ett CA-signerat X.509-certifikat laddar du upp ett certifikat för rotcertifikat eller mellanliggande certifikatutfärdare (CA) i signeringskedjan till IoT Hub innan du registrerar enheten. Enheten har ett X.509-certifikat med den verifierade X.509 CA:n i certifikatkedjan. När enheten ansluter visar den sin fullständiga certifikatkedja och IoT-hubben kan verifiera den eftersom den känner till X.509 CA:n. Flera enheter kan autentisera mot samma verifierade X.509 CA. Mer information finns i Autentisera identiteter med X.509-certifikat.
Förbereda certifikat
Om du använder någon av X.509-certifikatautentiseringsmetoderna kontrollerar du att dina certifikat är klara innan du registrerar en enhet:
För CA-signerade certifikat ger självstudien Skapa och ladda upp certifikat för testning en bra introduktion till hur du skapar CA-signerade certifikat och laddar upp dem till IoT Hub. När du har slutfört självstudien är du redo att registrera en enhet med X.509 CA-signerad autentisering.
För självsignerade certifikat behöver du två enhetscertifikat (ett primärt och ett sekundärt certifikat) på enheten och tumavtryck för att båda ska laddas upp till IoT Hub. Ett sätt att hämta tumavtrycket från ett certifikat är med följande OpenSSL-kommando:
openssl x509 -in <certificate filename>.pem -text -fingerprint
Lägg till en enhet
Skapa en enhetsidentitet i din IoT-hubb.
I Azure Portal, navigerar du till din IoT-hubb.
Välj Enheter för enhetshantering>.
Välj Lägg till enhet för att lägga till en enhet i din IoT-hubb.
I Skapa en enhet anger du informationen för din nya enhetsidentitet:
Parameter Beroende parameter Värde Enhets-ID Ange ett namn på den nya enheten. Autentiseringstyp Välj antingen symmetrisk nyckel, X.509 självsignerad eller X.509 CA signerad. Generera nycklar automatiskt För symmetrisk nyckelautentisering markerar du den här kryssrutan om du vill att IoT Hub ska generera nycklar för din enhet. Eller avmarkera den här rutan och ange primära och sekundära nycklar för enheten. Primärt tumavtryck och sekundärt tumavtryck För självsignerad X.509-autentisering anger du tumavtryckshash från enhetens primära och sekundära certifikat. Viktigt!
Enhets-ID visas kanske i de loggar som samlas in för support och felsökning, så se till att undvika känslig information när du namnger det.
Välj Spara.
Hämta enhetens anslutningssträng
För exempel och testscenarier är den vanligaste anslutningsmetoden att använda symmetrisk nyckelautentisering och ansluta till en enhet niska veze. En enhet niska veze innehåller namnet på IoT-hubben, namnet på enheten och enhetens autentiseringsinformation.
Information om andra metoder för att ansluta enheter, särskilt för X.509-autentisering, finns i SDK:erna för Azure IoT Hub-enheter.
Använd följande steg för att hämta en enhet niska veze.
Azure-portalen tillhandahåller endast niska veze för enheter som använder symmetrisk nyckelautentisering.
I Azure Portal, navigerar du till din IoT-hubb.
Välj Enheter för enhetshantering>.
Välj enheten i listan i fönstret Enheter .
Kopiera värdet för Primär niska veze.
Som standard maskeras nycklar och niska veze eftersom de är känslig information. Om du klickar på ögonikonen visas de. Det är inte nödvändigt att visa dem för att kopiera dem med kopieringsknappen.
Enheter med symmetrisk nyckelautentisering har en niska veze med följande mönster:
HostName=<IOT_HUB_NAME>;DeviceId=<DEVICE_NAME>;SharedAccessKey=<PRIMARY_OR_SECONDARY_KEY>
Enheter med X.509-autentisering, antingen självsignerade eller CA-signerade, använder vanligtvis inte niska veze för autentisering. När de gör det har deras niska veze följande mönster:
HostName=<IOT_HUB_NAME>;DeviceId=<DEVICE_NAME>;x509=true
Inaktivera eller ta bort en enhet
Om du vill behålla en enhet i IoT-hubbens identitetsregister, men vill förhindra att den ansluter, kan du ändra dess status till inaktiverad.
I Azure Portal, navigerar du till din IoT-hubb.
Välj Enheter för enhetshantering>.
Välj enheten i listan i fönstret Enheter .
På sidan enhetsinformation kan du inaktivera eller ta bort enhetsregistreringen.
Om du vill förhindra att en enhet ansluter anger du parametern Aktivera anslutning till IoT Hub till Inaktivera.
Om du vill ta bort en enhet helt från IoT-hubbens identitetsregister väljer du Ta bort.
Andra verktyg för att hantera enhetsidentiteter
Du kan använda andra verktyg eller gränssnitt för att hantera IoT Hub-identitetsregistret, inklusive:
PowerShell-kommandon: Se kommandouppsättningen Az.IotHub för att lära dig hur du hanterar enhetsidentiteter.
Visual Studio Code: Azure IoT Hub-tillägget för Visual Studio Code innehåller identitetsregisterfunktioner.
REST API: Se API:erna för IoT Hub-tjänsten för att lära dig hur du hanterar enhetsidentiteter.