Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 mit Python
In diesem Artikel erfahren Sie, wie Sie mithilfe des Python SDK die Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 durchführen. Endbenutzerauthentifizierung kann weiter in zwei Kategorien unterteilt werden:
- Endbenutzerauthentifizierung ohne mehrstufige Authentifizierung
- Endbenutzerauthentifizierung mit mehrstufiger Authentifizierung
Beide Optionen werden in diesem Artikel erläutert. Informationen zur Dienst-zu-Dienst-Authentifizierung bei Data Lake Storage Gen1 mithilfe von Python finden Sie unter Dienst-zu-Dienst-Authentifizierung bei Azure Data Lake Storage Gen1 mit Python.
Voraussetzungen
Python. Sie können Python hier herunterladen. In diesem Artikel wird Python 3.6.2 verwendet.
Ein Azure-Abonnement. Siehe Kostenlose Azure-Testversion.
Erstellen Sie eine Microsoft Entra ID "native" Anwendung. Sie müssen die Schritte unter Endbenutzerauthentifizierung mit Data Lake Storage Gen1 mithilfe von Microsoft Entra ID abgeschlossen haben.
Installieren der Module
Zum Verwenden von Data Lake Storage Gen1 mit Python müssen Sie drei Module installieren.
- Das Modul
azure-mgmt-resource
, in dem Azure-Module für Active Directory usw. enthalten sind. - Das Modul
azure-mgmt-datalake-store
, das die Kontoverwaltungsvorgänge für Azure Data Lake Storage Gen1 enthält. Weitere Informationen zu diesem Modul finden Sie in der Referenz zum Verwaltungsmodul für Azure Data Lake Storage Gen1. - Das Modul
azure-datalake-store
, das die Dateisystemvorgänge für Azure Data Lake Storage Gen1 enthält. Weitere Informationen zu diesem Modul finden Sie in der Referenz zum azure-datalake-store-Dateisystemmodul.
Verwenden Sie die folgenden Befehle, um die Module zu installieren:
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Erstellen einer neuen Python-Anwendung
Erstellen Sie in der IDE Ihrer Wahl eine neue Python-Anwendung, z. B.
mysample.py
.Fügen Sie den folgenden Codeausschnitt hinzu, um die erforderlichen Module zu importieren:
## Use this for Azure AD authentication from msrestazure.azure_active_directory import AADTokenCredentials ## Required for Azure Data Lake Storage Gen1 account management from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient from azure.mgmt.datalake.store.models import DataLakeStoreAccount ## Required for Azure 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, pprint, uuid, time
Speichern Sie die Änderungen in
mysample.py
.
Endbenutzerauthentifizierung mit mehrstufiger Authentifizierung
Für die Kontenverwaltung
Verwenden Sie den folgenden Codeausschnitt, um sich bei Microsoft Entra ID für Kontoverwaltungsvorgänge in einem Data Lake Storage Gen1-Konto zu authentifizieren. Sie können den folgenden Codeausschnitt verwenden, um Ihre Anwendung per Multi-Factor Authentication zu authentifizieren. Geben Sie die folgenden Werte für eine vorhandene Microsoft Entra ID native Anwendung an.
authority_host_url = "https://login.microsoftonline.com"
tenant = "FILL-IN-HERE"
authority_url = authority_host_url + '/' + tenant
client_id = 'FILL-IN-HERE'
redirect = 'urn:ietf:wg:oauth:2.0:oob'
RESOURCE = 'https://management.core.windows.net/'
context = adal.AuthenticationContext(authority_url)
code = context.acquire_user_code(RESOURCE, client_id)
print(code['message'])
mgmt_token = context.acquire_token_with_device_code(RESOURCE, code, client_id)
armCreds = AADTokenCredentials(mgmt_token, client_id, resource = RESOURCE)
Für Dateisystemvorgänge
Verwenden Sie dies, um sich bei Microsoft Entra ID für Dateisystemvorgänge in einem Data Lake Storage Gen1-Konto zu authentifizieren. Sie können den folgenden Codeausschnitt verwenden, um Ihre Anwendung per Multi-Factor Authentication zu authentifizieren. Geben Sie die folgenden Werte für eine vorhandene Microsoft Entra ID native Anwendung an.
adlCreds = lib.auth(tenant_id='FILL-IN-HERE', resource = 'https://datalake.azure.net/')
Endbenutzerauthentifizierung ohne mehrstufige Authentifizierung
Dies ist veraltet. Weitere Informationen finden Sie unter Authentifizieren mit Tokenanmeldeinformationen.
Nächste Schritte
In diesem Artikel haben Sie erfahren, wie Sie die Authentifizierung von Endbenutzern verwenden, um sich mithilfe von Python bei Azure Data Lake Storage Gen1 zu authentifizieren. In den folgenden Artikeln wird erörtert, wie Sie Python mit Azure Data Lake Storage Gen1 verwenden.