Autenticación de usuario final con Azure Data Lake Storage Gen1 mediante el uso de Python
En este artículo, aprenderá a usar el SDK de Python para realizar la autenticación de usuario final con Azure Data Lake Storage Gen1. La autenticación del usuario final se puede dividir en dos categorías:
- Autenticación de usuario final sin autenticación multifactor
- Autenticación de usuario final con autenticación multifactor
Ambas opciones se describen en este artículo. Para la autenticación entre servicios con Data Lake Storage Gen1. mediante Python, consulte Service-to-service authentication with Data Lake Storage Gen1 using Java (Autenticación entre servicios con Data Lake Storage Gen1 mediante Python).
Prerrequisitos
Python Python se puede descargar desde aquí. En este artículo se usa Python 3.6.2.
Una suscripción de Azure. Consulte Obtención de una versión de evaluación gratuita.
Cree una aplicación "nativa" de Microsoft Entra ID. Debe haber completado los pasos descritos en Autenticación de usuario final con Data Lake Storage Gen1 mediante Microsoft Entra ID.
Instalación de los módulos
Para trabajar con Data Lake Storage Gen1 mediante Python, debe instalar tres módulos.
- El módulo
azure-mgmt-resource
, que incluye los módulos de Azure para Active Directory, etc. - El módulo
azure-mgmt-datalake-store
, que incluye las operaciones de administración de cuentas de Azure Data Lake Storage Gen1. Para más información acerca de este módulo, consulte referencia al módulo de Azure Data Lake Storage Gen1 Management. - El módulo
azure-datalake-store
, que incluye las operaciones de sistema de archivos de Azure Data Lake Storage Gen1. Para obtener más información sobre este módulo, consulte la referencia al módulo de azure-datalake-store Filesystem.
Utilice el comando siguiente para instalar los módulos.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Creación de una nueva aplicación de Python
En el IDE que prefiera, cree una nueva aplicación de Python, por ejemplo,
mysample.py
.Agregue el fragmento de código siguiente para importar los módulos necesarios
## Use this for Azure AD authentication from msrestazure.azure_active_directory import AADTokenCredentials ## Required for Azure Data Lake Storage Gen1 account management from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient from azure.mgmt.datalake.store.models import DataLakeStoreAccount ## Required for Azure Data Lake Storage Gen1 filesystem management from azure.datalake.store import core, lib, multithread # Common Azure imports import adal from azure.mgmt.resource.resources import ResourceManagementClient from azure.mgmt.resource.resources.models import ResourceGroup ## Use these as needed for your application import logging, pprint, uuid, time
Guarde los cambios realizados en
mysample.py
.
Autenticación de usuario final con autenticación multifactor
Para la administración de cuentas
Use el siguiente fragmento de código para autenticarse con Microsoft Entra ID para las operaciones de administración de cuentas en una cuenta de Data Lake Storage Gen1. El siguiente fragmento de código se puede utilizar para autenticar una aplicación mediante Multi-Factor Authentication. Proporcione los valores siguientes para una aplicación nativa de Microsoft Entra ID existente.
authority_host_url = "https://login.microsoftonline.com"
tenant = "FILL-IN-HERE"
authority_url = authority_host_url + '/' + tenant
client_id = 'FILL-IN-HERE'
redirect = 'urn:ietf:wg:oauth:2.0:oob'
RESOURCE = 'https://management.core.windows.net/'
context = adal.AuthenticationContext(authority_url)
code = context.acquire_user_code(RESOURCE, client_id)
print(code['message'])
mgmt_token = context.acquire_token_with_device_code(RESOURCE, code, client_id)
armCreds = AADTokenCredentials(mgmt_token, client_id, resource = RESOURCE)
Para operaciones del sistema de archivos
Úselo para autenticarse con Microsoft Entra ID para las operaciones del sistema de archivos en una cuenta de Data Lake Storage Gen1. El siguiente fragmento de código se puede utilizar para autenticar una aplicación mediante Multi-Factor Authentication. Proporcione los valores siguientes para una aplicación nativa de Microsoft Entra ID existente.
adlCreds = lib.auth(tenant_id='FILL-IN-HERE', resource = 'https://datalake.azure.net/')
Autenticación de usuario final sin autenticación multifactor
Esto está en desuso. Para más información, consulte Autenticación de Azure mediante el SDK de Python.
Pasos siguientes
En este artículo, ha aprendido a usar la autenticación de usuario final para autenticarse en Azure Data Lake Storage Gen1 mediante Python. Ahora puede consultar los siguientes artículos, que tratan sobre cómo usar Python con Azure Data Lake Storage Gen1.
- Account management operations on Data Lake Storage Gen1 using Python (Operaciones de administración de cuentas en Data Lake Storage Gen1 con Python)
- Operaciones de datos en Data Lake Storage Gen1 mediante Python