Tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen1 med hjälp av .NET SDK
I den här artikeln får du lära dig mer om hur du använder .NET SDK för tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen1. Information om slutanvändarautentisering med Data Lake Storage Gen1 med hjälp av .NET SDK finns i Slutanvändarautentisering med Data Lake Storage Gen1 med hjälp av .NET SDK.
Förutsättningar
Visual Studio 2013 eller senare. Anvisningarna nedan använder Visual Studio 2019.
En Azure-prenumeration. Se Hämta en kostnadsfri utvärderingsversion av Azure.
Skapa ett Microsoft Entra ID "Webb"-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
CreateADLApplication
och 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 kontrollerar du att Paketkälla är inställd på 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 självstudiekursen 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 en Microsoft Entra webbapp (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 webbapp.
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);
}
Föregående kodfragment använder 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 en Microsoft Entra webbapp (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);
}
Föregående kodfragment använder 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.