Condividi tramite


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

Installare i moduli

Per usare Data Lake Storage Gen1 con Python, è necessario installare tre moduli.

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

  1. In un IDE a scelta creare una nuova applicazione Python, ad esempio mysample.py.

  2. 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
    
  3. 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.