Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du använder .NET SDK för att utföra tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen1. För slutanvändarautentisering med Data Lake Storage Gen1 med .NET SDK, se Slutanvändarautentisering med Data Lake Storage Gen1 med .NET SDK.
Förutsättningar
Visual Studio 2013 eller senare. Anvisningarna nedan använder Visual Studio 2019.
Prenumeration för Azure. Se Hämta en kostnadsfri utvärderingsversion av Azure.
Skapa ett Microsoft Entra-ID "Web"-program. Du måste ha slutfört stegen i Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med hjälp av Microsoft Entra-ID.
Skapa ett .NET-program
I Visual Studio väljer du menyn Arkiv , Nytt och sedan Projekt.
Välj Konsolapp (.NET Framework) och välj sedan Nästa.
I Projektnamn anger du
CreateADLApplicationoch väljer sedan Skapa.Lägg till NuGet-paketen i projektet.
Högerklicka på projektnamnet i Solution Explorer och klicka på Hantera NuGet-paket.
På fliken NuGet Package Manager ser du till att Paketkälla har angetts som nuget.org och att kryssrutan Inkludera förhandsversion är markerad.
Sök efter och installera följande NuGet-paket:
Microsoft.Azure.Management.DataLake.Store– I den här självstudiekursen används v2.1.3-förhandsversionen.Microsoft.Rest.ClientRuntime.Azure.Authentication– I den här handledningen används v2.2.12.
Stäng NuGet Package Manager.
Öppna Program.cs, ta bort den befintliga koden och lägg sedan till följande instruktioner för att lägga till referenser till namnområden.
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;
Tjänst-till-tjänst-autentisering med klienthemlighet
Lägg till det här kodfragmentet i .NET-klientprogrammet. Ersätt platshållarvärdena med de värden som hämtats från ett Microsoft Entra-webbprogram (anges som en förutsättning). Med det här kodfragmentet kan du autentisera ditt program icke-interaktivt med Data Lake Storage Gen1 med hjälp av klienthemligheten/nyckeln för Microsoft Entra-webbprogrammet.
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);
}
I föregående kodfragment används en hjälpfunktion GetCreds_SPI_SecretKey. Koden för den här hjälpfunktionen finns här på GitHub.
Tjänst-till-tjänst-autentisering med certifikat
Lägg till det här kodfragmentet i .NET-klientprogrammet. Ersätt platshållarvärdena med de värden som hämtats från ett Microsoft Entra-webbprogram (anges som en förutsättning). Med det här kodfragmentet kan du autentisera ditt program icke-interaktivt med Data Lake Storage Gen1 med hjälp av certifikatet för en Microsoft Entra-webbapp. Anvisningar om hur du skapar ett Microsoft Entra-program finns i Skapa tjänstens huvudnamn med certifikat.
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);
}
I föregående kodfragment används en hjälpfunktion GetCreds_SPI_Cert. Koden för den här hjälpfunktionen finns här på GitHub.
Nästa steg
I den här artikeln har du lärt dig hur du använder tjänst-till-tjänst-autentisering för att autentisera med Data Lake Storage Gen1 med hjälp av .NET SDK. Nu kan du titta på följande artiklar som beskriver hur du använder .NET SDK för att arbeta med Data Lake Storage Gen1.