Uwierzytelnianie użytkowników końcowych przy użyciu usługi Azure Data Lake Storage Gen1 przy użyciu zestawu SDK platformy .NET
W tym artykule dowiesz się, jak używać zestawu SDK platformy .NET do uwierzytelniania użytkowników końcowych przy użyciu usługi Azure Data Lake Storage Gen1. Aby uzyskać informacje na temat uwierzytelniania typu usługa-usługa z Data Lake Storage Gen1 przy użyciu zestawu SDK platformy .NET, zobacz Service-to-service authentication with Data Lake Storage Gen1 using .NET SDK (Uwierzytelnianie typu usługa-usługa przy użyciu zestawu SDK platformy .NET).
Wymagania wstępne
Visual Studio 2013 lub nowszych. Poniższe instrukcje korzystają z programu Visual Studio 2019.
Subskrypcja platformy Azure. Zobacz temat Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.
Utwórz aplikację Tożsamość Microsoft Entra "natywną". Musisz wykonać kroki opisane w artykule Uwierzytelnianie użytkownika końcowego przy użyciu Data Lake Storage Gen1 przy użyciu Tożsamość Microsoft Entra.
Tworzenie aplikacji .NET
W programie Visual Studio wybierz menu Plik , Nowy, a następnie pozycję Projekt.
Wybierz pozycję Aplikacja konsolowa (.NET Framework),a następnie wybierz przycisk Dalej.
W polu Project name (Nazwa projektu) wprowadź ciąg
CreateADLApplication
, a następnie wybierz pozycję Create (Utwórz).Dodaj pakiety NuGet do swojego projektu.
Kliknij prawym przyciskiem myszy nazwę projektu w Eksploratorze rozwiązań i kliknij polecenie Zarządzaj pakietami NuGet.
Na karcie Menedżer pakietów NuGet upewnij się, że opcja Źródło pakietu jest ustawiona na nuget.org , a pole wyboru Uwzględnij wersję wstępną jest zaznaczone.
Wyszukaj i zainstaluj następujące pakiety NuGet:
Microsoft.Azure.Management.DataLake.Store
— w tym samouczku jest używana wersja v2.1.3-preview.Microsoft.Rest.ClientRuntime.Azure.Authentication
— w tym samouczku jest używana wersja v2.2.12.
Zamknij Menedżera pakietów NuGet.
Otwórz Program.cs
Zastąp instrukcje using następującymi wierszami:
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;
Uwierzytelnianie użytkowników końcowych
Dodaj ten fragment kodu w aplikacji klienckiej .NET. Zastąp wartości symboli zastępczych wartościami pobranymi z aplikacji natywnej Microsoft Entra (wymienione jako wymaganie wstępne). Ten fragment kodu umożliwia interaktywne uwierzytelnianie aplikacji za pomocą Data Lake Storage Gen1, co oznacza, że zostanie wyświetlony monit o wprowadzenie poświadczeń platformy Azure.
W celu ułatwienia użycia poniższy fragment kodu używa wartości domyślnych dla identyfikatora klienta i identyfikatora URI przekierowania, które są prawidłowe dla dowolnej subskrypcji platformy Azure. W poniższym fragmencie kodu wystarczy podać wartość identyfikatora dzierżawy. Identyfikator dzierżawy można pobrać, korzystając z instrukcji podanych w temacie Uzyskiwanie identyfikatora dzierżawy.
Zastąp funkcję Main(następującym kodem:
private static void Main(string[] args) { //User login via interactive popup string TENANT = "<AAD-directory-domain>"; string CLIENTID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"; 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); }
Kilka rzeczy, które należy wiedzieć o poprzednim fragmencie kodu:
- Powyższy fragment kodu używa funkcji
GetTokenCache
pomocnika iGetCreds_User_Popup
. Kod tych funkcji pomocnika jest dostępny tutaj w witrynie GitHub. - Aby ułatwić szybsze ukończenie tego samouczka, fragment kodu używa identyfikatora klienta aplikacji natywnej, który jest domyślnie dostępny dla wszystkich subskrypcji platformy Azure. Dzięki temu można użyć tego fragmentu w aplikacji w niezmienionej formie.
- Jeśli jednak chcesz użyć własnej domeny Microsoft Entra i identyfikatora klienta aplikacji, musisz utworzyć aplikację natywną Microsoft Entra, a następnie użyć identyfikatora dzierżawy Microsoft Entra, identyfikatora klienta i identyfikatora URI przekierowania dla utworzonej aplikacji. Aby uzyskać instrukcje, zobacz Create an Active Directory Application for end-user authentication with Data Lake Storage Gen1 (Tworzenie aplikacji usługi Active Directory na potrzeby uwierzytelniania użytkowników końcowych przy użyciu Data Lake Storage Gen1).
Następne kroki
W tym artykule przedstawiono sposób uwierzytelniania użytkowników końcowych w celu uwierzytelniania za pomocą Azure Data Lake Storage Gen1 przy użyciu zestawu SDK platformy .NET. Teraz możesz zapoznać się z następującymi artykułami, w których omówiono sposób korzystania z zestawu SDK platformy .NET do pracy z usługą Azure Data Lake Storage Gen1.