Authentification des utilisateurs finaux auprès d’Azure Data Lake Storage Gen1 à l’aide du SDK .NET
Dans cet article, vous allez apprendre à utiliser le SDK .NET 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 du SDK .NET, voir Authentification de service à service auprès de Data Lake Storage Gen1 à l’aide du SDK .NET.
Prérequis
Visual Studio 2013 ou version ultérieure. Les instructions ci-dessous reposent sur Visual Studio 2019.
Un abonnement Azure. Consultez la page Obtention d’un essai gratuit d’Azure.
Créez une application « native » Microsoft Entra ID. Vous devez avoir effectué les étapes de l’authentification de l’utilisateur final avec Data Lake Storage Gen1 à l’aide de Microsoft Entra ID.
Créer une application .NET
Dans Visual Studio, sélectionnez le menu Fichier, puis Nouveau et Projet.
Choisissez Application console (.NET Framework) , puis sélectionnez Suivant.
Dans Nom du projet, entrez
CreateADLApplication
, puis sélectionnez Créer.Ajoutez les packages NuGet à votre projet.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Gérer les packages NuGet.
Dans l’onglet Gestionnaire de package NuGet, vérifiez que Source du package a la valeur nuget.org et que la case Inclure la version préliminaire est cochée.
Recherchez et installez les packages NuGet suivants :
Microsoft.Azure.Management.DataLake.Store
- Ce didacticiel utilise v2.1.3-preview.Microsoft.Rest.ClientRuntime.Azure.Authentication
- Ce didacticiel utilise v2.2.12.
Fermez le Gestionnaire de package NuGet.
Ouvrez Program.cs.
Remplacez les instructions using par les lignes suivantes :
using System; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Collections.Generic; using Microsoft.Rest; using Microsoft.Rest.Azure.Authentication; using Microsoft.Azure.Management.DataLake.Store; using Microsoft.Azure.Management.DataLake.Store.Models; using Microsoft.IdentityModel.Clients.ActiveDirectory;
Authentification des utilisateurs finaux
Ajoutez cet extrait de code dans votre application cliente .NET. Remplacez les valeurs d’espace réservé par les valeurs récupérées à partir d’une application native Microsoft Entra (répertoriées comme prérequis). Cet extrait de code vous permet d’authentifier votre application de manière interactive auprès de Data Lake Storage Gen1, ce qui signifie que vous êtes invité à entrer vos informations d’identification Azure.
Pour simplifier l’utilisation, l’extrait de code suivant utilise les valeurs par défaut de l’ID client et l’URI de redirection qui sont valides avec n’importe quel abonnement Azure. Dans l’extrait de code suivant, il vous suffit de fournir la valeur de votre ID de locataire. Vous pouvez récupérer l’ID de locataire en suivant les instructions fournies dans la section Obtenir l’ID de locataire.
Remplacez la fonction Main() par le code suivant :
private static void Main(string[] args) { //User login via interactive popup string TENANT = "<AAD-directory-domain>"; string CLIENTID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; System.Uri ARM_TOKEN_AUDIENCE = new System.Uri(@"https://management.core.windows.net/"); System.Uri ADL_TOKEN_AUDIENCE = new System.Uri(@"https://datalake.azure.net/"); string MY_DOCUMENTS = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments); string TOKEN_CACHE_PATH = System.IO.Path.Combine(MY_DOCUMENTS, "my.tokencache"); var tokenCache = GetTokenCache(TOKEN_CACHE_PATH); var armCreds = GetCreds_User_Popup(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, tokenCache); var adlCreds = GetCreds_User_Popup(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, tokenCache); }
Voici quelques informations utiles concernant l’extrait de code précédent :
- L’extrait de code précédent utilise les fonctions d’assistance
GetTokenCache
etGetCreds_User_Popup
. Le code de ces fonctions d'assistance est disponible ici sur GitHub. - Pour vous aider à effectuer le didacticiel plus rapidement, l’extrait de code utilise un ID client d’application native disponible par défaut pour tous les abonnements Azure. Vous pouvez donc utiliser cet extrait de code en l’état dans votre application.
- Toutefois, si vous souhaitez utiliser votre propre id client Microsoft Entra domaine et d’application, vous devez créer une Microsoft Entra application native, puis utiliser l’ID de locataire Microsoft Entra, l’ID client et l’URI de redirection de l’application que vous avez créée. Pour obtenir des instructions, voir la page Créer une application Active Directory pour l’authentification des utilisateurs finaux auprès de Data Lake Storage Gen1.
Étapes suivantes
Dans cet article, vous avez appris à vous servir de l’authentification des utilisateurs finaux auprès d’Azure Data Lake Storage Gen1 avec le SDK .NET. Vous pouvez maintenant consulter les articles ci-après qui expliquent comment utiliser le SDK .NET pour travailler avec Azure Data Lake Storage Gen1.