Dienst-zu-Dienst-Authentifizierung bei Azure Data Lake Storage Gen1 mithilfe von Python

In diesem Artikel erfahren Sie, wie Sie mithilfe des Python SDK die Authentifizierung zwischen Diensten bei Azure Data Lake Storage Gen1 durchführen. Informationen zur Authentifizierung von Endbenutzern bei Data Lake Storage Gen1 mithilfe von Python finden Sie unter Authentifizieren von Endbenutzern bei Data Lake Storage Gen1 mit Python.

Voraussetzungen

Installieren der Module

Zum Verwenden von Data Lake Storage Gen1 mit Python müssen Sie drei Module installieren.

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

  1. Erstellen Sie in der IDE Ihrer Wahl eine neue Python-Anwendung, z.B. mysample.py.

  2. 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 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. Speichern Sie Ihre Änderungen an „mysample.py“.

Dienst-zu-Dienst-Authentifizierung mit Clientgeheimnis für die Kontoverwaltung

Verwenden Sie diesen Codeausschnitt, um sich bei Microsoft Entra ID für Kontoverwaltungsvorgänge auf Data Lake Storage Gen1 zu authentifizieren, z. B. ein Data Lake Storage Gen1-Konto zu erstellen, ein Data Lake Storage Gen1 Konto usw. Der folgende Codeausschnitt kann verwendet werden, um Ihre Anwendung nicht interaktiv zu authentifizieren, indem Sie den geheimen Clientschlüssel für eine Anwendung/einen Dienstprinzipal einer vorhandenen Microsoft Entra ID "Web-App"-Anwendung verwenden.

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)

Dienst-zu-Dienst-Authentifizierung mit Clientgeheimnis für Dateisystemvorgänge

Verwenden Sie den folgenden Codeausschnitt, um sich bei Microsoft Entra ID für Dateisystemvorgänge auf Data Lake Storage Gen1 zu authentifizieren, z. B. Ordner erstellen, Datei hochladen usw. Der folgende Codeausschnitt kann verwendet werden, um Ihre Anwendung nicht interaktiv zu authentifizieren, indem Sie den geheimen Clientschlüssel für eine Anwendung/einen Dienstprinzipal verwenden. Verwenden Sie dies mit einer vorhandenen Microsoft Entra ID "Web-App"-Anwendung.

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)

Nächste Schritte

In diesem Artikel haben Sie erfahren, wie Sie die Authentifizierung zwischen Diensten verwenden, um sich mit Python bei Data Lake Storage Gen1 zu authentifizieren. In den folgenden Artikeln wird erörtert, wie Sie Python mit Data Lake Storage Gen1 verwenden.