Аутентификация между службами в Azure Data Lake Storage 1-го поколения с использованием Python

В этой статье описывается, как использовать пакет SDK для Python для аутентификации между службами в Azure Data Lake Storage 1-го поколения. Дополнительные сведения об аутентификации пользователей в Azure Data Lake Storage 1-го поколения с помощью Python см. статье Аутентификация пользователей в 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 используйте IDE по своему усмотрению, например mysample.py.

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

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

Проверки подлинности через секрет клиента со взаимодействием между службами для управления учетными записями

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

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)

Проверка подлинности между службами через секрет клиента для операций файловой системы

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

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)

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

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