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 einer „nativen“ Microsoft Entra ID-Anwendung Sie müssen die Schritte unter Authentifizierung von Endbenutzern bei Azure Data Lake Storage Gen1 mithilfe von Microsoft Entra ID ausgeführt 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 zur Authentifizierung bei Microsoft Entra ID für Kontoverwaltungsvorgänge, die ein Data Lake Storage Gen1-Konto betreffen. 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 native Microsoft Entra ID-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
Führen Sie hiermit die Authentifizierung bei Microsoft Entra ID für Dateisystemvorgänge durch, die ein Data Lake Storage Gen1-Konto betreffen. 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 native Microsoft Entra ID-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 Azure-Authentifizierung mit dem Python-SDK.
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.