Autenticação de serviço a serviço com o Armazenamento de dados do Windows Azure Gen1 usando o .NET SDK
Neste artigo, você aprende sobre como usar o .NET SDK para fazer a autenticação de serviço a serviço com o Armazenamento de Data Lake do Azure Gen1. Para autenticação do usuário final com o Data Lake Storage Gen1 usando o .NET SDK, consulte Autenticação do usuário final com o Data Lake Storage Gen1 usando o .NET SDK.
Pré-requisitos
Visual Studio 2013 ou posterior. As instruções abaixo usam o Visual Studio 2019.
Uma assinatura do Azure. Consulte Obter a avaliação gratuita do Azure.
Crie um aplicativo "Web" Microsoft Entra ID. Você deve ter concluído as etapas na autenticação serviço a serviço com Data Lake Storage Gen1 usando Microsoft Entra ID.
Criar um aplicativo .NET
No Visual Studio, selecione o menu Arquivo, Novo e Projeto.
Selecione Aplicativo de Console (.NET Framework) e Avançar.
Em Nome do projeto, digite
CreateADLApplication
e, em seguida, selecione Criar.Adicione os pacotes NuGet ao seu projeto.
Clique com o botão direito do mouse no nome do projeto no Gerenciador de Soluções e clique em Gerenciar Pacotes NuGet.
Na guia Gerenciador de Pacotes NuGet, verifique se a Origem do pacote está definida como nuget.org e se a caixa de seleção Incluir pré-lançamento está marcada.
Procure e instale os seguintes pacotes NuGet:
Microsoft.Azure.Management.DataLake.Store
- este tutorial usa a versão 2.1.3-preview.Microsoft.Rest.ClientRuntime.Azure.Authentication
- este tutorial usa a versão v2.2.12.
Feche o Gerenciador de Pacotes NuGet.
Abra Program.cs, exclua o código existente e inclua as instruções a seguir para adicionar referências aos namespaces.
using System;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Collections.Generic;
using System.Security.Cryptography.X509Certificates; // Required only if you are using an Azure AD application created with certificates
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 serviço a serviço com o segredo do cliente
Adicione este snippet no aplicativo cliente do .NET. Substitua os valores de espaço reservado pelos valores recuperados de um aplicativo Web Microsoft Entra (listado como um pré-requisito). Esse snippet permite autenticar seu aplicativo de forma não interativa com Data Lake Storage Gen1 usando o segredo/chave do cliente para Microsoft Entra aplicativo Web.
private static void Main(string[] args)
{
// Service principal / application authentication with client secret / key
// Use the client ID of an existing AAD "Web App" application.
string TENANT = "<AAD-directory-domain>";
string CLIENTID = "<AAD_WEB_APP_CLIENT_ID>";
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 secret_key = "<AAD_WEB_APP_SECRET_KEY>";
var armCreds = GetCreds_SPI_SecretKey(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, secret_key);
var adlCreds = GetCreds_SPI_SecretKey(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, secret_key);
}
O snippet anterior usa uma função auxiliar GetCreds_SPI_SecretKey
. O código dessa função auxiliar está disponível aqui no GitHub.
Autenticação serviço a serviço com certificado
Adicione este snippet no aplicativo cliente do .NET. Substitua os valores de espaço reservado pelos valores recuperados de um aplicativo Web Microsoft Entra (listado como um pré-requisito). Esse snippet permite autenticar seu aplicativo de forma não interativa com Data Lake Storage Gen1 usando o certificado para um aplicativo Web Microsoft Entra. Para obter instruções sobre como criar um aplicativo Microsoft Entra, consulte Criar entidade de serviço com certificados.
private static void Main(string[] args)
{
// Service principal / application authentication with certificate
// Use the client ID and certificate of an existing AAD "Web App" application.
string TENANT = "<AAD-directory-domain>";
string CLIENTID = "<AAD_WEB_APP_CLIENT_ID>";
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/");
var cert = new X509Certificate2(@"d:\cert.pfx", "<certpassword>");
var armCreds = GetCreds_SPI_Cert(TENANT, ARM_TOKEN_AUDIENCE, CLIENTID, cert);
var adlCreds = GetCreds_SPI_Cert(TENANT, ADL_TOKEN_AUDIENCE, CLIENTID, cert);
}
O snippet anterior usa uma função auxiliar GetCreds_SPI_Cert
. O código dessa função auxiliar está disponível aqui no GitHub.
Próximas etapas
Neste artigo, você aprendeu como usar a autenticação de serviço a serviço para autenticar com o Data Lake Storage Gen1 usando o .NET SDK. Agora você pode ver os artigos a seguir que falam sobre como usar o .NET SDK para trabalhar com o Data Lake Storage Gen1.