다음을 통해 공유


Python을 사용하여 Azure Data Lake Storage Gen1로 서비스 간 인증

이 문서에서는 Python SDK를 사용하여 Azure Data Lake Storage Gen1로 서비스 간 인증을 수행하는 방법을 배웁니다. Python을 사용한 Data Lake Storage Gen1 최종 사용자 인증의 경우 을 사용하여 Data Lake Storage Gen1로 최종 사용자 인증을 참조하세요.

필수 조건

모듈 설치

Python을 통해 Data Lake Storage Gen1을 사용하려면 세 가지 모듈을 설치해야 합니다.

다음 명령을 사용하여 모듈을 설치합니다.

pip install azure-mgmt-resource
pip install azure-mgmt-datalake-store
pip install azure-datalake-store

새 Python 애플리케이션 만들기

  1. 선택한 IDE에서 새 Python 애플리케이션(예: mysample.py)을 만듭니다.

  2. 다음 코드 조각을 추가하여 필요한 모듈 가져오기

    ## 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
    
  3. mysample.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과 함께 사용하는 방법을 살펴볼 수 있습니다.