Autenticação do utilizador final com Azure Data Lake Storage Gen1 com Python
Neste artigo, irá aprender a utilizar o SDK python para efetuar a autenticação do utilizador final com Azure Data Lake Storage Gen1. A autenticação do utilizador final pode ser dividida em duas categorias:
- Autenticação do utilizador final sem autenticação multifator
- Autenticação do utilizador final com autenticação multifator
Ambas as opções são abordadas neste artigo. Para autenticação serviço a serviço com Data Lake Storage Gen1 com Python, veja Autenticação serviço a serviço com Data Lake Storage Gen1 com Python.
Pré-requisitos
Python. Pode transferir o Python aqui. Este artigo utiliza a versão Python 3.6.2.
Uma subscrição do Azure. Consulte Obter versão de avaliação gratuita do Azure.
Crie uma Aplicação "Nativa" Microsoft Entra ID. Tem de ter concluído os passos em Autenticação do utilizador final com Data Lake Storage Gen1 com Microsoft Entra ID.
Instalar os módulos
Para trabalhar com Data Lake Storage Gen1 com o Python, tem de instalar três módulos.
- O módulo
azure-mgmt-resource
, que inclui módulos do Azure para o Active Directory, etc. - O
azure-mgmt-datalake-store
módulo, que inclui as operações de gestão de contas Azure Data Lake Storage Gen1. Para obter mais informações sobre este módulo, veja Azure Data Lake Storage referência do módulo Gestão gen1. - O
azure-datalake-store
módulo, que inclui as operações de sistema de ficheiros Azure Data Lake Storage Gen1. Para obter mais informações sobre este módulo, veja azure-datalake-store Filesystem module reference (Referência do módulo Filesystem do arquivo de dados do azure).
Utilize os comandos seguintes para instalar os módulos.
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
Criar uma aplicação Python nova
No IDE à sua escolha, crie uma nova aplicação Python, por exemplo,
mysample.py
.Adicione o fragmento de código seguinte 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
Guardar alterações em
mysample.py
.
Autenticação do utilizador final com autenticação multifator
Para gestão de contas
Utilize o fragmento seguinte para autenticar com Microsoft Entra ID para operações de gestão de contas numa conta Data Lake Storage Gen1. O fragmento seguinte pode ser utilizado para autenticar a sua aplicação com a autenticação multifator. Indique os valores abaixo para uma aplicação nativa 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 do sistema de ficheiros
Utilize esta opção para autenticar com Microsoft Entra ID para operações de sistema de ficheiros numa conta Data Lake Storage Gen1. O fragmento seguinte pode ser utilizado para autenticar a sua aplicação com a autenticação multifator. Indique os valores abaixo para uma aplicação nativa Microsoft Entra ID existente.
adlCreds = lib.auth(tenant_id='FILL-IN-HERE', resource = 'https://datalake.azure.net/')
Autenticação do utilizador final sem autenticação multifator
Isto foi preterido. Para obter mais informações, veja Autenticação do Azure com o SDK Python.
Passos seguintes
Neste artigo, aprendeu a utilizar a autenticação do utilizador final para se autenticar com o Azure Data Lake Storage Gen1 com Python. Agora, pode ver os seguintes artigos que falam sobre como utilizar o Python para trabalhar com Azure Data Lake Storage Gen1.