Delen via


Service-naar-serviceverificatie met Azure Data Lake Storage Gen1 met behulp van .NET SDK

In dit artikel leert u hoe u de .NET SDK gebruikt om service-naar-serviceverificatie uit te voeren met Azure Data Lake Storage Gen1. Zie Eindgebruikersverificatie met Data Lake Storage Gen1 met behulp van .NET SDK voor meer informatie over de verificatie van eindgebruikers met Data Lake Storage Gen1 met behulp van .NET SDK.

Vereisten

Een .NET-toepassing maken

  1. Selecteer in Visual Studio het menu Bestand , Nieuw en vervolgens Project.

  2. Kies Console-app (.NET Framework) en selecteer vervolgens Volgende.

  3. Voer in Projectnaam in CreateADLApplicationen selecteer vervolgens Maken.

  4. Voeg de NuGet-pakketten toe aan het project.

    1. Klik in Solution Explorer met de rechtermuisknop op de projectnaam en klik op Manage NuGet Packages.

    2. Controleer op het tabblad NuGet Package Manager of Pakketbron is ingesteld op nuget.org en of het selectievakje Prerelease opnemen is ingeschakeld.

    3. Zoek en installeer de volgende NuGet-pakketten:

      • Microsoft.Azure.Management.DataLake.Store: in deze zelfstudie wordt gebruikgemaakt van v2.1.3-preview.

      • Microsoft.Rest.ClientRuntime.Azure.Authentication: in deze zelfstudie wordt gebruikgemaakt van v2.2.12.

        Een NuGet-bron toevoegen

    4. Sluit NuGet Package Manager.

  5. Open Program.cs, verwijder de bestaande code en neem de volgende instructies op om verwijzingen naar naamruimten toe te voegen.

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;

Service-naar-serviceverificatie met clientgeheim

Voeg dit fragment toe aan uw .NET-clienttoepassing. Vervang de waarden van de tijdelijke aanduidingen door de waarden die zijn opgehaald uit een Microsoft Entra webtoepassing (vermeld als een vereiste). Met dit codefragment kunt u uw toepassing niet-interactief verifiëren met Data Lake Storage Gen1 met behulp van het clientgeheim/de clientsleutel voor Microsoft Entra webtoepassing.

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);
}

In het voorgaande fragment wordt een helperfunctie gebruikt GetCreds_SPI_SecretKey. De code voor deze helperfunctie is hier beschikbaar op GitHub.

Service-naar-serviceverificatie met certificaat

Voeg dit fragment toe aan uw .NET-clienttoepassing. Vervang de waarden van de tijdelijke aanduidingen door de waarden die zijn opgehaald uit een Microsoft Entra webtoepassing (vermeld als een vereiste). Met dit codefragment kunt u uw toepassing niet-interactief verifiëren met Data Lake Storage Gen1 met behulp van het certificaat voor een Microsoft Entra-webtoepassing. Zie Service-principal maken met certificaten voor instructies over het maken van een Microsoft Entra-toepassing.

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);
}

In het voorgaande fragment wordt een helperfunctie gebruikt GetCreds_SPI_Cert. De code voor deze helperfunctie is hier beschikbaar op GitHub.

Volgende stappen

In dit artikel hebt u geleerd hoe u service-naar-serviceverificatie gebruikt om te verifiëren met Data Lake Storage Gen1 met behulp van .NET SDK. U kunt nu de volgende artikelen bekijken waarin wordt uitgelegd hoe u de .NET SDK kunt gebruiken om te werken met Data Lake Storage Gen1.