Проверка подлинности пользователей в Azure Data Lake Storage 1-го поколения с помощью PythonEnd-user 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 end-user authentication with Azure Data Lake Storage Gen1. Аутентификация пользователей бывает двух типов:End-user authentication can further be split into two categories:

  • Аутентификация пользователей без многофакторной проверки подлинности.End-user authentication without multi-factor authentication
  • Аутентификация пользователей с многофакторной проверкой подлинности.End-user authentication with multi-factor authentication

В этой статье рассматриваются оба типа.Both these options are discussed in this article. См. дополнительные сведения о проверке подлинности между службами в Data Lake Storage 1-го поколения с помощью Python.For service-to-service authentication with Data Lake Storage Gen1 using Python, see Service-to-service authentication with Data Lake Storage Gen1 using Python.

Предварительные условияPrerequisites

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

Для работы с Data Lake Storage 1-го поколения с использованием Python необходимо установить три модуля.To work with Data Lake Storage Gen1 using Python, you need to install three modules.

Чтобы установить модули, используйте следующие команды.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

  1. В интегрированной среде разработки создайте новое приложение Python, например MySample.py.In the IDE of your choice, create a new Python application, for example, mysample.py.

  2. Чтобы импортировать необходимые модули, добавьте следующий фрагмент кода.Add the following snippet to import the required modules

    ## 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.Save changes to mysample.py.

Аутентификация пользователей с многофакторной проверкой подлинности.End-user authentication with multi-factor authentication

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

Используйте следующий фрагмент кода для проверки подлинности в Azure AD и выполнения операций управления учетными записями в Data Lake Storage 1-го поколения.Use the following snippet to authenticate with Azure AD for account management operations on a Data Lake Storage Gen1 account. Следующий фрагмент кода можно использовать для проверки подлинности приложения с помощью многофакторной идентификации.The following snippet can be used to authenticate your application using multi-factor authentication. Укажите следующие значения для существующего собственного приложения Azure AD.Provide the values below for an existing Azure AD native application.

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)

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

Используйте для проверки подлинности в Azure AD и выполнения операций файловой системы в учетной записи Data Lake Storage 1-го поколения.Use this to authenticate with Azure AD for filesystem operations on a Data Lake Storage Gen1 account. Следующий фрагмент кода можно использовать для проверки подлинности приложения с помощью многофакторной идентификации.The following snippet can be used to authenticate your application using multi-factor authentication. Укажите следующие значения для существующего собственного приложения Azure AD.Provide the values below for an existing Azure AD native application.

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

Аутентификация пользователей без многофакторной проверки подлинности.End-user authentication without multi-factor authentication

Мы не рекомендуем использовать этот метод.This is deprecated. Дополнительные сведения см. в руководстве по аутентификации в Azure с помощью пакета SDK для Python.For more information, see Azure Authentication using Python SDK.

Дальнейшие шагиNext steps

В этой статье вы узнали, как использовать проверку подлинности пользователей, чтобы реализовать проверку подлинности в Data Lake Storage 1-го поколения с помощью Python.In this article, you learned how to use end-user authentication to authenticate with Azure Data Lake Storage Gen1 using Python. Дополнительные сведения об использовании Python для работы с Azure Data Lake Storage 1-го поколения см. в следующих статьях.You can now look at the following articles that talk about how to use Python to work with Azure Data Lake Storage Gen1.