Problembehandlung bei einem fehlerhaften Service Request in Azure Digital Twins: Fehler 403 (Verboten)
In diesem Artikel werden die Ursachen und Schritte zur Behebung beim Empfang eines 403-Fehlers bei Service Requests an Azure Digital Twins beschrieben. Diese Informationen gelten speziell für den Azure Digital Twins-Dienst.
Problembeschreibung
Dieser Fehler kann bei vielen Service Request-Typen auftreten, für die eine Authentifizierung bei Azure Digital Twins erforderlich ist. Die Auswirkung ist ein Fehler bei der API-Anforderung mit Rückgabe des Fehlerstatus 403 (Forbidden)
.
Ursachen
Ursache 1
In den meisten Fällen zeigt das Auftreten dieses Fehlers in Azure Digital Twins an, dass die Azure RBAC-Berechtigungen (Role-Based Access Control, rollenbasierte Zugriffssteuerung in Azure) für den Dienst nicht ordnungsgemäß eingerichtet wurden. Viele Aktionen für eine Azure Digital Twins-Instanz erfordern die Rolle Azure Digital Twins Data Owner (Azure Digital Twins-Datenbesitzer) für die Instanz, die Sie verwalten möchten.
Ursache 2
Wenn Sie für die Kommunikation mit Azure Digital Twins eine Client-App verwenden, die sich mit einer App-Registrierung authentifiziert, kann dieser Fehler auftreten, da für Ihre App-Registrierung keine Berechtigungen für den Azure Digital Twins-Dienst eingerichtet wurden.
Die App-Registrierung muss über konfigurierte Zugriffsberechtigungen für die Azure Digital Twins-APIs verfügen. Wenn Ihre Client-App dann bei der App-Registrierung authentifiziert wird, erhält sie die für die App-Registrierung konfigurierten Berechtigungen.
Lösungen
Lösung 1
Die erste Lösung besteht darin sicherzustellen, dass Ihr Azure-Benutzer über die Rolle „Azure Digital Twins-Datenbesitzer“ für die zu verwaltende Instanz verfügt. Wenn diese Rolle noch nicht vorhanden ist, richten Sie sie ein.
Diese Rolle unterscheidet sich von Folgendem:
- Früherer Name dieser Rolle während der Vorschau: Azure Digital Twins-Besitzer (Vorschau). In diesem Fall ist die Rolle identisch, aber der Name wurde geändert.
- Rolle Besitzer für das gesamte Azure-Abonnement. Azure Digital Twins Data Owner (Azure Digital Twins-Datenbesitzer) ist eine Rolle in Azure Digital Twins und bezieht sich auf diese einzelne Azure Digital Twins-Instanz.
- Rolle Besitzer in Azure Digital Twins. Es handelt sich um zwei verschiedene Verwaltungsrollen für Azure Digital Twins, und Azure Digital Twins Data Owner ist die Rolle, die für die Verwaltung verwendet werden sollte.
Überprüfen des aktuellen Setups
Eine Möglichkeit, um zu überprüfen, ob die Rollenzuweisung erfolgreich eingerichtet wurde, besteht darin, die Rollenzuweisungen für die Instanz von Azure Digital Twins im Azure-Portal anzuzeigen. Navigieren Sie im Azure-Portal zu Ihrer Azure Digital Twins-Instanz. Um dorthin zu gelangen, können Sie sie auf der Seite der Azure Digital Twins-Instanzen suchen oder nach ihrem Namen in der Suchleiste des Portals suchen.
Sehen Sie sich dann unter Zugriffssteuerung (IAM) > Rollenzuweisungen alle zugewiesenen Rollen an. Ihre Rollenzuweisung sollte in der Liste angezeigt werden.
Beheben von Problemen
Wenn Sie nicht über diese Rollenzuweisung verfügen, muss eine Person mit der Rolle „Besitzer“ in Ihrem Azure-Abonnement den folgenden Befehl ausführen, um Ihrem Azure-Benutzer die Rolle „Azure Digital Twins-Datenbesitzer“ für die Azure Digital Twins-Instanz zuzuweisen.
Wenn Sie ein Besitzer des Abonnements sind, können Sie diesen Befehl selbst ausführen. Bitten Sie andernfalls einen Besitzer, diesen Befehl für Sie auszuführen.
az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<your-Azure-AD-email>" --role "Azure Digital Twins Data Owner"
Weitere Informationen zu dieser Rollenanforderung und zum Zuweisungsvorgang finden Sie im unter Einrichten der Zugriffsberechtigungen für Ihren Benutzer.
Wenn Sie diese Rollenzuweisung bereits haben und eine Microsoft Entra-App-Registrierung zum Authentifizieren einer Client-App verwenden, können Sie mit der nächsten Lösung fortfahren, wenn diese Lösung das Problem mit 403 nicht behoben hat.
Lösung 2
Wenn Sie eine Microsoft Entra-App-Registrierung zum Authentifizieren einer Client-App verwenden, besteht die zweite mögliche Lösung darin, zu überprüfen, ob die App-Registrierung Berechtigungen für den Azure Digital Twins-Dienst konfiguriert hat. Wenn diese nicht konfiguriert sind, richten Sie sie ein.
Überprüfen des aktuellen Setups
Um zu überprüfen, ob die Berechtigungen ordnungsgemäß konfiguriert wurden, navigieren Sie zur Übersichtsseite der Microsoft Entra-App im Azure-Portal. Sie können selbst auf diese Seite gelangen, indem Sie über die Portalsuchleiste nach App-Registrierungen suchen.
Wechseln Sie zur Registerkarte Alle Anwendungen, um alle App-Registrierungen anzuzeigen, die in Ihrem Abonnement erstellt wurden.
Die von Ihnen erstellte App-Registrierung sollte in der Liste angezeigt werden. Wählen Sie sie aus, um die Details zu öffnen.
Vergewissern Sie sich zunächst, dass die Einstellungen für die Azure Digital Twins-Berechtigungen ordnungsgemäß in der Registrierung festgelegt wurden: Wählen Sie in der Menüleiste die Option Manifest aus, um den Manifestcode der App-Registrierung anzuzeigen. Scrollen Sie zum unteren Bereich des Codefensters, und suchen Sie unter requiredResourceAccess
nach diesen Feldern. Die Werte sollten den Werten im folgenden Screenshot entsprechen:
Wählen Sie als Nächstes auf der Menüleiste API-Berechtigungen aus, um sich zu vergewissern, dass diese App-Registrierung Lese-/Schreibberechtigungen für Azure Digital Twins enthält. Es sollte ein Eintrag wie der folgende angezeigt werden:
Beheben von Problemen
Sollte etwas nicht wie beschrieben aussehen, befolgen Sie die Anweisungen zum Einrichten einer App-Registrierung unter Erstellen einer App-Registrierung für die Verwendung mit Azure Digital Twins (Portal).
Nächste Schritte
Lesen Sie die Einrichtungsschritte zum Erstellen und Authentifizieren einer neuen Azure Digital Twins-Instanz:
Informieren Sie sich weiter über die Sicherheit und Berechtigungen in Azure Digital Twins: