다음을 통해 공유


열린 작업 영역의 Notebook에서 인바운드 제한된 작업 영역의 Lakehouse에 액세스

관리형 프라이빗 엔드포인트를 사용하여 열린 작업 영역과 인바운드 공용 액세스를 제한하는 작업 영역 간에 작업 영역 간 통신을 설정할 수 있습니다. 예를 들어 열려 있는 작업 영역의 Notebook에서 인바운드 제한된 작업 영역의 Lakehouse에 액세스하려는 경우 관리되는 프라이빗 엔드포인트를 설정하여 두 작업 영역 간에 보안 연결을 설정할 수 있습니다.

다음 다이어그램에서 열린 작업 영역(작업 영역 1)에는 제한된 작업 영역(작업 영역 2)에 연결하는 관리형 프라이빗 엔드포인트가 있습니다. 이 설정을 사용하면 작업 영역 1의 Notebook이 공용 액세스에 노출하지 않고도 Lakehouse에 안전하게 액세스하고 작업 영역 2의 Delta Lake 테이블을 읽을 수 있습니다.

관리되는 프라이빗 엔드포인트가 공용 액세스를 거부하도록 설정된 작업 영역에 대한 연결을 설정하는 방법을 보여 주는 다이어그램

이 문서에서는 Microsoft Fabric 포털 또는 API의 작업 영역 설정을 통해 관리형 프라이빗 엔드포인트를 만드는 방법을 설명합니다.

1단계: 작업 영역 만들기

패브릭에서 작업 영역을 만듭니다. 이 설정에는 열린 작업 영역과 제한된 작업 영역이 모두 포함됩니다. 이 문서에서는 다음과 같이 작업 영역을 참조합니다.

  • 원본 작업 영역은 공용 액세스 제한 없이 열린 작업 영역입니다.
  • 대상 작업 영역은 인바운드 공용 액세스를 제한하는 작업 영역입니다.

또한 이 문서에서는 작업 영역의 FQDN(정규화된 도메인 이름)을 참조합니다. 형식은 다음과 같습니다.

https://{workspaceID}.z{xy}.w.api.fabric.microsoft.com

FQDN 형식 {workspaceID} 은 대시가 없는 작업 영역 ID이며 {xy} 작업 영역 개체 ID의 처음 두 문자입니다. 자세한 내용은 작업 영역에 연결을 참조하세요.

패브릭 포털에서 작업 영역 페이지를 열고, URL에서 groups/ 뒤에 나오는 ID를 확인하여 작업 영역 ID를 찾을 수 있습니다. 작업 영역 목록 또는 작업 영역 가져오기 API를 사용하여 작업 영역 FQDN을 찾을 수도 있습니다.

2단계: 관리되는 프라이빗 엔드포인트 만들기

원본(열린) 작업 영역에서 관리형 프라이빗 엔드포인트를 만듭니다. 포털 또는 다음 API에서 작업 영역 설정을 사용합니다.

POST https://{workspaceFQDN}/v1/workspaces/{workspaceID}/managedPrivateEndpoints

이 코드에서는 {workspaceFQDN} .입니다 {workspaceID}.z{xy}.w.api.fabric.microsoft.com.

예: POST https://aaaaaaaa000011112222bbbbbbbbbbbb.zaa.w.api.fabric.microsoft.com/v1/workspaces/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/managedPrivateEndpoints.

targetPrivateLinkResourceId 매개 변수는 제한된 작업 영역에서 Azure Private Link 서비스의 리소스 ID입니다. 대상 작업 영역에 관리되는 프라이빗 엔드포인트를 만들려면 이 리소스 ID가 필요합니다.

관리형 프라이빗 엔드포인트를 만들기 위한 API를 보여 주는 스크린샷

작업 영역에 대한 리소스 JSON을 확인하여 Azure에서 이 리소스 ID를 찾을 수 있습니다. JSON의 작업 영역 ID가 의도한 대상 작업 영역과 일치하는지 확인합니다.

리소스 JSON 파일에서 Private Link 리소스 ID를 가져오는 방법을 보여 주는 스크린샷

작업 영역 2의 Private Link 서비스 소유자는 Azure 프라이빗 링크 센터>보류 중인 연결에서 관리되는 프라이빗 엔드포인트에 대한 요청을 승인해야 합니다.

3단계: 제한된 작업 영역에서 레이크하우스 만들기

다음 Lakehouse 만들기 API를 사용하여 대상(제한된) 작업 영역에 Lakehouse를 만듭니다.

POST https://{workspaceFQDN}/v1/workspaces/{workspaceID}/lakehouses

이 코드에서는 {workspaceFQDN} .입니다 {workspaceID}.z{xy}.w.api.fabric.microsoft.com.

예: POST https://aaaaaaaa000011112222bbbbbbbbbbbb.zaa.w.api.fabric.microsoft.com/v1/workspaces/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/lakehouses.

대상 작업 영역에서 Lakehouse를 만드는 방법을 보여 주는 스크린샷

4단계: 레이크하우스에 Delta Lake 테이블 업로드

Azure Storage Explorer를 사용하여 Delta Lake 테이블의 폴더를 제한된 레이크하우스의 관리 스토리지에 업로드합니다.

  1. Storage Explorer로 이동하여 왼쪽 메뉴에서 연결 아이콘을 선택한 다음 , ADLS Gen2 컨테이너 또는 디렉터리를 선택합니다.

  2. OAuth를 사용하여 로그인합니다.

  3. 스토리지의 표시 이름을 입력하고 다음 형식으로 Blob 컨테이너 URL을 입력합니다.

    https://{workspaceFQDN}/{workspaceID}/{lakehouseID}

    이 코드에서는 {workspaceFQDN} .입니다 {workspaceID}.z{xy}.onelake.fabric.microsoft.com.

    예: POST https://aaaaaaaa000011112222bbbbbbbbbbbb.zaa.w.api.fabric.microsoft.com/v1/workspaces/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb/bbbbbbbb-1111-2222-3333-cccccccccccc.

    연결 정보 입력을 보여 주는 스크린샷

  4. 연결을 선택합니다. 이제 스토리지가 탐색기 보기에 표시됩니다.

  5. 테이블 폴더에서 사용하려는 Delta Lake 테이블을 업로드합니다. 이 예제에서는 고객 테이블을 사용합니다.

    폴더를 업로드하는 옵션을 보여 주는 스크린샷

5단계: 원본 작업 영역에서 Notebook 만들기

전자 필기장을 만들고 다음과 같이 제한된 레이크하우스에 연결합니다.

  1. 원본 작업 영역에서 Notebooks로 이동합니다.

  2. + 새 전자 필기장을 선택합니다. 

  3. Spark 런타임을 선택합니다. 

  4. 탐색기 창에서 대상 작업 영역에 연결합니다.

  5. 다음 코드를 붙여넣습니다.

    from pyspark.sql import SparkSession
    # Read Delta Lake table from the restricted lakehouse by using the workspace DNS-based ABFSS URI
    df = spark.read.format("delta").load(
       "abfss://{WorkspaceID}@{WorkspaceFQDN}/{LakehouseID}/Tables/customers"
    )
    

    다음을 확인합니다.

    • ABFSS(Azure Blob File System) 드라이버의 경로는 레이크하우스의 DNS 및 테이블 위치와 일치합니다.
    • 열려 있는 작업 영역과 제한된 작업 영역 간의 네트워크 액세스는 프라이빗 엔드포인트를 통해 올바르게 설정됩니다.
  6. 노트북을 실행합니다. 프라이빗 엔드포인트 및 사용 권한을 올바르게 설정하면 Notebook이 제한된 레이크하우스의 Delta Lake 테이블에 연결하여 내용을 표시합니다.