.NET SDK를 사용하여 Azure Data Lake Storage Gen1로 최종 사용자 인증
이 문서에서는 .NET SDK를 사용하여 Azure Data Lake Storage Gen1에서 최종 사용자 인증을 수행하는 방법에 대해 알아봅니다. 서비스 간 인증을 위해 .NET SDK를 사용하여 Data Lake Storage Gen1을 사용할 때는 을 참조하세요..
필수 조건
Visual Studio 2013 혹은 그 이상. 아래 지침에서는 Visual Studio 2019를 사용합니다.
Azure 구독. Azure 평가판을 참조하세요.
Microsoft Entra ID "네이티브" 애플리케이션을 만듭니다. Microsoft Entra ID를 사용하여 Data Lake Storage Gen1에서 최종 사용자 인증 단계를 완료해야 합니다.
.NET 애플리케이션 만들기
Visual Studio에서 파일 메뉴, 새로 만들기, 프로젝트를 차례로 선택합니다.
콘솔 앱(.NET Framework), 다음을 차례로 선택합니다.
프로젝트 이름에
CreateADLApplication
를 입력하고 만들기를 선택합니다.NuGet 패키지를 프로젝트에 추가합니다.
솔루션 탐색기에서 프로젝트 이름을 마우스 오른쪽 단추로 클릭한 후 NuGet 패키지 관리를 클릭합니다.
NuGet 패키지 관리자 탭에서 패키지 원본이 nuget.org로 설정되어 있고 시험판 포함 확인란이 선택되어 있는지 확인합니다.
다음 NuGet 패키지를 검색하고 설치합니다.
Microsoft.Azure.Management.DataLake.Store
- 이 자습서에서는 v2.1.3-미리 보기를 사용합니다.Microsoft.Rest.ClientRuntime.Azure.Authentication
- 이 자습서는 v2.2.12를 사용합니다.
NuGet 패키지 관리자를 닫습니다.
Program.cs를 열기
using 문을 다음 줄로 바꿉니다.
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;
최종 사용자 인증
.NET 클라이언트 애플리케이션에서 이 코드 조각을 추가합니다. 자리 표시자 값을 Microsoft Entra 네이티브 애플리케이션에서 검색된 값으로 바꿉니다(필수 구성 요소로 나열됨). 이 코드 조각을 사용하면 Data Lake Storage Gen1을 사용하여 대화형으로 애플리케이션을 인증할 수 있습니다. 즉, Azure 자격 증명을 입력하라는 메시지가 표시됩니다.
사용 편의를 위해 다음 코드 조각은 모든 Azure 구독에 유효한 클라이언트 ID 및 리디렉션 URI에 대한 기본값을 사용합니다. 다음 코드 조각에서는 테넌트 ID에 대한 값만 제공해야 합니다. 제공된 지침의 테넌트 ID 가져오기섹션을 사용하여 테넌트 ID를 검색할 수 있습니다.
Main() 함수를 다음 코드로 바꿉니다.
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); }
앞의 코드 조각에 대해 알아야 할 몇 가지 사항은 다음과 같습니다.
- 위의 코드 조각은
GetTokenCache
및GetCreds_User_Popup
도우미 함수를 사용합니다. 이러한 도우미 함수에 대한 코드는 GitHub에서여기에서 확인할 수 있습니다. - 자습서를 더 빠르게 완료할 수 있도록 코드 조각은 기본적으로 모든 Azure 구독에 사용할 수 있는 네이티브 애플리케이션 클라이언트 ID를 사용합니다. 따라서 as-is 코드 스니펫을 애플리케이션 에서사용할 수 있습니다.
- 그러나 고유한 Microsoft Entra 도메인 및 애플리케이션 클라이언트 ID를 사용하려는 경우 Microsoft Entra 네이티브 애플리케이션을 만든 다음 만든 애플리케이션에 대해 Microsoft Entra 테넌트 ID, 클라이언트 ID 및 리디렉션 URI를 사용해야 합니다. 자세한 내용은 Data Lake Storage Gen1 최종 사용자 인증을 위한 Active Directory 애플리케이션 만들기를 참조하세요.
다음 단계
이 문서에서는 최종 사용자 인증을 사용하여 .NET SDK를 사용하여 Azure Data Lake Storage Gen1로 인증하는 방법을 알아보았습니다. 이제 .NET SDK를 사용하여 Azure Data Lake Storage Gen1로 작업하는 방법에 대해 설명한 다음 문서를 확인할 수 있습니다.