Dela via


Tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen1 med Python

I den här artikeln får du lära dig mer om hur du använder Python SDK för att utföra tjänst-till-tjänst-autentisering med Azure Data Lake Storage Gen1. Slutanvändarautentisering med Data Lake Storage Gen1 med Python finns i Slutanvändarautentisering 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.

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. Skapa ett nytt Python-program i valfritt IDE, t.ex. 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 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. Spara ändringarna i mysample.py.

”Tjänst till tjänst”-autentisering med klienthemlighet för kontohantering

Använd det här kodfragmentet för att autentisera med Microsoft Entra ID för kontohanteringsåtgärder på Data Lake Storage Gen1 till exempel skapa ett Data Lake Storage Gen1 konto, ta bort en Data Lake Storage Gen1 konto osv. Följande kodfragment kan användas för att autentisera ditt program icke-interaktivt, med hjälp av klienthemligheten för ett program/tjänstens huvudnamn för en befintlig Microsoft Entra ID "Web App"-program.

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)

Tjänst-till-tjänst-autentisering med klienthemlighet för filsystemsåtgärder

Använd följande kodfragment för att autentisera med Microsoft Entra ID för filsystemsåtgärder på Data Lake Storage Gen1 till exempel skapa mapp, ladda upp fil osv. Följande kodfragment kan användas för att autentisera ditt program icke-interaktivt med hjälp av klienthemligheten för ett program/tjänstens huvudnamn. Använd detta med en befintlig Microsoft Entra ID "Web App"-program.

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ästa steg

I den här artikeln har du lärt dig hur du använder tjänst-till-tjänst-autentisering för att autentisera med 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 Data Lake Storage Gen1.