Share via


.NET SDK를 사용하여 Azure Data Lake Storage Gen1로 최종 사용자 인증

이 문서에서는 .NET SDK를 사용하여 Azure Data Lake Storage Gen1로 최종 사용자 인증을 수행하는 방법을 배웁니다. .NET SDK를 사용하여 Data Lake Storage Gen1에서 서비스 간 인증을 수행하려면 .NET SDK를 사용한 Data Lake Storage Gen1의 서비스 간 인증을 참조하세요.

필수 구성 요소

.NET 애플리케이션 만들기

  1. Visual Studio에서 파일 메뉴, 새로 만들기, 프로젝트를 차례로 선택합니다.

  2. 콘솔 앱(.NET Framework) , 다음을 차례로 선택합니다.

  3. 프로젝트 이름CreateADLApplication를 입력하고 만들기를 선택합니다.

  4. NuGet 패키지를 프로젝트에 추가합니다.

    1. 솔루션 탐색기에서 프로젝트 이름을 마우스 오른쪽 단추로 클릭한 후 NuGet 패키지 관리를 클릭합니다.

    2. NuGet 패키지 관리자 탭에서 패키지 원본nuget.org로 설정되어 있고 시험판 포함 확인란이 선택되어 있는지 확인합니다.

    3. 다음 NuGet 패키지를 검색하고 설치합니다.

      • Microsoft.Azure.Management.DataLake.Store - 이 자습서에서는 v2.1.3-미리 보기를 사용합니다.

      • Microsoft.Rest.ClientRuntime.Azure.Authentication - 이 자습서는 v2.2.12를 사용합니다.

        NuGet 원본 추가

    4. NuGet 패키지 관리자를 닫습니다.

  5. Program.cs를 엽니다.

  6. 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);
    }
    

위의 코드 조각에 대해 몇 가지 알아야 할 사항이 있습니다.

  • 선행 코드 조각은 도우미 함수 GetTokenCacheGetCreds_User_Popup을 사용합니다. 이 도우미 함수에 대한 코드는 여기 GitHub에서 사용할 수 있습니다.
  • 이 코드 조각은 자습서를 신속하게 완료할 수 있도록 기본적으로 모든 Azure 구독에서 사용할 수 있는 원시 애플리케이션 클라이언트 ID를 사용합니다. 따라서 이 코드 조각을 애플리케이션에서 있는 그대로 사용할 수 있습니다.
  • 그러나 고유한 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과 함께 사용하는 방법을 살펴볼 수 있습니다.