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
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 de Microsoft Entra ID "Web". Debe haber completado los pasos descritos en Autenticación entre servicios 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 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 del sistema de archivos de 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 siguiente fragmento de código 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
Guarde los cambios en mysample.py.
Autenticación de servicio a servicio con el secreto de cliente para la administración de cuentas
Use este fragmento de código para autenticarse con Microsoft Entra ID para las operaciones de administración de cuentas en Data Lake Storage Gen1, como crear una cuenta de Data Lake Storage Gen1, eliminar un Data Lake Storage Gen1 cuenta, etc. El siguiente fragmento de código se puede usar para autenticar la aplicación de forma no interactiva mediante el secreto de cliente de una aplicación o entidad de servicio de una aplicación existente Microsoft Entra ID aplicación "Aplicación web".
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 de cliente para las operaciones del sistema de archivos
Use el siguiente fragmento de código para autenticarse con Microsoft Entra ID para las operaciones del sistema de archivos en Data Lake Storage Gen1 como crear carpeta, cargar archivo, etc. El siguiente fragmento de código se puede usar para autenticar la aplicación de forma no interactiva mediante el secreto de cliente de una aplicación o entidad de servicio. Úselo con una aplicación "Web App" 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.
- 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