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
Visual Studio 2013 ou superior. As instruções abaixo utilizam o Visual Studio 2019.
Uma subscrição do Azure. Consulte Obter versão de avaliação gratuita do Azure.
Crie uma Aplicação "Nativa" Microsoft Entra ID. Tem de ter concluído os passos em Autenticação do utilizador final com Data Lake Storage Gen1 através de Microsoft Entra ID.
Criar uma aplicação .NET
No Visual Studio, selecione o menu Ficheiro , Novo e, em seguida , Projeto.
Selecione Aplicação de Consola (.NET Framework) e, em seguida, selecione Seguinte.
Em Nome do projeto, introduza
CreateADLApplication
e, em seguida, selecione Criar.Adicione os pacotes NuGet ao seu projeto.
Clique com o botão direito do rato no nome do projeto no Explorador de Soluções e clique em Gerir Pacotes NuGet.
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.
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.
Feche o Gestor de Pacotes NuGet.
Abrir Program.cs
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
eGetCreds_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.