Rozwiązywanie problemów z niepowodzeniem żądania obsługi usługi Azure Digital Twins: Błąd 403 (Zabronione)

W tym artykule opisano przyczyny i kroki rozwiązywania problemów z otrzymywaniem błędu 403 z żądań obsługi do usługi Azure Digital Twins. Te informacje są specyficzne dla usługi Azure Digital Twins.

Objawy

Ten błąd może wystąpić w wielu typach żądań obsługi, które wymagają uwierzytelniania w usłudze Azure Digital Twins. Efekt polega na tym, że żądanie interfejsu API kończy się niepowodzeniem, zwracając stan błędu 403 (Forbidden).

Przyczyny

Przyczyna nr 1

Najczęściej ten błąd w usłudze Azure Digital Twins wskazuje, że uprawnienia kontroli dostępu opartej na rolach (RBAC) platformy Azure dla usługi nie są poprawnie skonfigurowane. Wiele akcji dla wystąpienia usługi Azure Digital Twins wymaga posiadania roli właściciela danych usługi Azure Digital Twins w wystąpieniu, którym próbujesz zarządzać.

Przyczyna nr 2

Jeśli używasz aplikacji klienckiej do komunikowania się z usługą Azure Digital Twins, która uwierzytelnia się przy użyciu rejestracji aplikacji, ten błąd może wystąpić, ponieważ rejestracja aplikacji nie ma uprawnień skonfigurowanych dla usługi Azure Digital Twins.

Rejestracja aplikacji musi mieć uprawnienia dostępu skonfigurowane dla interfejsów API usługi Azure Digital Twins. Następnie po uwierzytelnieniu aplikacji klienckiej w rejestracji aplikacji zostaną przyznane uprawnienia skonfigurowane przez rejestrację aplikacji.

Rozwiązania

Rozwiązanie nr 1

Pierwszym rozwiązaniem jest sprawdzenie, czy użytkownik platformy Azure ma rolę właściciela danych usługi Azure Digital Twins w wystąpieniu, którym próbujesz zarządzać. Jeśli nie masz tej roli, skonfiguruj ją.

Ta rola różni się od...

  • była nazwa tej roli w wersji zapoznawczej, właściciel usługi Azure Digital Twins (wersja zapoznawcza). W takim przypadku rola jest taka sama, ale nazwa została zmieniona.
  • rola Właściciel w całej subskrypcji platformy Azure. Właściciel danych usługi Azure Digital Twins jest rolą w usłudze Azure Digital Twins i jest w zakresie tego pojedynczego wystąpienia usługi Azure Digital Twins.
  • rola właściciela w usłudze Azure Digital Twins. Są to dwie odrębne role zarządzania usługą Azure Digital Twins, a właściciel danych usługi Azure Digital Twins jest rolą, która powinna być używana do zarządzania.

Sprawdzanie bieżącej konfiguracji

Jednym ze sposobów sprawdzenia, czy przypisanie roli zostało pomyślnie skonfigurowane, jest wyświetlenie przypisań ról dla wystąpienia usługi Azure Digital Twins w witrynie Azure Portal. Przejdź do wystąpienia usługi Azure Digital Twins w witrynie Azure Portal. Aby się tam dostać, możesz wyszukać go na stronie wystąpień usługi Azure Digital Twins lub wyszukać jego nazwę na pasku wyszukiwania portalu.

Następnie wyświetl wszystkie przypisane role w ramach przypisań ról kontroli dostępu (IAM). > Twoje przypisanie roli powinno zostać wyświetlone na liście.

Screenshot of the role assignments for an Azure Digital Twins instance in the Azure portal.

Rozwiązywanie problemów

Jeśli nie masz tego przypisania roli, ktoś z rolą Właściciel w subskrypcji platformy Azure powinien uruchomić następujące polecenie, aby nadać użytkownikowi platformy Azure rolę właściciela danych usługi Azure Digital Twins w wystąpieniu usługi Azure Digital Twins.

Jeśli jesteś właścicielem subskrypcji, możesz uruchomić to polecenie samodzielnie. Jeśli nie jesteś, skontaktuj się z właścicielem, aby uruchomić to polecenie w Twoim imieniu.

az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<your-Azure-AD-email>" --role "Azure Digital Twins Data Owner"

Aby uzyskać więcej informacji na temat tego wymagania roli i procesu przypisywania, zobacz Konfigurowanie uprawnień dostępu użytkownika.

Jeśli masz już to przypisanie roli i używasz rejestracji aplikacji Microsoft Entra do uwierzytelniania aplikacji klienckiej, możesz przejść do następnego rozwiązania, jeśli to rozwiązanie nie rozwiązało problemu 403.

Rozwiązanie nr 2

Jeśli używasz rejestracji aplikacji Firmy Microsoft Entra do uwierzytelniania aplikacji klienckiej, drugim możliwym rozwiązaniem jest sprawdzenie, czy rejestracja aplikacji ma uprawnienia skonfigurowane dla usługi Azure Digital Twins. Jeśli te ustawienia nie są skonfigurowane, skonfiguruj je.

Sprawdzanie bieżącej konfiguracji

Aby sprawdzić, czy uprawnienia zostały prawidłowo skonfigurowane, przejdź do strony przeglądu rejestracji aplikacji Microsoft Entra w witrynie Azure Portal. Możesz przejść do tej strony samodzielnie, wyszukując rejestracje aplikacji na pasku wyszukiwania portalu.

Przejdź do karty Wszystkie aplikacje , aby wyświetlić wszystkie rejestracje aplikacji utworzone w ramach subskrypcji.

Powinna zostać wyświetlona rejestracja aplikacji utworzona na liście. Wybierz go, aby otworzyć jego szczegóły.

Screenshot of the app registrations page in the Azure portal.

Najpierw sprawdź, czy ustawienia uprawnień usługi Azure Digital Twins zostały prawidłowo ustawione na rejestracji: wybierz pozycję Manifest na pasku menu, aby wyświetlić kod manifestu rejestracji aplikacji. Przewiń do dołu okna kodu i poszukaj tych pól w obszarze requiredResourceAccess. Wartości powinny być zgodne z wartościami na poniższym zrzucie ekranu:

Screenshot of the manifest for the Microsoft Entra app registration in the Azure portal.

Następnie wybierz pozycję Uprawnienia interfejsu API na pasku menu, aby sprawdzić, czy ta rejestracja aplikacji zawiera uprawnienia do odczytu/zapisu dla usługi Azure Digital Twins. Powinien zostać wyświetlony wpis podobny do następującego:

Screenshot of the API permissions for the Microsoft Entra app registration in the Azure portal, showing 'Read/Write Access' for Azure Digital Twins.

Rozwiązywanie problemów

Jeśli którykolwiek z tych elementów wygląda inaczej niż opisano, postępuj zgodnie z instrukcjami dotyczącymi konfigurowania rejestracji aplikacji w temacie Tworzenie rejestracji aplikacji przy użyciu dostępu do usługi Azure Digital Twins.

Następne kroki

Zapoznaj się z krokami konfiguracji tworzenia i uwierzytelniania nowego wystąpienia usługi Azure Digital Twins:

Przeczytaj więcej na temat zabezpieczeń i uprawnień w usłudze Azure Digital Twins: