Authentification et autorisation
Chaque appel d’API REST effectué sur une application IoT Central doit inclure un en-tête Authorization. L’en-tête Authorization doit contenir un jeton d’API ou un jeton du porteur AAD. Ces jetons sont utilisés par IoT Central pour déterminer qui est l’appelant et à quoi il a accès dans l’application.
Jeton d’API
Les jetons d’API sont destinés à la communication de service à service, sans contexte utilisateur connecté. Vous pouvez créer un jeton d’API dans votre application et lui attribuer un rôle pour accorder l’accès aux ressources au sein de votre application.
Pour créer et utiliser un jeton d’API :
Ouvrez votre application IoT Central dans le navigateur.
Accédez à Administration/Jetons d’API
Cliquez sur Générer un jeton. Vous serez invité à lui donner un nom et à choisir un rôle. Le rôle détermine ce qu’un client utilisant ce jeton est autorisé à faire dans cette application.
Générez le jeton et copiez la valeur. La valeur est un secret et ne s’affiche qu’une seule fois.
Lors de la construction d’une demande d’API, ajoutez un en-tête qui ressemble à ceci :
Nom de l’en-tête Valeur de l’en-tête Autorisation <Valeur du jeton d’API>
Par défaut, 3 rôles sont disponibles dans votre application. En savoir plus sur la création de rôles.
Vous pouvez également créer des jetons d’API par programmation. Pour effectuer la demande d’API afin de créer un jeton d’API, vous avez besoin d’un en-tête d’autorisation contenant un jeton d’API ou un porteur disposant des autorisations nécessaires pour créer des jetons d’API. Consultez la documentation pour les opérations de jetons d’API.
Jeton du porteur AAD
Un jeton du porteur est associé à un compte d’utilisateur Azure Active Directory qui a été ajouté à votre application IoT Central. Vous pouvez générer un jeton du porteur dans la commande Azure CLI : az account get-access-token --resource https://apps.azureiotcentral.com
Construisez une requête d’API avec l’en-tête suivant :
Nom de l’en-tête | Valeur de l’en-tête |
---|---|
Autorisation | <Valeur du jeton du porteur> |
Lors de l’utilisation d’un jeton du porteur dans les demandes d’API, l’appelant se voit accorder le même niveau d’accès que l’utilisateur Azure Active Directory dans l’application IoT Central.
Authentification d’un principal du service
Pour utiliser un principal de service AAD pour vous authentifier auprès de l’API, vous devez d’abord créer le principal de service. Vous devez obtenir l’ID de locataire et l’ID d’objet de votre principal de service :
- Accédez à Portail Azure -> Azure Active Directory -> Vue d’ensemble. Copier le tenantID
- Accédez à Applications d’entreprise. Créez une application ou choisissez-en une existante. Copier l’objectID
- Accédez à Portail Azure -> Azure Active Directory -> inscriptions d'applications -> votre application -> Autorisations d’API. Cliquez sur Ajouter une autorisation -> API que mon organization utilise et recherchez Microsoft IoT Central. Choisissez l’élément qui correspond à ce texte exact.
- Sélectionnez les autorisations user_impersonation et Application.ReadWrite.All et ajoutez-les.
- Sélectionnez Accorder le consentement de l’administrateur pour votre annuaire.
Enfin, ajoutez votre principal de service à votre application IoT Central. Cela est possible via les API d’aujourd’hui.
- Utilisez l’API Créer des utilisateurs pour ajouter cet utilisateur principal de service. Veillez à utiliser les {tenantID} et {objectID} lors de la création de l’utilisateur.
Vous pouvez maintenant utiliser le jeton du porteur associé à cet utilisateur de principal de service pour effectuer des demandes d’API, en suivant les mêmes étapes que ci-dessus.
Étapes suivantes
Essayez d’effectuer votre première requête d’API