Authentification de service à service auprès d’Azure Data Lake Storage Gen1 à l’aide de Python

Dans cet article, vous allez apprendre à utiliser le kit de développement logiciel (SDK) Python pour effectuer une authentification de service à service auprès d’Azure Data Lake Storage Gen1. Pour plus d’informations sur l’authentification des utilisateurs finaux auprès de Data Lake Storage Gen1 à l’aide de Python, consultez Authentification des utilisateurs finaux auprès de Data Lake Storage Gen1 avec Python.

Prérequis

Installer les modules

Pour utiliser Data Lake Storage Gen1 avec Python, vous devez installer trois modules.

Utilisez les commandes suivantes pour installer les modules.

pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store

Créer une application Python

  1. Utilisez l’IDE de votre choix pour créer une application Python, par exemple, mysample.py.

  2. Ajoutez l’extrait de code suivant pour importer les modules requis :

    ## 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. Enregistrez les modifications apportées à mysample.py.

L’authentification de service à service avec clé secrète client pour al gestion de compte

Utilisez cet extrait de code pour vous authentifier auprès de Microsoft Entra ID pour les opérations de gestion de compte sur Data Lake Storage Gen1 telles que créer un compte Data Lake Storage Gen1, supprimer un Data Lake Storage Gen1 compte, etc. L’extrait de code suivant peut être utilisé pour authentifier votre application de manière non interactive, à l’aide de la clé secrète client d’une application/principal de service d’une application Microsoft Entra ID existante « Web App ».

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)

Authentification de service à service avec clé secrète client pour les opérations du système de fichiers

Utilisez l’extrait de code suivant pour vous authentifier auprès de Microsoft Entra ID pour les opérations de système de fichiers sur Data Lake Storage Gen1 telles que créer un dossier, charger un fichier, etc. L’extrait de code suivant peut être utilisé pour authentifier votre application de manière non interactive, à l’aide de la clé secrète client pour une application/un principal de service. Utilisez-le avec une application « Application web » Microsoft Entra ID existante.

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)

Étapes suivantes

Dans cet article, vous avez appris à utiliser l’authentification de service à service auprès d’Azure Data Lake Storage Gen1 avec Python. Vous pouvez maintenant consulter les articles suivants, qui expliquent comment utiliser Python pour travailler avec Data Lake Storage Gen1.