Uwierzytelnianie użytkowników końcowych za pomocą 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 użytkowników końcowych za pomocą usługi Azure Data Lake Storage Gen1. Uwierzytelnianie użytkowników końcowych można dodatkowo podzielić na dwie kategorie:
- Uwierzytelnianie użytkowników końcowych bez uwierzytelniania wieloskładnikowego
- Uwierzytelnianie użytkowników końcowych przy użyciu uwierzytelniania wieloskładnikowego
Obie te opcje zostały omówione w tym artykule. Aby uzyskać informacje na temat uwierzytelniania typu usługa-usługa z Data Lake Storage Gen1 przy użyciu języka Python, zobacz Service-to-service authentication with Data Lake Storage Gen1 using Python (Uwierzytelnianie typu usługa-usługa przy użyciu języka Python).
Wymagania wstępne
Python. Możesz pobrać środowisko Python tutaj. W tym artykule używany jest język Python 3.6.2.
Subskrypcja platformy Azure. Zobacz temat Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.
Utwórz aplikację Tożsamość Microsoft Entra "natywną". Musisz wykonać kroki opisane w artykule Uwierzytelnianie użytkownika końcowego przy użyciu Data Lake Storage Gen1 przy użyciu Tożsamość Microsoft Entra.
Instalacja modułów
Aby pracować z Data Lake Storage Gen1 przy użyciu języka Python, musisz zainstalować trzy moduły.
- Moduł
azure-mgmt-resource
, który obejmuje moduły platformy Azure dla usługi Active Directory itp. - Moduł
azure-mgmt-datalake-store
, który obejmuje operacje zarządzania kontami Azure Data Lake Storage Gen1. Aby uzyskać więcej informacji na temat tego modułu, zobacz dokumentację modułu zarządzania Azure Data Lake Storage Gen1. - Moduł
azure-datalake-store
zawierający operacje systemu plików Azure Data Lake Storage Gen1. Aby uzyskać więcej informacji na temat tego modułu, zobacz azure-datalake-store Filesystem module reference (Dokumentacja modułu systemu plików azure-datalake-store).
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
W wybranym środowisku IDE utwórz nową aplikację w języku Python, na przykład
mysample.py
.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 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
Zapisz zmiany w pliku
mysample.py
.
Uwierzytelnianie użytkowników końcowych przy użyciu uwierzytelniania wieloskładnikowego
Zarządzanie kontami
Użyj poniższego fragmentu kodu, aby uwierzytelnić się przy użyciu Tożsamość Microsoft Entra na potrzeby operacji zarządzania kontami na koncie Data Lake Storage Gen1. Poniższego fragmentu kodu można użyć do uwierzytelniania aplikacji za pomocą uwierzytelniania wieloskładnikowego. Podaj poniższe wartości dla istniejącej aplikacji natywnej Tożsamość Microsoft Entra.
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)
W przypadku operacji systemu plików
Służy do uwierzytelniania przy użyciu Tożsamość Microsoft Entra na potrzeby operacji systemu plików na koncie Data Lake Storage Gen1. Poniższego fragmentu kodu można użyć do uwierzytelniania aplikacji za pomocą uwierzytelniania wieloskładnikowego. Podaj poniższe wartości dla istniejącej aplikacji natywnej Tożsamość Microsoft Entra.
adlCreds = lib.auth(tenant_id='FILL-IN-HERE', resource = 'https://datalake.azure.net/')
Uwierzytelnianie użytkowników końcowych bez uwierzytelniania wieloskładnikowego
Jest to przestarzałe. Aby uzyskać więcej informacji, zobacz Azure Authentication using Python SDK (Uwierzytelnianie platformy Azure przy użyciu zestawu SDK języka Python).
Następne kroki
W tym artykule przedstawiono sposób uwierzytelniania użytkowników końcowych przy użyciu Azure 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 usługą Azure Data Lake Storage Gen1.