Configurer l’authentification
Azure Remote Rendering utilise un mécanisme d’authentification identique à Azure Spatial Anchors (ASA). Pour accéder à un compte Azure Remote Rendering donné, les clients doivent d’abord obtenir un jeton d’accès à partir du service d’émission de jeton de sécurité (STS, Security Token Service) Azure Mixed Reality. Les jetons obtenus de STS ont une durée de vie de 24 heures. Les clients doivent définir un des éléments suivants pour appeler correctement les API REST :
AccountKey peut être obtenu sous l’onglet « Clés » correspondant au compte Remote Rendering dans le portail Azure. Les clés de compte sont uniquement recommandées pour le développement/prototypage.
AccountDomain : peut être obtenu sous l’onglet « Vue d’ensemble » correspondant au compte de rendu à distance dans le portail Azure.
AuthenticationToken : est un jeton Microsoft Entra, qui peut être obtenu à l’aide de la bibliothèque MSAL. Plusieurs flux différents sont disponibles pour accepter les informations d’identification de l’utilisateur et utiliser ces informations d’identification pour obtenir un jeton d’accès.
MRAccessToken est un jeton MR, qui peut être obtenu à partir du service d’émission de jeton de sécurité (STS) Azure Mixed Reality. Récupéré à partir du point de terminaison
https://sts.<accountDomain>
à l’aide d’un appel REST semblable au suivant :GET https://sts.southcentralus.mixedreality.azure.com/Accounts/35d830cb-f062-4062-9792-d6316039df56/token HTTP/1.1 Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni<truncated>FL8Hq5aaOqZQnJr1koaQ Host: sts.southcentralus.mixedreality.azure.com Connection: Keep-Alive HTTP/1.1 200 OK Date: Tue, 24 Mar 2020 09:09:00 GMT Content-Type: application/json; charset=utf-8 Content-Length: 1153 Accept: application/json MS-CV: 05JLqWeKFkWpbdY944yl7A.0 {"AccessToken":"eyJhbGciOiJSUzI1<truncated>uLkO2FvA"}
Où l’en-tête Authorization est mis en forme comme suit :
Bearer <Azure_AD_token>
ouBearer <accoundId>:<accountKey>
. La première est préférable pour des raisons de sécurité. Le jeton retourné par cet appel REST est le jeton d’accès MR.
Authentification des applications déployées
Les clés de compte sont recommandées pour un prototypage rapide, pendant le développement uniquement. Il est recommandé de ne pas envoyer votre application en production à l’aide d’une clé de compte incorporée. L’approche recommandée consiste à utiliser une approche d’authentification Microsoft Entra basée sur l’utilisateur ou basée sur un service.
Authentification utilisateur Microsoft Entra
L’authentification Microsoft Entra est décrite dans la documentation Azure Spatial Anchors.
Suivez les étapes pour configurer l’authentification utilisateur Microsoft Entra dans le Portail Azure.
Inscrivez votre application dans l’ID Microsoft Entra. Dans le cadre de l’inscription, vous devez déterminer si votre application doit être multilocataire. Vous devez également fournir les URL de redirection autorisées pour votre application dans le panneau Authentification.
Sous l’onglet API autorisées, demandez des autorisations déléguées pour l’étendue mixedreality.signin sous mixedreality.
Accordez le consentement administrateur sous l’onglet Sécurité -> Autorisations.
Ensuite, accédez à votre ressource Azure Remote Rendering. Dans le volet Contrôle d’accès, accordez les rôles souhaités pour vos applications et utilisateur, au nom desquels vous souhaitez utiliser des autorisations d’accès déléguées sur votre ressource Azure Remote Rendering.
Pour plus d’informations sur l’utilisation de l’authentification utilisateur Microsoft Entra dans votre code d’application, consultez le tutoriel : Sécurisation du stockage azure Remote Rendering et du modèle - Authentification Microsoft Entra
Contrôle d’accès en fonction du rôle Azure
Pour mieux contrôler le niveau d’accès accordé à votre service, utilisez les rôles suivants lorsque vous donnez l’accès en fonction du rôle :
- Remote Rendering Administration istrator : fournit à l’utilisateur des fonctionnalités de conversion, de gestion de session, de rendu et de diagnostic pour Azure Remote Rendering.
- Client Remote Rendering : fournit à l’utilisateur des fonctionnalités de gestion de session, de rendu et de diagnostic pour Azure Remote Rendering.