Felsöka tjänstbegäran i Azure Digital Twins: Fel 403 (förbjudet)
Den här artikeln beskriver orsaker och lösningssteg för att ta emot ett 403-fel från tjänstbegäranden till Azure Digital Twins. Den här informationen är specifik för Azure Digital Twins-tjänsten.
Symtom
Det här felet kan inträffa på många typer av tjänstbegäranden som kräver autentisering med Azure Digital Twins. Effekten är att API-begäran misslyckas och returnerar en felstatus för 403 (Forbidden)
.
Orsaker
Orsak nr 1
Oftast anger det här felet i Azure Digital Twins att dina Azure-behörigheter för rollbaserad åtkomstkontroll (Azure RBAC) för tjänsten inte har konfigurerats korrekt. Många åtgärder för en Azure Digital Twins-instans kräver att du har rollen Azure Digital Twins-dataägare på den instans som du försöker hantera.
Orsak nr 2
Om du använder en klientapp för att kommunicera med Azure Digital Twins som autentiserar med en appregistrering kan det här felet inträffa eftersom din appregistrering inte har konfigurerat behörigheter för Azure Digital Twins-tjänsten.
Appregistreringen måste ha åtkomstbehörigheter som konfigurerats för Azure Digital Twins-API:erna. När klientappen sedan autentiseras mot appregistreringen beviljas den de behörigheter som appregistreringen har konfigurerat.
Lösningar
Lösning nr 1
Den första lösningen är att kontrollera att Din Azure-användare har rollen Som Azure Digital Twins-dataägare på den instans som du försöker hantera. Om du inte har den här rollen konfigurerar du den.
Den här rollen skiljer sig från...
- det tidigare namnet på den här rollen under förhandsversionen, Azure Digital Twins-ägare (förhandsversion). I det här fallet är rollen densamma, men namnet har ändrats.
- rollen Ägare för hela Azure-prenumerationen. Azure Digital Twins Data Owner är en roll i Azure Digital Twins och är begränsad till den här enskilda Azure Digital Twins-instansen.
- ägarrollen i Azure Digital Twins. Det här är två distinkta Azure Digital Twins-hanteringsroller, och Azure Digital Twins Data Owner är den roll som ska användas för hantering.
Kontrollera den aktuella konfigurationen
Ett sätt att kontrollera att du har konfigurerat rolltilldelningen är att visa rolltilldelningarna för Azure Digital Twins-instansen i Azure-portalen. Gå till din Azure Digital Twins-instans i Azure-portalen. För att komma dit kan du leta upp den på sidan för Azure Digital Twins-instanser eller söka efter dess namn i portalens sökfält).
Visa sedan alla dess tilldelade roller under Rolltilldelningar för åtkomstkontroll (IAM). > Rolltilldelningen bör visas i listan.
Åtgärda problem
Om du inte har den här rolltilldelningen bör någon med rollen Ägare i din Azure-prenumeration köra följande kommando för att ge Azure-användaren rollen Azure Digital Twins-dataägare i Azure Digital Twins-instansen.
Om du är ägare i prenumerationen kan du köra det här kommandot själv. Om du inte är det kontaktar du en ägare för att köra det här kommandot åt dig.
az dt role-assignment create --dt-name <your-Azure-Digital-Twins-instance> --assignee "<your-Azure-AD-email>" --role "Azure Digital Twins Data Owner"
Mer information om det här rollkravet och tilldelningsprocessen finns i Konfigurera användarens åtkomstbehörigheter.
Om du redan har den här rolltilldelningen och du använder en Microsoft Entra-appregistrering för att autentisera en klientapp kan du fortsätta till nästa lösning om den här lösningen inte löste 403-problemet.
Lösning nr 2
Om du använder en Microsoft Entra-appregistrering för att autentisera en klientapp är den andra möjliga lösningen att kontrollera att appregistreringen har konfigurerats för Azure Digital Twins-tjänsten. Om dessa inte har konfigurerats konfigurerar du dem.
Kontrollera den aktuella konfigurationen
Om du vill kontrollera om behörigheterna har konfigurerats korrekt går du till översiktssidan för Microsoft Entra-appregistrering i Azure-portalen. Du kan komma till den här sidan själv genom att söka efter appregistreringar i portalens sökfält.
Växla till fliken Alla program för att se alla appregistreringar som har skapats i din prenumeration.
Du bör se appregistreringen som du skapade i listan. Välj den för att öppna informationen.
Kontrollera först att behörighetsinställningarna för Azure Digital Twins har angetts korrekt för registreringen: Välj Manifest i menyraden för att visa appregistreringens manifestkod. Rulla längst ned i kodfönstret och leta efter de här fälten under requiredResourceAccess
. Värdena ska matcha värdena i skärmbilden nedan:
Välj sedan API-behörigheter i menyraden för att kontrollera att appregistreringen innehåller läs-/skrivbehörigheter för Azure Digital Twins. Du bör se en post som den här:
Åtgärda problem
Om något av detta ser annorlunda ut än vad som beskrivs följer du anvisningarna för hur du konfigurerar en appregistrering i Skapa en appregistrering med Azure Digital Twins-åtkomst.
Nästa steg
Läs installationsstegen för att skapa och autentisera en ny Azure Digital Twins-instans:
Läs mer om säkerhet och behörigheter för Azure Digital Twins: