Аутентификация между службами в Azure Data Lake Storage 1-го поколения с использованием PythonService-to-service authentication with Azure Data Lake Storage Gen1 using Python
В этой статье описывается, как использовать пакет SDK для Python для аутентификации между службами в Azure Data Lake Storage 1-го поколения.In this article, you learn about how to use the Python SDK to do service-to-service authentication with Azure Data Lake Storage Gen1. Дополнительные сведения об аутентификации пользователей в Azure Data Lake Storage 1-го поколения с помощью Python см. статье Аутентификация пользователей в Data Lake Storage 1-го поколения с использованием Python.For end-user authentication with Data Lake Storage Gen1 using Python, see End-user authentication with Data Lake Storage Gen1 using Python.
Предварительные требованияPrerequisites
Python.Python. Скачать Python можно здесь.You can download Python from here. В этой статье используется версия Python 3.6.2.This article uses Python 3.6.2.
Подписка Azure.An Azure subscription. См. страницу бесплатной пробной версии Azure.See Get Azure free trial.
Создайте веб-приложение Azure Active Directory.Create an Azure Active Directory "Web" Application. Вам нужно выполнить инструкции по аутентификации между службами в Data Lake Storage 1-го поколения с помощью Azure Active Directory.You must have completed the steps in Service-to-service authentication with Data Lake Storage Gen1 using Azure Active Directory.
Установка модулейInstall the modules
Для работы с Data Lake Storage 1-го поколения с использованием Python необходимо установить три модуля.To work with Data Lake Storage Gen1 using Python, you need to install three modules.
- Модуль
azure-mgmt-resource
, который включает в себя модули Azure для Active Directory и т. д.Theazure-mgmt-resource
module, which includes Azure modules for Active Directory, etc. - Модуль
azure-mgmt-datalake-store
, который включает в себя операции по управлению учетной записью Data Lake Storage 1-го поколения.Theazure-mgmt-datalake-store
module, which includes the Data Lake Storage Gen1 account management operations. Дополнительные сведения см. в справочнике по модулю управления Azure Data Lake Storage 1-го поколения.For more information on this module, see Azure Data Lake Storage Gen1 Management module reference. - Модуль
azure-datalake-store
, который включает в себя операции с файловой системой Data Lake Storage 1-го поколения.Theazure-datalake-store
module, which includes the Data Lake Storage Gen1 filesystem operations. Дополнительные сведения об этом модуле см. в статье Справочник по модулю файловой системы Azure-Lake-Store.For more information on this module, see azure-datalake-store Filesystem module reference.
Чтобы установить модули, используйте следующие команды.Use the following commands to install the modules.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Создание приложения PythonCreate a new Python application
Для создания приложения Python используйте IDE по своему усмотрению, например mysample.py.In the IDE of your choice create a new Python application, for example, mysample.py.
Чтобы импортировать необходимые модули, добавьте следующий фрагмент кода.Add the following snippet to import the required modules
## 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
Сохраните изменения в mysample.py.Save changes to mysample.py.
Проверки подлинности через секрет клиента со взаимодействием между службами для управления учетными записямиService-to-service authentication with client secret for account management
Используйте этот фрагмент кода для проверки подлинности в Azure AD для операций управления учетными записями Data Lake Storage 1-го поколения таких как создание учетной записи Data Lake Storage 1-го поколения, удаление учетной записи Data Lake Storage 1-го поколения и т. д. Следующий фрагмент кода можно использовать для проверки подлинности приложения в неинтерактивном режиме, используя секрет клиента для субъекта приложения или службы существующего приложения Azure AD "веб-приложение".Use this snippet to authenticate with Azure AD for account management operations on Data Lake Storage Gen1 such as create a Data Lake Storage Gen1 account, delete a Data Lake Storage Gen1 account, etc. The following snippet can be used to authenticate your application non-interactively, using the client secret for an application / service principal of an existing Azure AD "Web App" application.
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)
Проверка подлинности между службами через секрет клиента для операций файловой системыService-to-service authentication with client secret for filesystem operations
Используйте следующий фрагмент кода для проверки подлинности в Azure AD для операций файловой системы на Data Lake Storage 1-го поколения таких как создание папки, передача файла и т. д. Следующий фрагмент кода можно использовать для проверки подлинности приложения в неинтерактивном режиме с помощью секрета клиента для приложения или субъекта-службы.Use the following snippet to authenticate with Azure AD for filesystem operations on Data Lake Storage Gen1 such as create folder, upload file, etc. The following snippet can be used to authenticate your application non-interactively, using the client secret for an application / service principal. Примените этот фрагмент кода к существующему веб-приложению Azure AD.Use this with an existing Azure AD "Web App" application.
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)
Дальнейшие действияNext steps
В этой статье вы узнали, как использовать аутентификацию между службами, чтобы реализовать аутентификацию в Data Lake Storage 1-го поколения с использованием Python.In this article, you learned how to use service-to-service authentication to authenticate with Data Lake Storage Gen1 using Python. Дополнительные сведения об использовании Python для работы с Data Lake Storage 1-го поколения см. в следующих статьях.You can now look at the following articles that talk about how to use Python to work with Data Lake Storage Gen1.