Python을 사용하여 Azure Data Lake Storage Gen1로 서비스 간 인증
이 문서에서는 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 "웹" 애플리케이션을 만듭니다. 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에서 mysample.py와 같이 새 Python 애플리케이션을 만듭니다.
다음 코드 조각을 추가하여 필요한 모듈을 가져옵니다.
## 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
mysample.py의 변경 내용을 저장합니다.
계정 관리를 위해 클라이언트 암호로 서비스 간 인증
이 코드 조각을 사용하여 Data Lake Storage Gen1 계정 만들기, Data Lake Storage Gen1 삭제와 같은 Data Lake Storage Gen1 계정 관리 작업에 대한 Microsoft Entra ID 인증합니다. 계정 등 다음 코드 조각은 기존 Microsoft Entra ID "Web App" 애플리케이션의 애플리케이션/서비스 주체에 대한 클라이언트 암호를 사용하여 비대화형으로 애플리케이션을 인증하는 데 사용할 수 있습니다.
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 "Web App" 애플리케이션에서 사용합니다.
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과 함께 사용하는 방법을 살펴볼 수 있습니다.