Uwierzytelnianie typu usługa-usługa przy użyciu usługi Azure Data Lake Storage Gen1 przy użyciu języka Python

W tym artykule dowiesz się, jak używać zestawu SDK języka Python do uwierzytelniania typu usługa-usługa przy użyciu usługi Azure Data Lake Storage Gen1. Aby uzyskać informacje na temat uwierzytelniania użytkowników końcowych przy użyciu Data Lake Storage Gen1 przy użyciu języka Python, zobacz End-user authentication with Data Lake Storage Gen1 using Python (Uwierzytelnianie użytkowników końcowych przy użyciu języka Python).

Wymagania wstępne

Instalacja modułów

Aby pracować z Data Lake Storage Gen1 przy użyciu języka Python, musisz zainstalować trzy moduły.

Użyj następujących poleceń, aby zainstalować moduły.

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

Tworzenie nowej aplikacji w języku Python

  1. W wybranym środowisku IDE utwórz nową aplikację w języku Python, na przykład mysample.py.

  2. Dodaj następujący fragment kodu, aby zaimportować wymagane moduły:

    ## 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. Zapisz zmiany w aplikacji mysample.py.

Uwierzytelnianie między usługami z kluczem tajnym klienta w celu zarządzania kontami

Ten fragment kodu służy do uwierzytelniania przy użyciu Tożsamość Microsoft Entra na potrzeby operacji zarządzania kontami na Data Lake Storage Gen1, takich jak tworzenie konta Data Lake Storage Gen1, usuwanie Data Lake Storage Gen1 konto itp. Poniższy fragment kodu może służyć do uwierzytelniania aplikacji nieinterakcyjnej przy użyciu wpisu tajnego klienta dla aplikacji/jednostki usługi istniejącej aplikacji Tożsamość Microsoft Entra "Aplikacja internetowa".

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)

Uwierzytelnianie między usługami z wpisem tajnym klienta dla operacji systemu plików

Użyj poniższego fragmentu kodu, aby uwierzytelnić się przy użyciu Tożsamość Microsoft Entra dla operacji systemu plików na Data Lake Storage Gen1, takich jak tworzenie folderu, przekazywanie pliku itp. Poniższy fragment kodu może służyć do uwierzytelniania aplikacji nieinterakcyjnej przy użyciu wpisu tajnego klienta dla aplikacji/jednostki usługi. Użyj tej funkcji z istniejącą aplikacją Tożsamość Microsoft Entra "Web App".

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)

Następne kroki

W tym artykule przedstawiono sposób uwierzytelniania typu usługa-usługa w celu uwierzytelniania za pomocą Data Lake Storage Gen1 przy użyciu języka Python. Teraz możesz zapoznać się z następującymi artykułami, które mówią o tym, jak używać języka Python do pracy z Data Lake Storage Gen1.