Compartir a través de


Autenticación de servicio a servicio con Azure Data Lake Storage Gen1 mediante Python

En este artículo, obtendrá información sobre cómo usar el SDK de Python para realizar la autenticación de servicio a servicio con Azure Data Lake Storage Gen1. Para la autenticación del usuario final con Data Lake Storage Gen1 mediante Python, vea End-user authentication with Data Lake Storage using Python (Autenticación del usuario final con Data Lake Storage Gen1 mediante Python).

Prerrequisitos

Instalación de los módulos

Para trabajar con Data Lake Storage Gen1 mediante Python, debe instalar tres módulos.

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

  1. En el IDE que prefiera, cree una nueva aplicación de Python, por ejemplo, mysample.py.

  2. 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 Data Lake Storage Gen1 account management
    from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient
    from azure.mgmt.datalake.store.models import DataLakeStoreAccount
    
    ## Required for 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, getpass, pprint, uuid, time
    
  3. Guarde los cambios en mysample.py.

Autenticación de servicio a servicio con el secreto de cliente para la administración de cuentas

Utilice este fragmento de código para autenticarse en Microsoft Entra ID y realizar operaciones de administración de cuentas en Data Lake Storage Gen1, tales como crear o eliminar una cuenta de Data Lake Storage Gen1, entre otras. El siguiente fragmento de código se puede utilizar para autenticar su aplicación de forma no interactiva, utilizando el secreto del cliente para una aplicación o principal de servicio de una aplicación web existente de Microsoft Entra ID.

authority_host_uri = 'https://login.microsoftonline.com'
tenant = '<TENANT>'
authority_uri = authority_host_uri + '/' + tenant
RESOURCE = 'https://management.core.windows.net/'
client_id = '<CLIENT_ID>'
client_secret = '<CLIENT_SECRET>'

context = adal.AuthenticationContext(authority_uri, api_version=None)
mgmt_token = context.acquire_token_with_client_credentials(RESOURCE, client_id, client_secret)
armCreds = AADTokenCredentials(mgmt_token, client_id, resource=RESOURCE)

Autenticación de servicio a servicio con el secreto del cliente para operaciones de sistema de archivos

Use el siguiente fragmento para autenticarse en Microsoft Entra ID y realizar operaciones del sistema de archivos en Data Lake Storage Gen1, como crear una carpeta, cargar un archivo, etc. El siguiente fragmento se puede utilizar para autenticar la aplicación de forma no interactiva, utilizando la clave secreta de cliente para una entidad de servicio o aplicación. Utilícelo con una aplicación web de Microsoft Entra ID existente.

tenant = '<TENANT>'
RESOURCE = 'https://datalake.azure.net/'
client_id = '<CLIENT_ID>'
client_secret = '<CLIENT_SECRET>'

adlCreds = lib.auth(tenant_id = tenant,
                client_secret = client_secret,
                client_id = client_id,
                resource = RESOURCE)

Pasos siguientes

En este artículo, ha aprendido a usar la autenticación de servicio a servicio para autenticarse en Data Lake Storage Gen1 con Python. Ahora puede consultar los siguientes artículos, que tratan sobre cómo usar Python para trabajar con Data Lake Storage Gen1.