관리형 프라이빗 엔드포인트를 사용하여 열린 작업 영역과 인바운드 공용 액세스를 제한하는 작업 영역 간에 작업 영역 간 통신을 설정할 수 있습니다. 예를 들어 열려 있는 작업 영역의 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가 필요합니다.
작업 영역에 대한 리소스 JSON을 확인하여 Azure에서 이 리소스 ID를 찾을 수 있습니다. JSON의 작업 영역 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.
4단계: 레이크하우스에 Delta Lake 테이블 업로드
Azure Storage Explorer를 사용하여 Delta Lake 테이블의 폴더를 제한된 레이크하우스의 관리 스토리지에 업로드합니다.
Storage Explorer로 이동하여 왼쪽 메뉴에서 연결 아이콘을 선택한 다음 , ADLS Gen2 컨테이너 또는 디렉터리를 선택합니다.
OAuth를 사용하여 로그인합니다.
스토리지의 표시 이름을 입력하고 다음 형식으로 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.연결을 선택합니다. 이제 스토리지가 탐색기 보기에 표시됩니다.
테이블 폴더에서 사용하려는 Delta Lake 테이블을 업로드합니다. 이 예제에서는 고객 테이블을 사용합니다.
5단계: 원본 작업 영역에서 Notebook 만들기
전자 필기장을 만들고 다음과 같이 제한된 레이크하우스에 연결합니다.
원본 작업 영역에서 Notebooks로 이동합니다.
+ 새 전자 필기장을 선택합니다.
Spark 런타임을 선택합니다.
탐색기 창에서 대상 작업 영역에 연결합니다.
다음 코드를 붙여넣습니다.
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 및 테이블 위치와 일치합니다.
- 열려 있는 작업 영역과 제한된 작업 영역 간의 네트워크 액세스는 프라이빗 엔드포인트를 통해 올바르게 설정됩니다.
노트북을 실행합니다. 프라이빗 엔드포인트 및 사용 권한을 올바르게 설정하면 Notebook이 제한된 레이크하우스의 Delta Lake 테이블에 연결하여 내용을 표시합니다.