Autenticação serviço a serviço com Azure Data Lake Storage Gen1 com o SDK .NET

Neste artigo, irá aprender a utilizar o SDK .NET para efetuar a autenticação serviço a serviço com o Azure Data Lake Storage Gen1. Para autenticação do utilizador final com Data Lake Storage Gen1 com o SDK .NET, veja Autenticação do utilizador final com Data Lake Storage Gen1 com o 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. Abra Program.cs, elimine o código existente e, em seguida, inclua as seguintes instruções para adicionar referências aos espaços de nomes.

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 segredo do cliente

Adicione este fragmento na sua aplicação cliente .NET. Substitua os valores do marcador de posição pelos valores obtidos a partir de uma aplicação Web Microsoft Entra (listada como um pré-requisito). Este fragmento permite-lhe autenticar a sua aplicação de forma não interativa com Data Lake Storage Gen1 através do segredo/chave do cliente para Microsoft Entra aplicação 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 fragmento anterior utiliza uma função GetCreds_SPI_SecretKeyauxiliar . O código desta função auxiliar está disponível aqui no GitHub.

Autenticação serviço a serviço com certificado

Adicione este fragmento na sua aplicação cliente .NET. Substitua os valores do marcador de posição pelos valores obtidos a partir de uma aplicação Web Microsoft Entra (listada como um pré-requisito). Este fragmento permite-lhe autenticar a sua aplicação de forma não interativa com Data Lake Storage Gen1 com o certificado de uma aplicação Web Microsoft Entra. Para obter instruções sobre como criar uma aplicação Microsoft Entra, veja Criar principal 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 fragmento anterior utiliza uma função GetCreds_SPI_Certauxiliar . O código desta função auxiliar está disponível aqui no GitHub.

Passos seguintes

Neste artigo, aprendeu a utilizar a autenticação serviço a serviço para autenticar com 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 Data Lake Storage Gen1.