Autentisering och auktorisering
Alla API-anrop som görs mot ett IoT Central-program måste innehålla rubriken Authorization (auktorisering). Auktoriseringshuvudet måste innehålla antingen en API-token eller en AAD-ägartoken. Dessa token används av IoT Central för att avgöra vem anroparen är och vad de har åtkomst till i programmet.
API token (API-token)
API-token är avsedda för tjänst-till-tjänst-kommunikation, utan en inloggad användarkontext. Du kan skapa en API-token i ditt program och tilldela den en roll för att bevilja åtkomst till resurser i ditt program.
Så här skapar och använder du en API-token:
Öppna ditt IoT Central-program i webbläsaren.
Gå till Administration/API-token
Klicka på Generera token. Du uppmanas att ge den ett namn och välja en roll. Rollen avgör vad en klient som använder denna token har behörighet att göra i det här programmet.
Generera token och kopiera värdet. Värdet är en hemlighet och visas bara en gång.
När du skapar en API-begäran lägger du till en rubrik som ser ut så här:
Huvudnamn Huvudvärde Auktorisering <API-tokenvärde>
Som standard är 3 roller tillgängliga i ditt program. Läs mer om att skapa nya roller.
Du kan också skapa nya API-token programmatiskt. För att göra API-begäran om att skapa en ny API-token behöver du ett auktoriseringshuvud som innehåller en API-token eller ägarskapare med behörighet att skapa nya API-token. Se dokument för API-tokenåtgärder.
AAD-ägartoken
En ägartoken är associerad med ett Azure Active Directory-användarkonto som har lagts till i ditt IoT Central-program. Du kan generera en ägartoken i Azure CLI-kommandot: az account get-access-token --resource https://apps.azureiotcentral.com
Skapa en API-begäran med följande huvud:
Huvudnamn | Huvudvärde |
---|---|
Auktorisering | Ägarens <ägartokenvärde> |
När du använder en ägartoken i API-begäranden beviljas anroparen samma åtkomstnivå som Azure Active Directory-användaren har i IoT Central-programmet.
Autentisering av tjänstens huvudnamn
Om du vill använda AAD-tjänstens huvudnamn för att autentisera mot API:et måste du först skapa tjänstens huvudnamn. Du måste hämta klientorganisations-ID och objekt-ID för tjänstens huvudnamn:
- Gå till Azure Portal –> Azure Active Directory –> Översikt. Kopiera tenantID
- Gå till Företagsprogram. Skapa ett nytt program eller välj ett befintligt. Kopiera objectID
- Gå till Azure Portal –> Azure Active Directory –> Appregistreringar –> din app –> API-behörigheter. Klicka på Lägg till en behörighet –> API:er som min organisation använder och sök efter Microsoft IoT Central. Välj det objekt som matchar exakt den här texten.
- Välj behörigheterna user_impersonation och Application.ReadWrite.All och lägg till dem.
- Välj Bevilja administratörsmedgivande för din katalog.
Slutligen lägger du till tjänstens huvudnamn i IoT Central-programmet. Detta är möjligt via API:erna i dag.
- Använd API:et Skapa användare för att lägga till den här användaren av tjänstens huvudnamn. Se till att du använder {tenantID} och {objectID} när du skapar den nya användaren.
Nu kan du använda ägartoken som är associerad med den här användaren av tjänstens huvudnamn för att göra API-begäranden genom att följa samma steg som ovan.
Nästa steg
Prova att göra din första API-begäran