Dela via


Slutanvändarautentisering med Azure Data Lake Storage Gen1 med Python

I den här artikeln lär du dig hur du använder Python SDK för att utföra slutanvändarautentisering med Azure Data Lake Storage Gen1. Slutanvändarautentisering kan delas in i två kategorier:

  • Slutanvändarautentisering utan multifaktorautentisering
  • Slutanvändarautentisering med multifaktorautentisering

Båda dessa alternativ beskrivs i den här artikeln. För tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med Python, se Tjänst-till-tjänst-autentisering med Data Lake Storage Gen1 med Python.

Förutsättningar

Installera modulerna

Om du vill arbeta med Data Lake Storage Gen1 med Python måste du installera tre moduler.

  • azure-mgmt-resource-modulen, som innehåller Azure-moduler för Active Directory osv.
  • Modulen azure-mgmt-datalake-store , som innehåller kontohanteringsåtgärder för Azure Data Lake Storage Gen1. Mer information om den här modulen finns i Modulreferens för Azure Data Lake Storage Gen1 Management.
  • Modulen azure-datalake-store , som innehåller filsystemsåtgärderna i Azure Data Lake Storage Gen1. Mer information om den här modulen finns i modulreferensen azure-datalake-store Filesystem.

Installera modulerna med hjälp av följande kommandon.

pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store

Skapa ett nytt Python-program

  1. I valfri IDE skapar du ett nytt Python-program, till exempel mysample.py.

  2. Lägg till följande kodfragment för att importera de moduler som krävs

    ## 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
    
  3. Spara ändringar i mysample.py.

Slutanvändarautentisering med multifaktorautentisering

För kontohantering

Använd följande kodfragment för att autentisera med Microsoft Entra-ID för kontohanteringsåtgärder på ett Data Lake Storage Gen1-konto. Följande kodfragment kan användas för att autentisera ditt program med multifaktorautentisering. Ange värdena nedan för ett befintligt internt Microsoft Entra-ID-program.

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 filsystemoperationer

Använd detta för att autentisera med Microsoft Entra-ID för filsystemåtgärder på ett Data Lake Storage Gen1-konto. Följande kodfragment kan användas för att autentisera ditt program med multifaktorautentisering. Ange värdena nedan för ett befintligt internt Microsoft Entra-ID-program.

adlCreds = lib.auth(tenant_id='FILL-IN-HERE', resource = 'https://datalake.azure.net/')

Slutanvändarautentisering utan multifaktorautentisering

Detta är inaktuellt. Mer information finns i Azure-autentisering med Python SDK.

Nästa steg

I den här artikeln har du lärt dig hur du använder slutanvändarautentisering för att autentisera med Azure Data Lake Storage Gen1 med Python. Nu kan du titta på följande artiklar som beskriver hur du använder Python för att arbeta med Azure Data Lake Storage Gen1.