Autenticación de usuario final con Azure Data Lake Storage Gen1 mediante el SDK de .NET.

En este artículo, aprenderá a usar el SDK de .NET para realizar la autenticación de usuario final con Azure Data Lake Storage Gen1. Para la autenticación entre servicios con Data Lake Storage Gen1. mediante el SDK de .NET, consulte Service-to-service authentication with Data Lake Storage Gen1 using .NET SDK (Autenticación entre servicios con Data Lake Storage Gen1 mediante el SDK de .NET).

Prerrequisitos

Creación de una aplicación .NET

  1. En Visual Studio, en el menú Archivo, seleccione Nuevo y, a continuación, Proyecto.

  2. Elija Aplicación de consola (.NET Framework) y, a continuación, seleccione Siguiente.

  3. En el nombre del proyecto, escriba CreateADLApplication y, a continuación, seleccione Crear.

  4. Agregue los paquetes NuGet al proyecto.

    1. Haga clic con el botón derecho en el Explorador de soluciones y haga clic en Administrar paquetes de NuGet.

    2. En la pestaña Administrador de paquetes NuGet, asegúrese de que la opción Origen del paquete esté establecida en nuget.org y que esté activada la casilla Incluir versión preliminar.

    3. Busque e instale los siguientes paquetes NuGet:

      • Microsoft.Azure.Management.DataLake.Store - En este tutorial se usa v2.1.3 (versión preliminar).

      • Microsoft.Rest.ClientRuntime.Azure.Authentication - En este tutorial se usa v2.2.12.

        Incorporación de un origen de NuGet

    4. Cierre el Administrador de paquetes NuGet.

  5. Abrir Program.cs

  6. Reemplace las instrucciones Using por las siguientes líneas:

    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;
    

Autenticación de usuario final

Agregue este fragmento de código a su aplicación cliente .NET. Reemplace los valores de marcador de posición por los valores recuperados de una aplicación nativa de Microsoft Entra (enumerado como requisito previo). Este fragmento de código le permite autenticar la aplicación de manera interactiva con Data Lake Store Gen1, lo que significa que se le pedirá que escriba sus credenciales de Azure.

Para facilitar su uso, el siguiente fragmento de código emplea valores predeterminados para el identificador de cliente y un URI de redirección que son válidos con cualquier suscripción de Azure. En el siguiente fragmento de código, solo es necesario proporcionar el valor del identificador del inquilino. Puede recuperar el identificador del inquilino siguiendo las instrucciones proporcionadas en Obtención del identificador de inquilino.

  • Reemplace la función Main() por el siguiente contenido:

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

Dos cosas que conviene saber acerca del fragmento de código anterior:

  • El fragmento de código anterior utiliza las funciones auxiliares GetTokenCache y GetCreds_User_Popup. El código de estas funciones auxiliares está disponible aquí en GitHub.
  • Para ayudarle a completar este tutorial con más rapidez, este fragmento de código usa el identificador de cliente de la aplicación nativa que está disponible de manera predeterminada para todas las suscripciones de Azure. Por lo tanto, puede usar este fragmento de código tal cual en la aplicación.
  • Sin embargo, si desea usar su propio identificador de dominio y cliente de aplicación de Microsoft Entra, debe crear una aplicación nativa de Microsoft Entra y, a continuación, usar el identificador de inquilino de Microsoft Entra, el identificador de cliente y el URI de redireccionamiento para la aplicación que creó. Consulte Create an Active Directory Application for end-user authentication with Data Lake Storage Gen1 (Crear una aplicación de Active Directory para la autenticación del usuario final con Data Lake Storage Gen1) para obtener más instrucciones.

Pasos siguientes

En este artículo, aprendió a usar la autenticación de usuario final para autenticarse en Azure Data Lake Storage Gen1 mediante el SDK de .NET. Ahora puede consultar los siguientes artículos, que tratan sobre cómo usar el SDK de .NET con Azure Data Lake Storage Gen1.