Проверка подлинности пользователей в Azure Data Lake Storage 1-го поколения с помощью Python
В этой статье описывается, как использовать пакет SDK для Python для проверки подлинности пользователей с помощью Azure Data Lake Storage 1-го поколения. Аутентификация пользователей бывает двух типов:
- Аутентификация пользователей без многофакторной проверки подлинности.
- Аутентификация пользователей с многофакторной проверкой подлинности.
В этой статье рассматриваются оба типа. См. дополнительные сведения о проверке подлинности между службами в Data Lake Storage 1-го поколения с помощью Python.
Предварительные требования
Python. Скачать Python можно здесь. В этой статье используется версия Python 3.6.2.
Подписка Azure. См. страницу бесплатной пробной версии Azure.
Создайте Microsoft Entra ID "собственное" приложение. Необходимо выполнить действия, описанные в разделе Проверка подлинности конечных пользователей с помощью Data Lake Storage 1-го поколения с помощью Microsoft Entra ID.
Установка модулей
Для работы с Data Lake Storage 1-го поколения с использованием Python необходимо установить три модуля.
- Модуль
azure-mgmt-resource
, который включает в себя модули Azure для Active Directory и т. д. - Модуль
azure-mgmt-datalake-store
, который включает в себя операции по управлению учетной записью Azure Data Lake Storage 1-го поколения. Дополнительные сведения см. в справочнике по модулю управления Azure Data Lake Storage 1-го поколения. - Модуль
azure-datalake-store
, который включает в себя операции с файловой системой Azure Data Lake Storage 1-го поколения. Дополнительные сведения см. в справочнике по модулю файловой системы Azure Data Lake Store.
Чтобы установить модули, используйте следующие команды.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Создание приложения Python
В выбранной интегрированной среде разработки создайте новое приложение Python, например
mysample.py
.Чтобы импортировать необходимые модули, добавьте следующий фрагмент кода.
## 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
Сохраните изменения в
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-го поколения см. в следующих статьях.