Partage via


Authentification des utilisateurs finaux auprès d’Azure Data Lake Storage Gen1 avec l’API REST

Dans cet article, vous allez apprendre à utiliser l’API REST pour authentifier les utilisateurs finaux auprès d’Azure Data Lake Storage Gen1. Pour plus d’informations sur l’authentification de service à service auprès de Data Lake Storage Gen1 à l’aide de l’API REST, consultez Authentification de service à service auprès de Data Lake Storage Gen1 à l’aide de l’API REST.

Prérequis

Authentification des utilisateurs finaux

L’authentification de l’utilisateur final est l’approche recommandée si vous souhaitez qu’un utilisateur se connecte à votre application à l’aide de Microsoft Entra ID. Votre application est en mesure d’accéder aux ressources Azure avec le même niveau d’accès que l’utilisateur qui s’est connecté. L’utilisateur doit fournir ses informations d’identification régulièrement pour que votre application maintienne l’accès.

Conséquence de la connexion de l’utilisateur final : votre application reçoit un jeton d’accès et un jeton d’actualisation. Le jeton d’accès est lié à chaque requête adressée au Data Lake Storage Gen1 ou à Data Lake Analytics et, par défaut, il est valide pendant une heure. Le jeton d’actualisation peut être utilisé pour obtenir un nouveau jeton d’accès et, par défaut, il est valide pendant deux semaines au maximum, s’il est régulièrement utilisé. Vous pouvez utiliser deux approches différentes pour la connexion de l’utilisateur final.

Dans ce scénario, l’application invite l’utilisateur à se connecter. Toutes les opérations sont effectuées dans le contexte de l’utilisateur. Procédez comme suit :

  1. Dans votre application, redirigez l’utilisateur vers l’URL suivante :

    https://login.microsoftonline.com/<TENANT-ID>/oauth2/authorize?client_id=<APPLICATION-ID>&response_type=code&redirect_uri=<REDIRECT-URI>

    Notes

    L’URI <REDIRECT-URI> doit être codée pour être utilisée dans une URL. Donc, pour https://localhost , utilisez https%3A%2F%2Flocalhost )

    Pour les besoins de ce didacticiel, vous pouvez remplacer les valeurs d’espace réservé de l’URL ci-dessus et la coller dans la barre d’adresse d’un navigateur web. Vous serez redirigé pour vous authentifier à l’aide de vos informations de connexion Azure. Lorsque vous êtes connecté, la réponse s’affiche dans la barre d’adresse du navigateur. La réponse présente le format suivant :

    http://localhost/?code=<AUTHORIZATION-CODE>&session_state=<GUID>

  2. Capturez le code d’autorisation de la réponse. Pour ce didacticiel, vous pouvez copier le code d’autorisation de la barre d’adresse du navigateur web et le transmettre dans la demande POST au point de terminaison de jeton, comme indiqué dans l’extrait de code suivant :

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token \
    -F redirect_uri=<REDIRECT-URI> \
    -F grant_type=authorization_code \
    -F resource=https://management.core.windows.net/ \
    -F client_id=<APPLICATION-ID> \
    -F code=<AUTHORIZATION-CODE>
    

    Notes

    Dans ce cas, il n’est pas nécessaire de coder l’URI <REDIRECT-URI>.

  3. La réponse est un objet JSON contenant un jeton d’accès (par exemple, "access_token": "<ACCESS_TOKEN>") et un jeton d’actualisation (par exemple, "refresh_token": "<REFRESH_TOKEN>"). Votre application utilise le jeton d’accès pour accéder à Azure Data Lake Storage Gen1 et le jeton d’actualisation pour obtenir un autre jeton d’accès lorsque l’un d’eux expire.

    {"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1461865782","not_before":    "1461861882","resource":"https://management.core.windows.net/","access_token":"<REDACTED>","refresh_token":"<REDACTED>","id_token":"<REDACTED>"}
    
  4. Quand le jeton d’accès arrive à expiration, vous pouvez en demander un nouveau à l’aide du jeton d’actualisation, comme indiqué dans l’extrait de code suivant :

    curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token  \
         -F grant_type=refresh_token \
         -F resource=https://management.core.windows.net/ \
         -F client_id=<APPLICATION-ID> \
         -F refresh_token=<REFRESH-TOKEN>
    

Pour plus d’informations sur l’authentification utilisateur interactive, consultez Flux d’octroi d’un code d’autorisation.

Étapes suivantes

Dans cet article, vous avez appris à utiliser l’authentification de service à service auprès d’Azure Data Lake Storage Gen1 avec l’API REST. Vous pouvez à présent consulter les articles ci-après, qui expliquent comment utiliser l’API REST pour travailler avec Azure Data Lake Storage Gen1.