Проверка подлинности пользователей в Azure Data Lake Storage 1-го поколения с помощью Python

В этой статье описывается, как использовать пакет SDK для Python для проверки подлинности пользователей с помощью Azure Data Lake Storage 1-го поколения. Аутентификация пользователей бывает двух типов:

  • Аутентификация пользователей без многофакторной проверки подлинности.
  • Аутентификация пользователей с многофакторной проверкой подлинности.

В этой статье рассматриваются оба типа. См. дополнительные сведения о проверке подлинности между службами в Data Lake Storage 1-го поколения с помощью Python.

Предварительные требования

Установка модулей

Для работы с Data Lake Storage 1-го поколения с использованием Python необходимо установить три модуля.

Чтобы установить модули, используйте следующие команды.

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

Создание приложения Python

  1. В выбранной интегрированной среде разработки создайте новое приложение Python, например mysample.py.

  2. Чтобы импортировать необходимые модули, добавьте следующий фрагмент кода.

    ## 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. Сохраните изменения в mysample.py.

Аутентификация пользователей с многофакторной проверкой подлинности.

Управление учетными записями

Используйте следующий фрагмент кода для проверки подлинности с помощью Microsoft Entra ID для операций управления учетными записями в Data Lake Storage 1-го поколения учетной записи. Следующий фрагмент кода можно использовать для проверки подлинности приложения с помощью многофакторной идентификации. Укажите приведенные ниже значения для существующего Microsoft Entra ID машинного приложения.

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)

Операции файловой системы

Используйте его для проверки подлинности с помощью Microsoft Entra ID для операций с файловой системой в учетной записи Data Lake Storage 1-го поколения. Следующий фрагмент кода можно использовать для проверки подлинности приложения с помощью многофакторной идентификации. Укажите приведенные ниже значения для существующего Microsoft Entra ID машинного приложения.

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

Аутентификация пользователей без многофакторной проверки подлинности.

Мы не рекомендуем использовать этот метод. Дополнительные сведения см. в руководстве по аутентификации в Azure с помощью пакета SDK для Python.

Дальнейшие действия

В этой статье вы узнали, как использовать проверку подлинности пользователей, чтобы реализовать проверку подлинности в Data Lake Storage 1-го поколения с помощью Python. Дополнительные сведения об использовании Python для работы с Azure Data Lake Storage 1-го поколения см. в следующих статьях.