Autenticazione da servizio a servizio con Azure Data Lake Storage Gen1 tramite Python
Questo articolo illustra come usare Python SDK per eseguire l'autenticazione da servizio a servizio con Azure Data Lake Storage Gen1. Per l'autenticazione dell'utente finale con Data Lake Storage Gen1 tramite Python, vedere Autenticazione dell'utente finale con Data Lake Storage Gen1 usando Python.
Prerequisiti
Python. È possibile scaricare Python qui. Questo articolo fa riferimento a Python 3.6.2.
Una sottoscrizione di Azure. Vedere Ottenere una versione di prova gratuita di Azure.
Creare un'applicazione Microsoft Entra ID "Web". È necessario aver completato i passaggi nell'autenticazione da servizio a servizio con Data Lake Storage Gen1 usando Microsoft Entra ID.
Installare i moduli
Per usare Data Lake Storage Gen1 con Python, è necessario installare tre moduli.
- Il modulo
azure-mgmt-resource
che include i moduli di Azure per Active Directory e così via. - Il modulo
azure-mgmt-datalake-store
che include le operazioni di gestione di account di Data Lake Storage Gen1. Per altre informazioni su questo modulo, vedere le informazioni di riferimento sul modulo di gestione di Azure Data Lake Storage Gen1. - Il modulo
azure-datalake-store
, che include le operazioni del file system di Data Lake Storage Gen1. Per altre informazioni su questo modulo, vedere azure-datalake-store Filesystem module reference (Informazioni di riferimento sul modulo file system azure-datalake-store).
Per installare i moduli, usare i comandi seguenti.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Creare una nuova applicazione Python
In un IDE a scelta creare una nuova applicazione Python, ad esempio mysample.py.
Aggiungere il frammento di codice seguente per importare i moduli necessari:
## 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
Salvare le modifiche a mysample.py.
Autenticazione da servizio a servizio con segreto client per la gestione degli account
Usare questo frammento di codice per eseguire l'autenticazione con Microsoft Entra ID per le operazioni di gestione degli account in Data Lake Storage Gen1, ad esempio creare un account di Data Lake Storage Gen1, eliminare un Data Lake Storage Gen1 account, ecc. Il frammento di codice seguente può essere usato per autenticare l'applicazione in modo non interattivo, usando il segreto client per un'applicazione o un'entità servizio di un'applicazione Microsoft Entra ID "App Web" esistente.
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)
Autenticazione da servizio a servizio con segreto client per le operazioni del file system
Usare il frammento di codice seguente per eseguire l'autenticazione con Microsoft Entra ID per le operazioni del file system in Data Lake Storage Gen1, ad esempio creare una cartella, caricare file e così via. Il frammento di codice seguente può essere usato per autenticare l'applicazione in modo non interattivo, usando il segreto client per un'applicazione o un'entità servizio. Usarlo con un'applicazione "App Web" Microsoft Entra ID esistente.
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)
Passaggi successivi
In questo articolo si è appreso come usare l'autenticazione da servizio a servizio per eseguire l'autenticazione con Data Lake Storage Gen1 usando Python. È ora possibile leggere gli articoli seguenti per informazioni su come usare Python in Data Lake Storage Gen1.