Autenticação de utilizador final com o Azure Data Lake Storage Gen1 com o SDK .NET

Neste artigo, vai aprender a utilizar o SDK .NET para efetuar a autenticação de utilizador final com o Azure Data Lake Storage Gen1. Para a autenticação serviço a serviço com Data Lake Storage Gen1 através do SDK .NET, veja Autenticação serviço a serviço com Data Lake Storage Gen1 através do SDK .NET.

Pré-requisitos

Criar uma aplicação .NET

  1. No Visual Studio, selecione o menu Ficheiro , Novo e, em seguida , Projeto.

  2. Selecione Aplicação de Consola (.NET Framework) e, em seguida, selecione Seguinte.

  3. Em Nome do projeto, introduza CreateADLApplicatione, em seguida, selecione Criar.

  4. Adicione os pacotes NuGet ao seu projeto.

    1. Clique com o botão direito do rato no nome do projeto no Explorador de Soluções e clique em Gerir Pacotes NuGet.

    2. No separador Gestor de Pacotes NuGet, certifique-se de que a Origem do pacote está definida como nuget.org e que a caixa de verificação Incluir pré-lançamento está selecionada.

    3. Procure e instale os seguintes pacotes NuGet:

      • Microsoft.Azure.Management.DataLake.Store - Este tutorial utiliza a v2.1.3-preview.

      • Microsoft.Rest.ClientRuntime.Azure.Authentication - Este tutorial utiliza a v2.2.12.

        Adicionar uma origem NuGet

    4. Feche o Gestor de Pacotes NuGet.

  5. Abrir Program.cs

  6. Substitua as instruções using pelas seguintes linhas:

    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;
    

Autenticação de utilizador final

Adicione este fragmento na sua aplicação cliente .NET. Substitua os valores dos marcadores de posição pelos valores obtidos a partir de uma aplicação nativa Microsoft Entra (listada como pré-requisito). Este fragmento permite-lhe autenticar a sua aplicação interativamente com Data Lake Storage Gen1, o que significa que lhe é pedido para introduzir as suas credenciais do Azure.

Para facilitar a utilização, o fragmento seguinte utiliza valores predefinidos para o ID de cliente e o URI de redirecionamento que são válidos para qualquer subscrição do Azure. No fragmento seguinte, só precisa de fornecer o valor para o seu ID de inquilino. Pode obter o ID do Inquilino com as instruções fornecidas em Obter o ID do inquilino.

  • Substitua a função Main() pelo seguinte código:

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

Algumas coisas a saber sobre o fragmento anterior:

  • O fragmento anterior utiliza funções auxiliares GetTokenCache e GetCreds_User_Popup. O código para estas funções auxiliares está disponível aqui no GitHub.
  • Para o ajudar a concluir o tutorial mais rapidamente, o fragmento utiliza um ID de cliente de aplicação nativa que está disponível por predefinição para todas as subscrições do Azure. Por isso, pode utilizar este fragmento tal como está na sua aplicação.
  • No entanto, se quiser utilizar o seu próprio ID de cliente de domínio e aplicação Microsoft Entra, tem de criar uma aplicação nativa Microsoft Entra e, em seguida, utilizar o ID de inquilino Microsoft Entra, o ID de cliente e o URI de redirecionamento da aplicação que criou. Veja Criar uma Aplicação do Active Directory para autenticação de utilizador final com Data Lake Storage Gen1 para obter instruções.

Passos seguintes

Neste artigo, aprendeu a utilizar a autenticação do utilizador final para autenticar com o Azure Data Lake Storage Gen1 com o SDK .NET. Agora, pode ver os seguintes artigos que falam sobre como utilizar o SDK .NET para trabalhar com o Azure Data Lake Storage Gen1.