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
Python Pour télécharger Python, accédez ici. Cet article utilise Python 3.6.2.
Un abonnement Azure. Consultez la page Obtention d’un essai gratuit d’Azure.
Créez une application « web » Microsoft Entra ID. Vous devez avoir effectué les étapes de l’authentification de service à service avec Data Lake Storage Gen1 à l’aide de Microsoft Entra ID.
Installer les modules
Pour utiliser Data Lake Storage Gen1 avec Python, vous devez installer trois modules.
- Le module
azure-mgmt-resource
, qui inclut des modules Azure pour Active Directory, etc. - Le module
azure-mgmt-datalake-store
, qui inclut les opérations de gestion du compte Data Lake Storage Gen1. Pour plus d’informations sur ce module, consultez les informations de référence sur les modules de gestion Azure Data Lake Storage Gen1. - Le module
azure-datalake-store
, qui inclut les opérations de gestion du système de fichiers Data Lake Storage Gen1. Pour plus d’informations sur ce module, consultez les informations de référence sur les modules du système de fichiers azure-datalake-store.
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
Utilisez l’IDE de votre choix pour créer une application Python, par exemple, mysample.py.
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
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.