Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Identyfikator Entra firmy Microsoft umożliwia uwierzytelnianie żądań w interfejsach API usługi Azure IoT Hub Device Provisioning Service (DPS), takich jak tworzenie tożsamości urządzenia i wywoływanie metody bezpośredniej. Możesz również użyć kontroli dostępu opartej na rolach (RBAC) platformy Azure, aby autoryzować te same interfejsy API usług. Łącząc te technologie, możesz przyznać podmiotowi zabezpieczeń Microsoft Entra uprawnienia dostępu do interfejsów API usługi Azure IoT Hub Device Provisioning Service (DPS). Ten podmiot zabezpieczeń może być użytkownikiem, grupą lub jednostką usługi aplikacji.
Uwierzytelnianie dostępu przy użyciu Microsoft Entra ID oraz kontrolowanie uprawnień przy użyciu usługi Azure RBAC zapewniają wyższy poziom bezpieczeństwa i większą łatwość użycia niż tokeny zabezpieczające. Aby zminimalizować potencjalne problemy z zabezpieczeniami związane z tokenami zabezpieczającymi, zalecamy używanie identyfikatora Entra firmy Microsoft z usługą Azure IoT Hub Device Provisioning Service (DPS), jeśli jest to możliwe.
Uwaga
Uwierzytelnianie za pomocą Microsoft Entra ID nie jest obsługiwane dla usługi Azure IoT Hub Device Provisioning Service (DPS) interfejsów API urządzeń (takich jak rejestrowanie urządzenia lub sprawdzanie stanu rejestracji urządzenia). Użyj kluczy symetrycznych, X.509 lub TPM do uwierzytelniania urządzeń w usłudze Azure IoT Hub Device Provisioning Service (DPS).
Uwierzytelnianie i autoryzacja
Gdy podmiot zabezpieczeń firmy Microsoft Entra żąda dostępu do interfejsu API usługi Azure IoT Hub Device Provisioning Service (DPS), tożsamość podmiotu zabezpieczeń jest najpierw uwierzytelniana. W przypadku uwierzytelniania żądanie musi zawierać token dostępu OAuth 2.0 w czasie wykonywania. Nazwa zasobu służącego do żądania tokenu to https://azure-devices-provisioning.net. Jeśli aplikacja działa w zasobie platformy Azure, takim jak maszyna wirtualna platformy Azure, aplikacja usługi Azure Functions lub aplikacja usługi Azure App Service, może być reprezentowana przez tożsamość zarządzaną.
Po uwierzytelnieniu podmiotu Microsoft Entra następnym krokiem jest autoryzacja. W tym kroku usługa Azure IoT Hub Device Provisioning Service (DPS) używa usługi przypisania roli Entra firmy Microsoft, aby określić, jakie uprawnienia ma podmiot zabezpieczeń. Jeśli uprawnienia podmiotu zabezpieczeń są zgodne z żądanym zasobem lub interfejsem API, usługa Azure IoT Hub Device Provisioning Service (DPS) autoryzuje żądanie. Zatem ten krok wymaga przypisania co najmniej jednej roli platformy Azure podmiotowi zabezpieczeń. Usługa Azure IoT Hub Device Provisioning Service (DPS) udostępnia wbudowane role, które mają wspólne grupy uprawnień.
Zarządzanie dostępem do usługi Azure IoT Hub Device Provisioning Service (DPS) za pomocą przypisania roli RBAC na platformie Azure
W przypadku użycia Microsoft Entra ID i RBAC usługa Azure IoT Hub Device Provisioning Service (DPS) wymaga, aby podmiot wysyłający żądanie do interfejsu API miał odpowiedni poziom uprawnień wymagany do autoryzacji. Aby udzielić podmiotowi uprawnienia, przypisz mu rolę.
- Jeśli podmiot jest użytkownikiem, grupą lub nazwą główną usługi aplikacji, postępuj zgodnie ze wskazówkami w artykule Przypisywanie ról platformy Azure przy użyciu portalu Azure.
- Jeśli podmiot zabezpieczeń jest tożsamością zarządzaną, postępuj zgodnie ze wskazówkami w artykule Przypisywanie dostępu tożsamości zarządzanej do zasobu przy użyciu witryny Azure Portal.
Aby zapewnić najmniejsze uprawnienia, zawsze przypisz odpowiednią rolę w najniższym możliwym zakresie zasobów, co prawdopodobnie jest zakresem usługi Azure IoT Hub Device Provisioning Service (DPS).
Usługa Azure IoT Hub Device Provisioning Service (DPS) zapewnia następujące wbudowane role platformy Azure służące do autoryzowania dostępu do interfejsów API usługi DPS przy użyciu Microsoft Entra ID i kontroli dostępu opartej na rolach (RBAC):
| Rola | Opis |
|---|---|
| Współautor danych usługi Device Provisioning Service | Umożliwia pełny dostęp do operacji w płaszczyźnie danych usługi Device Provisioning Service. |
| Czytnik danych usługi Device Provisioning Service | Umożliwia pełny dostęp odczytu do właściwości płaszczyzny danych usługi Device Provisioning Service. |
Możesz również zdefiniować role niestandardowe do użycia z usługą Azure IoT Hub Device Provisioning Service (DPS), łącząc potrzebne uprawnienia . Aby uzyskać więcej informacji, zobacz Tworzenie ról niestandardowych dla kontroli dostępu opartej na rolach platformy Azure.
Klucze polityki zapisu na płaszczyźnie sterowania i współdzielonego dostępu
Akcja Microsoft.Devices/provisioningServices/write umożliwia podmiotowi zabezpieczeń utworzenie lub zaktualizowanie dowolnej właściwości zasobu DPS, w tym kolekcji authorizationPolicies. Ponieważ kontrakt usługi Azure Resource Manager (ARM) dla CreateOrUpdate akceptuje dostarczane przez wywołującego wartości primaryKey i secondaryKey dla każdej polityki, podmiot, który ma write do zasobu DPS, może:
- Ustaw klucz główny lub wtórny każdej polityki współdzielonego dostępu (w tym polityki głównej
provisioningserviceowner) na wybraną przez siebie wartość, a następnie uwierzytelniaj się jako ta polityka. - Zresetuj klucze dowolnej zasady dostępu współdzielonego, co spowoduje unieważnienie istniejących klientów.
- Dodaj nową nazwaną zasadę dostępu współdzielonego z wybraną wartością klucza.
Z tego powodu Microsoft.Devices/provisioningServices/write jest funkcjonalnie równoważny pełnej administracji poświadczeniami zasad dostępu współdzielonego zasobu, niezależnie od tego, czy podmiot posiada również Microsoft.Devices/provisioningServices/listkeys/action lub Microsoft.Devices/provisioningServices/listkey/action.
Ważna
Rola niestandardowa, która przyznaje Microsoft.Devices/provisioningServices/write do zasobu DPS bez przyznawania listkeys/action, nie izoluje administrowania poświadczeniami od konfiguracji zasobu. Podmiot nadal ma pełną kontrolę nad materiałem kluczowym zasad dostępu współdzielonego za pośrednictwem ścieżki zapisu. Nie polegaj na tym wzorcu przy konfiguracji z najmniejszą liczbą uprawnień.
Jeśli musisz oddzielić konfigurację zasobów od administracji zasad poświadczeń współdostępu, użyj jednego z następujących wzorców:
- Preferuj uwierzytelnianie Microsoft Entra ID w płaszczyźnie danych. Przypisz wbudowane role Device Provisioning Service Data Contributor lub Device Provisioning Service Data Reader na potrzeby zarządzania rejestracją i wyłącz dostęp oparty na sygnaturze dostępu współdzielonego dla zasobu, jeśli to możliwe.
- Ogranicz
writedo zakresu zasobu. Ponieważwriteoznacza kontrolę nad kluczem, przyznaj ją tylko podmiotom, którym ufasz w kwestii zasad polityki współdzielonego dostępu. - Audytuj aktywność płaszczyzny sterowania. Zmiany wprowadzone do
authorizationPoliciesza pomocą operacji PUT w płaszczyźnie sterowania są rejestrowane w dzienniku aktywności platformy Azure w ramach operacjiMicrosoft.Devices/provisioningServices/write. Przeglądaj te zdarzenia razem ze zdarzeniamilistkeys/actionpodczas inspekcji dostępu do poświadczeń.
Te same kwestie dotyczą Azure IoT Hub. Szczegóły można znaleźć w artykule Kontroluj dostęp do IoT Hub za pomocą Microsoft Entra ID.
Zakres zasobu
Przed przypisaniem roli RBAC platformy Azure do podmiotu zabezpieczeń określ zakres dostępu, który powinien mieć podmiot zabezpieczeń. Zawsze najlepiej przyznać tylko najwęższy możliwy zakres. Role RBAC platformy Azure zdefiniowane w szerszym zakresie są dziedziczone przez zasoby znajdujące się poniżej.
Ta lista zawiera opis poziomów, na których można określić zakres dostępu do usługi IoT Hub, począwszy od najwęższego zakresu:
- Usługa Azure IoT Hub Device Provisioning Service (DPS). W tym zakresie przypisanie roli ma zastosowanie do usługi Azure IoT Hub Device Provisioning Service (DPS). Przypisywanie ról w węższych zakresach, takich jak grupa rejestracji lub pojedyncza rejestracja, nie jest obsługiwane.
- grupa zasobów. W tym zakresie przypisanie roli ma zastosowanie do wszystkich centrów IoT w grupie zasobów.
- Subskrypcja. W tym zakresie przypisanie roli ma zastosowanie do wszystkich centrów IoT we wszystkich grupach zasobów w subskrypcji.
- Grupa zarządzania. W tym zakresie przypisanie roli ma zastosowanie do wszystkich centrów IoT we wszystkich grupach zasobów we wszystkich subskrypcjach w grupie zarządzania.
Uprawnienia do interfejsów API usługi Azure IoT Hub Device Provisioning Service (DPS)
W poniższej tabeli opisano uprawnienia dostępne dla operacji interfejsu API usługi Azure IoT Hub Device Provisioning Service (DPS). Aby umożliwić klientowi wywołanie określonej operacji, upewnij się, że przypisana rola RBAC klienta oferuje wystarczające uprawnienia dla operacji.
| Akcja RBAC | Opis |
|---|---|
Microsoft.Devices/provisioningServices/attestationmechanism/details/action |
Pobierz szczegóły mechanizmu atestacji |
Microsoft.Devices/provisioningServices/enrollmentGroups/read |
Odczytaj grupy rejestracji |
Microsoft.Devices/provisioningServices/enrollmentGroups/write |
Zapisz grupy rejestracji |
Microsoft.Devices/provisioningServices/enrollmentGroups/delete |
Usuwanie grup rejestracji |
Microsoft.Devices/provisioningServices/enrollments/read |
Odczyt rejestracji |
Microsoft.Devices/provisioningServices/enrollments/write |
Zapisz rejestracje |
Microsoft.Devices/provisioningServices/enrollments/delete |
Usuwanie rejestracji |
Microsoft.Devices/provisioningServices/registrationStates/read |
Odczytywanie stanów rejestracji |
Microsoft.Devices/provisioningServices/registrationStates/delete |
Usuwanie stanów rejestracji |
Rozszerzenie usługi Azure IoT dla interfejsu wiersza polecenia platformy Azure
Większość poleceń dla usługi Azure IoT Hub Device Provisioning Service (DPS) obsługuje uwierzytelnianie Microsoft Entra. Typ uwierzytelniania używanego do uruchamiania poleceń można kontrolować przy użyciu parametru --auth-type , który akceptuje key lub login wartości. Wartość key jest wartością domyślną.
Gdy
--auth-typema wartośćkey, interfejs CLI automatycznie wykrywa odpowiednią zasadę podczas komunikacji z usługą Azure IoT Hub Device Provisioning Service (DPS).Gdy
--auth-typema wartośćlogin, do wykonania operacji zostanie użyty token dostępu z interfejsu wiersza polecenia platformy Azure dla zalogowanej jednostki.Następujące polecenia obecnie obsługują
--auth-type:az iot dps enrollmentaz iot dps enrollment-groupaz iot dps registration
Aby uzyskać więcej informacji, zobacz stronę informacji o wersjach rozszerzenia Azure IoT dla Azure CLI.
Zestawy SDK i przykłady
- Zestawy SDK usługi aprowizacji Azure IoT dla platformy Node.js
- Wersja zapoznawcza zestawu SDK usługi Azure IoT dla języka Java
- Microsoft Azure IoT SDKs for .NET Preview Release
Dostęp do identyfikatora Entra firmy Microsoft z witryny Azure Portal
Uwaga
Dostęp do identyfikatora Entra firmy Microsoft z witryny Azure Portal jest obecnie niedostępny w wersji zapoznawczej.
Następne kroki
- Aby uzyskać więcej informacji na temat zalet używania identyfikatora Entra firmy Microsoft w aplikacji, zobacz Integrowanie z identyfikatorem Entra firmy Microsoft.
- Aby uzyskać więcej informacji na temat żądania tokenów dostępu z identyfikatora Entra firmy Microsoft dla użytkowników i jednostek usługi, zobacz Scenariusze uwierzytelniania dla identyfikatora Entra firmy Microsoft.