이 문서에서는 Python SDK를 사용하여 Azure Data Lake Storage Gen1로 서비스 간 인증을 수행하는 방법을 배웁니다. Python을 사용한 Data Lake Storage Gen1 최종 사용자 인증의 경우 을 사용하여 Data Lake Storage Gen1로 최종 사용자 인증을 참조하세요.
필수 조건
Python. 여기에서 Python을 다운로드할 수 있습니다. 이 문서에서는 Python 3.6.2를 사용합니다.
Azure 구독. Azure 평가판 가져오기를 참조하세요.
Microsoft Entra ID "Web" 애플리케이션을 만듭니다. Microsoft Entra ID를 사용하여 Data Lake Storage Gen1로 서비스 간 인증의 단계를 완료해야 합니다.
모듈 설치
Python을 통해 Data Lake Storage Gen1을 사용하려면 세 가지 모듈을 설치해야 합니다.
- Active Directory 등 Azure 모듈을 포함하는
azure-mgmt-resource모듈. - Azure Data Lake Storage Gen1 계정 관리 작업을 포함하는
azure-mgmt-datalake-store모듈. 이 모듈에 대한 자세한 내용은 Azure Data Lake Storage Gen1 관리 모듈 참조를 참조하세요. - Azure Data Lake Storage Gen1 파일 시스템 작업을 포함하는
azure-datalake-store모듈. 이 모듈에 대한 자세한 내용은 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 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, timemysample.py의 변경 내용을 저장합니다.
계정 관리를 위해 클라이언트 암호로 서비스 간 인증
Data Lake Storage Gen1 계정 만들기, Data Lake Storage Gen1 계정 삭제 등과 같은 Data Lake Storage Gen1의 계정 관리 작업을 위해 Microsoft Entra ID로 인증하려면 이 코드 조각을 사용합니다. 다음 코드 조각은 기존 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)
파일 시스템 작업을 위해 클라이언트 암호로 서비스 간 인증
폴더 만들기, 파일 업로드 등과 같은 Data Lake Storage Gen1의 파일 시스템 작업을 위해 Microsoft Entra ID로 인증하려면 다음 코드 조각을 사용합니다. 다음 코드 조각은 애플리케이션/서비스 주체에 대한 클라이언트 비밀을 사용하여 비대화형으로 애플리케이션을 인증하는 데 사용될 수 있습니다. 기존 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)
다음 단계
이 문서에서는 Python을 사용하여 Data Lake Storage Gen1로 인증하는 서비스 간 인증을 사용하는 방법을 배웠습니다. 이제 다음 문서를 통해 Python을 Data Lake Storage Gen1과 함께 사용하는 방법을 살펴볼 수 있습니다.