Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zarządzane tożsamości zapewniają usługom Azure automatycznie zarządzaną tożsamość w Microsoft Entra ID w bezpieczny sposób. Ta funkcja eliminuje potrzebę, aby deweloperzy musieli zarządzać poświadczeniami, zapewniając tożsamość. Istnieją dwa typy tożsamości zarządzanych: przypisana przez system i przypisana przez użytkownika. Usługa IoT Hub obsługuje oba te typy.
W usłudze IoT Hub tożsamości zarządzane mogą służyć do łączenia usługi IoT Hub z innymi usługami platformy Azure na potrzeby funkcji takich jak routing komunikatów, przekazywanie plików i zbiorcze importowanie/eksportowanie urządzeń. Z tego artykułu dowiesz się, jak używać tożsamości zarządzanych przypisanych przez system i przypisanych przez użytkownika w centrum IoT Dla różnych funkcji.
Wymagania wstępne
Poznaj różnice między tożsamością zarządzaną przypisaną przez system i przypisaną przez użytkownika w temacie Co to są tożsamości zarządzane dla zasobów platformy Azure?
Centrum IoT w ramach subskrypcji platformy Azure. Jeśli nie masz jeszcze centrum, możesz wykonać kroki opisane w temacie Tworzenie centrum IoT Hub.
Tożsamość zarządzana przypisana przez system
Tożsamość zarządzaną przypisaną przez system można włączyć lub wyłączyć w witrynie Azure Portal
Zaloguj się do witryny Azure Portal i przejdź do centrum IoT Hub.
Wybierz pozycję Tożsamość w sekcji Ustawienia zabezpieczeń menu nawigacji.
Wybierz kartę Przypisane przez system.
Ustaw pozycję Stan tożsamości zarządzanej przypisanej przez system na wartość Włączone lub Wyłączone, a następnie wybierz pozycję Zapisz.
Uwaga
Nie można wyłączyć przypisanej przez system tożsamości zarządzanej, gdy jest ona używana. Przed wyłączeniem tej funkcji upewnij się, że żadne niestandardowe punkty końcowe nie korzystają z uwierzytelniania tożsamości zarządzanej przypisanej przez system.
Tożsamość zarządzana przypisana przez użytkownika
W tej sekcji dowiesz się, jak dodać i usunąć tożsamość zarządzaną przypisaną przez użytkownika z centrum IoT Hub przy użyciu witryny Azure Portal.
Najpierw należy utworzyć tożsamość zarządzaną przypisaną przez użytkownika jako zasób autonomiczny. W tym celu możesz postępować zgodnie z instrukcjami w temacie Zarządzanie tożsamościami zarządzanymi przypisanymi przez użytkownika.
Przejdź do centrum IoT Hub, a następnie wybierz pozycję Tożsamość w obszarze Ustawienia zabezpieczeń w menu usługi w witrynie Azure Portal.
Na karcie Przypisane przez użytkownika wybierz pozycję Skojarz tożsamość zarządzaną przypisaną przez użytkownika. Wybierz tożsamość zarządzaną przypisaną przez użytkownika, którą chcesz dodać do centrum, a następnie wybierz pozycję Dodaj.
Tożsamość przypisaną przez użytkownika można usunąć z centrum IoT Hub. Wybierz tożsamość przypisaną przez użytkownika, którą chcesz usunąć, a następnie wybierz pozycję Usuń. Usuwasz go tylko z centrum IoT, a usunięcie nie powoduje usunięcia tożsamości przypisanej przez użytkownika jako zasobu. Aby usunąć tożsamość przypisaną przez użytkownika jako zasób, postępuj zgodnie z instrukcjami w temacie Zarządzanie tożsamościami zarządzanymi przypisanymi przez użytkownika.
Łączność wychodząca z usługi IoT Hub do innych zasobów platformy Azure
Tożsamości zarządzane mogą służyć do łączności wychodzącej z usługi IoT Hub do innych usług platformy Azure. Możesz wybrać tożsamość zarządzaną używaną dla każdej łączności wychodzącej usługi IoT Hub z punktami końcowymi należącymi do klienta, w tym kontami magazynu, centrami zdarzeń i punktami końcowymi usługi Service Bus.
Uwaga
Tylko tożsamość zarządzana przypisana przez system zapewnia usłudze IoT Hub dostęp do zasobów prywatnych. Jeśli chcesz użyć tożsamości zarządzanej przypisanej przez użytkownika, należy włączyć publiczny dostęp do tych zasobów prywatnych, aby umożliwić łączność.
Konfigurowanie routingu komunikatów przy użyciu tożsamości zarządzanych
W tej sekcji jako przykład użyjemy routingu komunikatów do niestandardowego punktu końcowego usługi Event Hubs. Przykład dotyczy również innych niestandardowych punktów końcowych routingu.
Przejdź do centrum zdarzeń w witrynie Azure Portal, aby przypisać tożsamość zarządzaną do odpowiedniego dostępu.
Wybierz pozycję Kontrola dostępu (IAM).
Wybierz pozycję Dodaj > przypisanie roli.
Na karcie Rola wybierz pozycję Nadawca danych usługi Azure Event Hubs.
Uwaga
W przypadku konta magazynu wybierz pozycję Współautor danych obiektu blob usługi Storage (nie współautor lub współautor konta magazynu) jako rolę. W przypadku magistrali usług wybierz pozycję Nadawca danych usługi Azure Service Bus.
Na karcie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.
W przypadku tożsamości zarządzanych przypisanych przez użytkownika wybierz subskrypcję, wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika, a następnie wybierz tożsamość zarządzaną przypisaną przez użytkownika.
W przypadku tożsamości zarządzanych przypisanych przez system wybierz subskrypcję, wybierz pozycję Wszystkie tożsamości zarządzane przypisane przez system, a następnie wybierz nazwę zasobu usługi IoT Hub.
Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz, aby przypisać rolę.
Aby uzyskać więcej informacji na temat przypisań ról, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Jeśli musisz ograniczyć łączność z niestandardowym punktem końcowym za pośrednictwem sieci wirtualnej, musisz włączyć zaufany wyjątek firmy Microsoft, aby umożliwić usłudze IoT Hub dostęp do określonego punktu końcowego. Jeśli na przykład dodajesz niestandardowy punkt końcowy centrum zdarzeń, przejdź do karty Zapory i sieci wirtualne w centrum zdarzeń i włącz opcję Zezwalaj na dostęp z wybranych sieci . Na liście Wyjątki zaznacz pole wyboru Zezwalaj zaufanym usługom firmy Microsoft na dostęp do centrów zdarzeń, a następnie wybierz pozycję Zapisz. To wymaganie dotyczy również konta magazynu i usługi Service Bus. Dowiedz się więcej o obsłudze sieci wirtualnych w usłudze IoT Hub za pomocą usługi Azure Private Link.
Uwaga
Przed dodaniem centrum zdarzeń jako niestandardowego punktu końcowego w usłudze IoT Hub należy wykonać powyższe kroki, aby przypisać tożsamość zarządzaną. Poczekaj kilka minut na propagację przypisania roli.
Następnie przejdź do centrum IoT Hub. W centrum przejdź do pozycji Routing komunikatów, a następnie wybierz pozycję Dodaj.
Na karcie Punkt końcowy utwórz punkt końcowy dla centrum zdarzeń, podając następujące informacje:
Parametr Wartość Typ punktu końcowego Wybierz pozycję Event Hubs. Nazwa punktu końcowego Podaj unikatową nazwę nowego punktu końcowego lub wybierz pozycję Wybierz istniejący , aby wybrać istniejący punkt końcowy usługi Event Hubs. Przestrzeń nazw usługi Event Hubs Użyj menu rozwijanego, aby wybrać istniejącą przestrzeń nazw usługi Event Hubs w ramach subskrypcji. Wystąpienie centrum zdarzeń Użyj menu rozwijanego, aby wybrać istniejące centrum zdarzeń w przestrzeni nazw. Authentication type (Typ uwierzytelniania) Wybierz pozycję Przypisane przez użytkownika, a następnie użyj menu rozwijanego, aby wybrać tożsamość przypisaną przez użytkownika utworzoną w centrum zdarzeń.
Wybierz pozycję Utwórz i dalej. Możesz kontynuować pracę kreatora, aby utworzyć trasę wskazującą ten punkt końcowy lub zamknąć kreatora.
Możesz zmienić typ uwierzytelniania istniejącego niestandardowego punktu końcowego. Aby zmodyfikować punkt końcowy, wykonaj następujące czynności:
W centrum IoT wybierz pozycję Routing komunikatów w okienku nawigacji po lewej stronie, a następnie pozycję Niestandardowe punkty końcowe.
Zaznacz pole wyboru niestandardowego punktu końcowego, który chcesz zmodyfikować, a następnie wybierz pozycję Zmień typ uwierzytelniania.
Wybierz nowy typ uwierzytelniania dla tego punktu końcowego, a następnie wybierz pozycję Zapisz.
Konfigurowanie przekazywania plików przy użyciu tożsamości zarządzanych
Funkcja przekazywania plików usługi IoT Hub umożliwia urządzeniom przekazywanie plików na konto magazynu należącego do klienta. Aby umożliwić przekazywanie pliku do funkcji, usługa IoT Hub musi mieć łączność z kontem magazynu. Podobnie jak w przypadku routingu komunikatów, możesz wybrać preferowany typ uwierzytelniania i tożsamość zarządzaną dla łączności wychodzącej usługi IoT Hub z kontem usługi Azure Storage.
W witrynie Azure Portal przejdź do swojego konta magazynu.
Wybierz pozycję Kontrola dostępu (IAM).
Wybierz pozycję Dodaj > przypisanie roli.
Na karcie Rola wybierz pozycję Współautor danych obiektu blob usługi Storage. (Nie wybieraj Współautor lub Współautor konta magazynu).
Na karcie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.
W przypadku tożsamości zarządzanych przypisanych przez użytkownika wybierz subskrypcję, wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika, a następnie wybierz tożsamość zarządzaną przypisaną przez użytkownika.
W przypadku tożsamości zarządzanych przypisanych przez system wybierz subskrypcję, wybierz pozycję Wszystkie tożsamości zarządzane przypisane przez system, a następnie wybierz nazwę zasobu usługi IoT Hub.
Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz, aby przypisać rolę.
Aby uzyskać więcej informacji na temat przypisań ról, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Jeśli musisz ograniczyć łączność z kontem magazynu za pośrednictwem sieci wirtualnej, musisz włączyć zaufany wyjątek firmy Microsoft, aby zapewnić centrum IoT dostęp do konta magazynu. Na stronie zasobu konta magazynu przejdź do karty Zapory i sieci wirtualne i włącz opcję Zezwalaj na dostęp z wybranych sieci . Na liście Wyjątki zaznacz pole wyboru Zezwalaj zaufanym usługom firmy Microsoft na dostęp do tego konta magazynu, a następnie wybierz pozycję Zapisz. Dowiedz się więcej o obsłudze sieci wirtualnych w usłudze IoT Hub za pomocą usługi Azure Private Link.
Uwaga
Przed zapisaniem konta magazynu w usłudze IoT Hub w celu przekazania plików przy użyciu tożsamości zarządzanej należy wykonać powyższe kroki. Poczekaj kilka minut na propagację przypisania roli.
Na stronie zasobu centrum IoT hub przejdź do karty Przekazywanie plików.
Na wyświetlonej stronie wybierz kontener, który ma być używany w magazynie obiektów blob, skonfiguruj ustawienia powiadomień dotyczących plików, czas wygaśnięcia sygnatury dostępu współdzielonego, domyślny czas wygaśnięcia i maksymalną liczbę dostarczania zgodnie z potrzebami. Wybierz preferowany typ uwierzytelniania, a następnie wybierz pozycję Zapisz. Jeśli w tym kroku wystąpi błąd, tymczasowo ustaw konto magazynu, aby zezwolić na dostęp ze wszystkich sieci, a następnie spróbuj ponownie. Zaporę można skonfigurować na koncie magazynu po zakończeniu konfiguracji przekazywania plików.
Uwaga
W scenariuszu przekazywania plików zarówno centrum, jak i urządzenie muszą nawiązać połączenie z kontem magazynu. Poprzednie kroki dotyczą połączenia Twojego centrum IoT Hub z kontem magazynowania z wybranym typem uwierzytelnienia. Musisz połączyć Twoje urządzenie z magazynem, używając SAS URI. Obecnie identyfikator URI SAS jest generowany przy użyciu łańcucha połączenia. Wykonaj kroki opisane w temacie Przekazywanie plików za pomocą usługi IoT Hub.
Konfigurowanie zbiorczego importowania/eksportowania urządzeń przy użyciu tożsamości zarządzanych
Usługa IoT Hub obsługuje funkcje importowania i eksportowania informacji o urządzeniu zbiorczo z/do obiektu blob magazynu dostarczonego przez klienta. Ta funkcja wymaga łączności z usługi IoT Hub do konta magazynu.
W witrynie Azure Portal przejdź do swojego konta magazynu.
Wybierz pozycję Kontrola dostępu (IAM).
Wybierz pozycję Dodaj > przypisanie roli.
Na karcie Rola wybierz pozycję Współautor danych obiektu blob usługi Storage. (Nie wybieraj Współautor lub Współautor konta magazynu).
Na karcie Członkowie wybierz pozycję Tożsamość zarządzana, a następnie wybierz pozycję Wybierz członków.
W przypadku tożsamości zarządzanych przypisanych przez użytkownika wybierz subskrypcję, wybierz pozycję Tożsamość zarządzana przypisana przez użytkownika, a następnie wybierz tożsamość zarządzaną przypisaną przez użytkownika.
W przypadku tożsamości zarządzanych przypisanych przez system wybierz subskrypcję, wybierz pozycję Wszystkie tożsamości zarządzane przypisane przez system, a następnie wybierz nazwę zasobu usługi IoT Hub.
Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz, aby przypisać rolę.
Aby uzyskać więcej informacji na temat przypisań ról, zobacz Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal
Używanie interfejsu API REST lub zestawu SDK do importowania i eksportowania zadań
Teraz możesz używać interfejsów API REST usługi Azure IoT do tworzenia zadań importowania i eksportowania. Musisz podać następujące właściwości w treści żądania:
- storageAuthenticationType: ustaw wartość na identityBased.
- inputBlobContainerUri: ustaw tę właściwość tylko w zadaniu importu.
- outputBlobContainerUri: ustaw tę właściwość zarówno dla zadań importu, jak i eksportu.
- identity: ustaw wartość na tożsamość zarządzaną, która ma być używana.
Zestawy SDK usługi Azure IoT Hub obsługują również tę funkcję w menedżerze rejestru klienta usługi. Poniższy fragment kodu pokazuje, jak zainicjować zadanie importu lub zadanie eksportu przy użyciu zestawu SDK języka C#.
Fragment kodu w języku C#
// Create an export job
JobProperties jobProperties = JobProperties.CreateForExportJob(
outputBlobContainerUri: blobContainerUri,
excludeKeysInExport: false,
storageAuthenticationType: StorageAuthenticationType.IdentityBased,
identity: new ManagedIdentity
{
userAssignedIdentity = userDefinedManagedIdentityResourceId
});
// Create an import job
JobProperties jobProperties = JobProperties.CreateForImportJob(
inputBlobContainerUri: blobContainerUri,
outputBlobContainerUri: blobContainerUri,
storageAuthenticationType: StorageAuthenticationType.IdentityBased,
identity: new ManagedIdentity
{
userAssignedIdentity = userDefinedManagedIdentityResourceId
});
Fragment kodu w języku Python
# see note below
iothub_job_manager = IoTHubJobManager("<IoT Hub connection information>")
# Create an import job
result = iothub_job_manager.create_import_export_job(JobProperties(
type="import",
input_blob_container_uri="<input container URI>",
output_blob_container_uri="<output container URI>",
storage_authentication_type="identityBased",
identity=ManagedIdentity(
user_assigned_identity="<resource ID of user assigned managed identity>"
)
))
# Create an export job
result = iothub_job_manager.create_import_export_job(JobProperties(
type="export",
output_blob_container_uri="<output container URI>",
storage_authentication_type="identityBased",
exclude_keys_in_export=True,
identity=ManagedIdentity(
user_assigned_identity="<resource ID of user assigned managed identity>"
)
))
Uwaga
- Jeśli parametr storageAuthenticationType ma ustawioną wartość identityBased , a właściwość userAssignedIdentity nie ma wartości null, zadania używają określonej tożsamości zarządzanej przypisanej przez użytkownika.
- Jeśli centrum IoT nie jest skonfigurowane z przypisaną przez użytkownika tożsamością zarządzaną określoną w elemencie userAssignedIdentity, zadanie zakończy się niepowodzeniem.
- Jeśli parametr storageAuthenticationType ma ustawioną wartość identityBased właściwość userAssignedIdentity ma wartość null, zadania używają tożsamości przypisanej przez system.
- Jeśli centrum IoT nie jest skonfigurowane przy użyciu tożsamości zarządzanej przypisanej przez użytkownika, zadanie zakończy się niepowodzeniem.
- Jeśli parametr storageAuthenticationType ma ustawioną wartość identityBased , a tożsamości zarządzane przypisane przez użytkownika lub przypisane przez system nie są skonfigurowane w centrum, zadanie kończy się niepowodzeniem.
Przykłady dla zestawu SDK
Następne kroki
Skorzystaj z poniższych linków, aby dowiedzieć się więcej o funkcjach usługi IoT Hub: