使用 Python 向 Azure Data Lake Storage Gen1 進行使用者驗證
在本文中,您會了解如何使用 Python SDK 向 Azure Data Lake Storage Gen1 進行使用者驗證。 使用者驗證可以進一步分成兩個類別:
- 沒有多重要素驗證的使用者驗證
- 有多重要素驗證的使用者驗證
本文中討論這兩個選項。 如需使用 Python 向 Data Lake Storage Gen1 進行服務對服務驗證,請參閱使用 Python 向 Data Lake Storage Gen1 進行服務對服務驗證。
必要條件
Python。 您可以從這裡下載 Python。 本文使用 Python 3.6.2。
Azure 訂用帳戶。 請參閱取得 Azure 免費試用。
建立 Microsoft Entra ID「原生」應用程式。 您必須已完成使用 Microsoft Entra ID 搭配 Data Lake Storage Gen1 的使用者驗證中的步驟。
安裝模組
若要透過 Python 使用 Data Lake Storage Gen1,您需要安裝三個模組。
-
azure-mgmt-resource
模組,這包括適用於 Active Directory 等等的 Azure 模組。 -
azure-mgmt-datalake-store
模組包括 Azure Data Lake Storage Gen1 帳戶管理作業。 如需關於此模組的詳細資訊,請參閱 Azure Data Lake Storage Gen1 Management module reference (Azure Data Lake Storage Gen1 管理模組參考)。 -
azure-datalake-store
模組,含有 Azure Data Lake Storage Gen1 檔案系統作業。 如需關於此模組的詳細資訊,請參閱 azure-datalake-store Filesystem module reference (azure-datalake-store 檔案系統模組參考)。
使用下列命令來安裝新模組。
pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store
建立新的 Python 應用程式
在所選的整合式開發環境 (IDE) 中,建立新的 Python 應用程式,例如
mysample.py
。新增以下程式碼片段以匯入必要模組
## 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
將變更儲存到
mysample.py
。
有多重要素驗證的使用者驗證
對於帳戶管理
使用下列代碼段來向 Microsoft Entra ID 驗證 Data Lake Storage Gen1 帳戶上的帳戶管理作業。 下列程式碼片段可供使用 Multi-Factor Authentication 來驗證您的應用程式。 為現有的 Microsoft Entra ID 原生應用程式提供下列值。
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)
對於檔案系統作業
使用此選項可向 Data Lake Storage Gen1 帳戶上的文件系統作業 Microsoft Entra ID 進行驗證。 下列程式碼片段可供使用 Multi-Factor Authentication 來驗證您的應用程式。 為現有的 Microsoft Entra ID 原生應用程式提供下列值。
adlCreds = lib.auth(tenant_id='FILL-IN-HERE', resource = 'https://datalake.azure.net/')
沒有多重要素驗證的使用者驗證
這已被取代。 如需詳細資訊,請參閱使用 Python SDK 進行 Azure 驗證。
下一步
在本文中,您已了解如何使用 Python,使用使用者驗證向 Azure Data Lake Storage Gen1 進行驗證。 您現在可以看看下列文章,了解如何配合使用 Python 與 Azure Data Lake Storage Gen1。