Partage via


Authentification de service à service auprès d’Azure Data Lake Storage Gen1 à l’aide du Kit de développement logiciel (SDK) .NET

Dans cet article, vous allez apprendre à utiliser le Kit de développement logiciel (SDK) .NET pour effectuer une authentification de service à service auprès d’Azure Data Lake Storage Gen1. Pour plus d’informations sur l’authentification des utilisateurs finaux auprès de Data Lake Storage Gen1 à l’aide du Kit de développement logiciel (SDK) .NET, consultez la rubrique Authentification des utilisateurs finaux auprès de Data Lake Storage Gen1 avec le Kit de développement logiciel (SDK) .NET.

Conditions préalables

Créer une application .NET

  1. Dans Visual Studio, sélectionnez le menu Fichier, puis Nouveau et Projet.

  2. Choisissez Application console (.NET Framework), puis sélectionnez Suivant.

  3. Dans Nom du projet, entrez CreateADLApplication, puis sélectionnez Créer.

  4. Ajoutez les packages NuGet à votre projet.

    1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nom du projet, puis cliquez sur Gérer les packages NuGet.

    2. 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.

    3. 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.

        Ajouter une source NuGet

    4. Fermez le Gestionnaire de packages NuGet.

  5. Ouvrez Program.cs, supprimez le code existant, puis insérez les instructions suivantes pour ajouter des références aux espaces de noms.

using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates; // Required only if you are using an Azure AD application created with certificates

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 de service à service avec un secret client

Ajoutez cet extrait de code dans votre application cliente .NET. Remplacez les valeurs des espaces réservés par les valeurs extraites d'une application web Microsoft Entra (mentionnée comme condition préalable). Cet extrait de code permet d’authentifier votre application de façon non interactive auprès de Data Lake Storage Gen1 à l’aide de la clé secrète client/clé de l’application web Microsoft Entra.

private static void Main(string[] args)
{
    // Service principal / application authentication with client secret / key
    // Use the client ID of an existing AAD "Web App" application.
    string TENANT = "<AAD-directory-domain>";
    string CLIENTID = "<AAD_WEB_APP_CLIENT_ID>";
    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 secret_key = "<AAD_WEB_APP_SECRET_KEY>";
    var armCreds = GetCreds_SPI_SecretKey(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, secret_key);
    var adlCreds = GetCreds_SPI_SecretKey(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, secret_key);
}

L’extrait de code précédent utilise la fonction d’assistance GetCreds_SPI_SecretKey. Le code de cette fonction d’assistance est disponible ici sur GitHub.

Authentification de service à service avec un certificat

Ajoutez cet extrait de code dans votre application cliente .NET. Remplacez les valeurs des espaces réservés par les valeurs extraites d'une application web Microsoft Entra (mentionnée comme condition préalable). Cet extrait de code permet d’authentifier votre application de façon non interactive auprès de Data Lake Storage Gen1 à l’aide du certificat d’une application web Microsoft Entra. Pour plus d’informations sur la création d’une application Microsoft Entra, consultez Créer un principal du service avec un certificat.

private static void Main(string[] args)
{
    // Service principal / application authentication with certificate
    // Use the client ID and certificate of an existing AAD "Web App" application.
    string TENANT = "<AAD-directory-domain>";
    string CLIENTID = "<AAD_WEB_APP_CLIENT_ID>";
    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/");
    var cert = new X509Certificate2(@"d:\cert.pfx", "<certpassword>");
    var armCreds = GetCreds_SPI_Cert(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, cert);
    var adlCreds = GetCreds_SPI_Cert(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, cert);
}

L’extrait de code précédent utilise la fonction d’assistance GetCreds_SPI_Cert. Le code de cette fonction d’assistance est disponible ici sur GitHub.

Étapes suivantes

Dans cet article, vous avez appris comment utiliser l'authentification de service à service pour vous authentifier auprès d'Azure Data Lake Storage Gen1 avec le SDK .NET. Vous pouvez à présent consulter les articles ci-après, qui expliquent comment utiliser le Kit de développement logiciel (SDK) .NET pour travailler avec Data Lake Storage Gen1.