Autenticação de usuário final com o Azure Data Lake Storage Gen1 usando Python
Neste artigo, você aprende sobre como usar o SDK do Python para fazer a autenticação do usuário final com o Armazenamento de Data Lake do Azure Gen1. A autenticação do usuário final pode ser adicionalmente dividida em duas categorias:
- Autenticação do usuário final sem autenticação multifator
- Autenticação do usuário final com autenticação multifator
Essas duas opções são discutidas neste artigo. Para autenticação de serviço a serviço com o Data Lake Storage Gen1 usando Python, consulte Autenticação de serviço a serviço com o Data Lake Storage Gen1 usando Python.
Pré-requisitos
Python. Você pode baixar o Python aqui. Este artigo usa o Python 3.6.2.
Uma assinatura do Azure. Consulte Obter a avaliação gratuita do Azure.
Crie um Microsoft Entra ID aplicativo "Nativo". Você deve ter concluído as etapas em Autenticação do usuário final com Data Lake Storage Gen1 usando Microsoft Entra ID.
Instalar os módulos
Para trabalhar com o Data Lake Storage Gen1 usando o Python, você precisa instalar três módulos.
- O módulo
azure-mgmt-resource
, que inclui módulos do Azure para o Active Directory etc. - O módulo
azure-mgmt-datalake-store
, que inclui as operações de gerenciamento de conta do Azure Data Lake Storage Gen1. Para obter mais informações sobre esse módulo, consulte Referência do módulo de gerenciamento do Azure Data Lake Storage Gen1. - O módulo
azure-datalake-store
, que inclui as operações do sistema de arquivos do Azure Data Lake Storage Gen1. Para obter mais informações sobre esse módulo, consulte referência do módulo Filesystem azure-datalake-store.
Use os comandos a seguir para instalar os módulos.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Criar um novo aplicativo Python
No IDE à sua escolha, crie um novo aplicativo Python, por exemplo,
mysample.py
.Adicione o seguinte snippet para importar os módulos necessários
## 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
Salve as alterações em
mysample.py
.
Autenticação do usuário final com autenticação multifator
Para gerenciamento de contas
Use o snippet a seguir para autenticar com Microsoft Entra ID para operações de gerenciamento de conta em uma conta Data Lake Storage Gen1. O snippet a seguir pode ser usado para autenticar seu aplicativo usando a autenticação multifator. Forneça os valores abaixo para um aplicativo nativo Microsoft Entra ID existente.
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)
Para operações de sistema de arquivos
Use isso para autenticar com Microsoft Entra ID para operações de sistema de arquivos em uma conta Data Lake Storage Gen1. O snippet a seguir pode ser usado para autenticar seu aplicativo usando a autenticação multifator. Forneça os valores abaixo para um aplicativo nativo Microsoft Entra ID existente.
adlCreds = lib.auth(tenant_id='FILL-IN-HERE', resource = 'https://datalake.azure.net/')
Autenticação do usuário final sem autenticação multifator
Isso foi preterido. Para obter mais informações, consulte Autenticação do Azure usando o SDK do Python.
Próximas etapas
Neste artigo, você aprendeu a usar a autenticação do usuário final para autenticar com o Armazenamento de Dados do Azure Data Lake Gen1 usando o Python. Agora você pode ver os seguintes artigos que falam sobre como usar o Python para trabalhar com o Azure Data Lake Storage Gen1.