Szolgáltatásközi hitelesítés Azure Data Lake Storage Gen1-tel a .NET SDK használatával
Ebből a cikkből megtudhatja, hogyan használhatja a .NET SDK-t szolgáltatásközi hitelesítésre Azure Data Lake Storage Gen1 használatával. A .NET SDK-t használó Data Lake Storage Gen1 végfelhasználói hitelesítésről lásd: Végfelhasználói hitelesítés a .NET SDK-val Data Lake Storage Gen1 használatával.
Előfeltételek
Visual Studio 2013 vagy újabb verzió. Az alábbi utasítások a Visual Studio 2019-et használják.
Azure-előfizetés. Lásd: Ingyenes Azure-fiók létrehozása.
Hozzon létre egy Microsoft Entra ID "Web" alkalmazást. A szolgáltatásközi hitelesítés lépéseit a Data Lake Storage Gen1 Microsoft Entra ID használatával kell elvégeznie.
.NET-alkalmazás létrehozása
A Visual Studióban válassza a Fájlmenüt, az Új, majd a Project lehetőséget.
Válassza a Konzolalkalmazás (.NET-keretrendszer) lehetőséget, majd válassza a Tovább gombot.
A Projekt neve mezőbe írja be a értéket
CreateADLApplication
, majd válassza a Létrehozás lehetőséget.Adja hozzá a NuGet-csomagokat a projekthez.
Kattintson a jobb gombbal a projekt nevére a Megoldáskezelőben, majd kattintson a Manage NuGet Packages (NuGet-csomagok kezelése) elemre.
A NuGet Package Manager lapon győződjön meg arról, hogy a Csomag forrásanuget.org értékre van állítva, és hogy a Belefoglalás előzetes verzió jelölőnégyzet be van jelölve.
Keresse meg és telepítse az alábbi NuGet-csomagokat:
Microsoft.Azure.Management.DataLake.Store
– Ez az oktatóanyag a 2.1.3-as előzetes verziót használja.Microsoft.Rest.ClientRuntime.Azure.Authentication
– Ez az oktatóanyag a 2.2.12-es verziót használja.
Zárja be a NuGet-csomagkezelőt.
Nyissa meg a Program.cs fájlt, törölje a meglévő kódot, majd illessze be az alábbi utasításokat, hogy hivatkozásokat a névterekre való hivatkozásokat tudjon felvenni.
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;
Szolgáltatásközi hitelesítés ügyfélkóddal
Adja hozzá ezt a kódrészletet a .NET-ügyfélalkalmazáshoz. Cserélje le a helyőrző értékeket egy Microsoft Entra webalkalmazásból lekért értékekre (előfeltételként felsorolva). Ezzel a kódrészlettel nem interaktív módon hitelesítheti az alkalmazást Data Lake Storage Gen1 a Microsoft Entra webalkalmazás ügyfélkódjának/kulcsának használatával.
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);
}
Az előző kódrészlet egy segédfüggvényt GetCreds_SPI_SecretKey
használ. A segédfüggvény kódja itt érhető el a GitHubon.
Szolgáltatásközi hitelesítés tanúsítvánnyal
Adja hozzá ezt a kódrészletet a .NET-ügyfélalkalmazáshoz. Cserélje le a helyőrző értékeket egy Microsoft Entra webalkalmazásból lekért értékekre (előfeltételként felsorolva). Ez a kódrészlet lehetővé teszi, hogy az alkalmazást nem interaktív módon hitelesítse Data Lake Storage Gen1 egy Microsoft Entra webalkalmazás tanúsítványával. A Microsoft Entra alkalmazás létrehozásával kapcsolatos útmutatásért lásd: Szolgáltatásnév létrehozása tanúsítványokkal.
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);
}
Az előző kódrészlet egy segédfüggvényt GetCreds_SPI_Cert
használ. A segédfüggvény kódja itt érhető el a GitHubon.
Következő lépések
Ebből a cikkből megtudhatja, hogyan használhatja a szolgáltatásközi hitelesítést Data Lake Storage Gen1 a .NET SDK használatával történő hitelesítéshez. Az alábbi cikkekből megtudhatja, hogyan használhatja a .NET SDK-t Data Lake Storage Gen1.