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을 사용하려면 세 가지 모듈을 설치해야 합니다.

  • 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 애플리케이션 만들기

  1. 원하는 IDE에서 mysample.py와 같이 새 Python 애플리케이션을 만듭니다.

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