Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 mithilfe des .NET SDKEnd-user authentication with Azure Data Lake Storage Gen1 using .NET SDK

In diesem Artikel erfahren Sie, wie Sie mithilfe des .NET SDK die Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 durchführen.In this article, you learn about how to use the .NET SDK to do end-user authentication with Azure Data Lake Storage Gen1. Informationen zur Dienst-zu-Dienst-Authentifizierung bei Data Lake Storage Gen1 mithilfe des .NET SDK finden Sie unter Dienst-zu-Dienst-Authentifizierung bei Data Lake Storage Gen1 mithilfe des .NET SDK.For service-to-service authentication with Data Lake Storage Gen1 using .NET SDK, see Service-to-service authentication with Data Lake Storage Gen1 using .NET SDK.

VoraussetzungenPrerequisites

Erstellen einer .NET-AnwendungCreate a .NET application

  1. Wählen Sie in Visual Studio das Menü Datei, dann die Option Neu und anschließend Projekt aus.In Visual Studio, select the File menu, New, and then Project.

  2. Wählen Sie Konsolen-App (.NET Framework) und dann Weiter aus.Choose Console App (.NET Framework), and then select Next.

  3. Geben Sie unter Projektname CreateADLApplication ein, und wählen Sie dann Erstellen aus.In Project name, enter CreateADLApplication, and then select Create.

  4. Fügen Sie Ihrem Projekt die NuGet-Pakete hinzu.Add the NuGet packages to your project.

    1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektnamen und dann auf NuGet-Pakete verwalten.Right-click the project name in the Solution Explorer and click Manage NuGet Packages.

    2. Stellen Sie auf der Registerkarte NuGet-Paket-Manager sicher, dass Paketquelle auf nuget.org festgelegt und das Kontrollkästchen Vorabversion einbeziehen aktiviert ist.In the NuGet Package Manager tab, make sure that Package source is set to nuget.org and that Include prerelease check box is selected.

    3. Suchen und installieren Sie die folgenden NuGet-Pakete:Search for and install the following NuGet packages:

      • Microsoft.Azure.Management.DataLake.Store: In diesem Tutorial wird „v2.1.3-preview“ verwendet.Microsoft.Azure.Management.DataLake.Store - This tutorial uses v2.1.3-preview.

      • Microsoft.Rest.ClientRuntime.Azure.Authentication: In diesem Tutorial wird „v2.2.12“ verwendet.Microsoft.Rest.ClientRuntime.Azure.Authentication - This tutorial uses v2.2.12.

        Hinzufügen einer NuGet-QuelleAdd a NuGet source

    4. Schließen Sie den NuGet-Paket-Manager.Close the NuGet Package Manager.

  5. Öffnen Sie Program.cs.Open Program.cs

  6. Ersetzen Sie die „using“-Anweisungen durch die folgenden Zeilen:Replace the using statements with the following lines:

    using System;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Collections.Generic;
    
    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;
    

Authentifizierung von EndbenutzernEnd-user authentication

Fügen Sie diesen Codeausschnitt der .NET-Clientanwendung hinzu.Add this snippet in your .NET client application. Ersetzen Sie die Platzhalterwerte mit den aus einer (als Voraussetzung angegebenen) nativen Azure AD-Anwendung abgerufenen Werten.Replace the placeholder values with the values retrieved from an Azure AD native application (listed as prerequisite). Mit diesem Codeausschnitt können Sie Ihre Anwendung interaktiv bei Data Lake Storage Gen1 authentifizieren, d.h., Sie werden aufgefordert, Ihre Azure-Anmeldeinformationen einzugeben.This snippet lets you authenticate your application interactively with Data Lake Storage Gen1, which means you are prompted to enter your Azure credentials.

Zur Vereinfachung werden im folgenden Codeausschnitt Standardwerte für Client-ID und Umleitungs-URI verwendet, die für jedes Azure-Abonnement gültig sind.For ease of use, the following snippet uses default values for client ID and redirect URI that are valid for any Azure subscription. Im folgenden Codeausschnitt müssen Sie nur den Wert für Ihre Mandanten-ID bereitstellen.In the following snippet, you only need to provide the value for your tenant ID. Sie können mithilfe der Anweisungen unter Abrufen der Mandanten-ID die Mandanten-ID abrufen.You can retrieve the Tenant ID using the instructions provided at Get the tenant ID.

  • Ersetzen Sie die Main()-Funktion durch den folgenden Code:Replace the Main() function with the following code:

    private static void Main(string[] args)
    {
        //User login via interactive popup
        string TENANT = "<AAD-directory-domain>";
        string CLIENTID = "1950a258-227b-4e31-a9cf-717495945fc2";
        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 MY_DOCUMENTS = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
        string TOKEN_CACHE_PATH = System.IO.Path.Combine(MY_DOCUMENTS, "my.tokencache");
        var tokenCache = GetTokenCache(TOKEN_CACHE_PATH);
        var armCreds = GetCreds_User_Popup(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, tokenCache);
        var adlCreds = GetCreds_User_Popup(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, tokenCache);
    }
    

Im Anschluss folgen einige wissenswerte Informationen zu obigem Codeausschnitt:A couple of things to know about the preceding snippet:

  • Im vorangehenden Ausschnitt werden die Hilfsfunktionen GetTokenCache und GetCreds_User_Popup verwendet.The preceding snippet uses a helper functions GetTokenCache and GetCreds_User_Popup. Den Code für diese Hilfsfunktionen finden Sie hier auf GitHub.The code for these helper functions is available here on GitHub.
  • Zur Vereinfachung des Tutorials wird in dem Codeausschnitt eine native Anwendungsclient-ID verwendet, die standardmäßig für alle Azure-Abonnements verfügbar ist.To help you complete the tutorial faster, the snippet uses a native application client ID that is available by default for all Azure subscriptions. Dadurch können Sie diesen Codeausschnitt unverändert in Ihrer Anwendung verwenden.So, you can use this snippet as-is in your application.
  • Wenn Sie allerdings Ihre eigene Azure AD-Domäne und Anwendungsclient-ID verwenden möchten, müssen Sie eine native Azure AD-Anwendung erstellen und dann die Azure AD-Mandanten-ID, die Client-ID und den Umleitungs-URI für die erstellte Anwendung verwenden.However, if you do want to use your own Azure AD domain and application client ID, you must create an Azure AD native application and then use the Azure AD tenant ID, client ID, and redirect URI for the application you created. Eine entsprechende Anleitung finden Sie unter Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 mithilfe von Azure Active Directory.See Create an Active Directory Application for end-user authentication with Data Lake Storage Gen1 for instructions.

Nächste SchritteNext steps

In diesem Artikel haben Sie erfahren, wie Sie die Authentifizierung von Endbenutzern verwenden, um sich mithilfe des .NET SDK bei Azure Data Lake Storage Gen1 zu authentifizieren.In this article, you learned how to use end-user authentication to authenticate with Azure Data Lake Storage Gen1 using .NET SDK. In den folgenden Artikeln wird erörtert, wie Sie das .NET SDK mit Azure Data Lake Storage Gen1 verwenden.You can now look at the following articles that talk about how to use the .NET SDK to work with Azure Data Lake Storage Gen1.