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

Criar um aplicativo .NET

  1. No Visual Studio, selecione o menu Arquivo, Novo e Projeto.

  2. Selecione Aplicativo de Console (.NET Framework) e Avançar.

  3. Em Nome do projeto, digite CreateADLApplication e, em seguida, selecione Criar.

  4. Adicione os pacotes NuGet ao seu projeto.

    1. Clique com o botão direito do mouse no nome do projeto no Gerenciador de Soluções e clique em Gerenciar Pacotes NuGet.

    2. 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.

    3. 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.

        Adicionar uma origem de NuGet

    4. Feche o Gerenciador de Pacotes NuGet.

  5. 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.