Partager via


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.

Conditions préalables

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 secret client pour la gestion de compte

Utilisez cet extrait de code pour l’authentification auprès de Microsoft Entra ID pour les opérations de gestion de compte sur Data Lake Storage Gen1, telles que la création ou la suppression d’un compte Data Lake Storage Gen1, et bien plus encore. Vous pouvez utiliser l’extrait de code suivant pour authentifier votre application en mode non interactif, en utilisant la clé secrète client pour une application/un principal de service d’une application « web » Microsoft Entra ID existante.

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 procéder à une authentification auprès de Microsoft Entra ID pour les opérations du système de fichiers sur Data Lake Storage Gen1, telles que la création d’un dossier, le chargement d’un fichier, et bien plus encore. Vous pouvez faire appel à l’extrait de code suivant pour authentifier votre application en mode non interactif, en utilisant la clé secrète client pour une application/un principal du service. Utilisez-le avec une 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 pour vous authentifier avec Data Lake Storage Gen1 en utilisant Python. Vous pouvez maintenant consulter les articles suivants, qui expliquent comment utiliser Python pour travailler avec Data Lake Storage Gen1.