중요하다
이 기능은 공개 프리뷰입니다.
팁
Microsoft Fabric을 사용하여 Azure Databricks 데이터를 읽는 방법에 대한 자세한 내용은 Microsoft Fabric을 사용하여 Unity 카탈로그등록된 데이터를 읽어보세요.
이 페이지에서는 Unity 카탈로그 자격 증명 자동 판매 기능이 외부 처리 엔진에서 Azure Databricks의 데이터에 대한 액세스를 지원하는 방법을 설명합니다.
자격 증명 자동 판매는 Unity REST API 및 Apache Iceberg REST 카탈로그를 사용하여 Unity 카탈로그에 연결하는 외부 시스템을 지원합니다. Delta 클라이언트에서 Databricks 테이블을 읽는 방법
Unity 카탈로그 자격 증명 자동 판매기가란?
자격 증명 발급은 Unity 카탈로그 REST API를 통해 수명이 짧은 자격 증명을 부여합니다. 부여된 자격 증명은 통합을 구성하는 데 사용되는 Azure Databricks 보안 주체의 권한을 상속합니다.
테이블 자격 증명 자동 판매는 Unity 카탈로그 메타스토어에 등록된 데이터에 대한 액세스를 제공합니다.
경로 자격 증명 자동 판매는 Unity 카탈로그 메타스토어의 외부 위치에 대한 액세스를 제공합니다.
테이블 자격 증명 자동 판매기
테이블에 대한 임시 자격 증명을 받으려면 요청하는 Azure Databricks 보안 주체(사용자, 그룹 또는 서비스 주체)에게 EXTERNAL USE SCHEMA 테이블이 포함된 스키마에 대한 권한이 있어야 합니다. 외부 액세스를 위해 Unity 카탈로그 메타스토어도 명시적으로 사용하도록 설정해야 합니다.
Unity 카탈로그에 대한 외부 데이터 액세스 활성화을 참조하세요.
자격 증명에는 외부 엔진이 클라우드 스토리지 위치에서 테이블 데이터 및 메타데이터에 액세스하는 데 사용할 수 있는 수명이 짧은 액세스 토큰 문자열 및 클라우드 스토리지 위치 URL이 포함됩니다.
메모
Table Unity 카탈로그 자격 증명 자동 판매는 다음을 지원합니다.
- Unity 카탈로그 관리 델타 테이블에 대한 읽기 전용 액세스입니다.
- Unity 카탈로그 관리되는 Iceberg 테이블에 대한 읽기 및 쓰기 권한입니다.
- Iceberg 읽기용으로 구성된 Delta 테이블에 대한 읽기 전용 액세스입니다.
- 액세스 Unity 카탈로그 외부 테이블을 만듭니다.
- Unity 카탈로그 외부 테이블에 대한 읽기 및 쓰기 권한입니다.
일부 클라이언트는 Delta Lake에서 지원하는 테이블에 대한 액세스를 지원하지만 다른 클라이언트는 테이블에서 Iceberg 읽기(UniForm)를 사용하도록 설정해야 합니다. Iceberg 클라이언트를 사용하여 델타 테이블 읽기를참조하세요.
요구 사항
- metastore 내에서 외부 액세스를 구성하고, 연결을 구성하는 담당자에게
EXTERNAL USE SCHEMA권한을 부여해야 합니다. Unity 카탈로그에 대한 외부 데이터 액세스 활성화을 참조하세요. - Unity 카탈로그 Open API 또는 Iceberg REST API를 사용하여 Azure Databricks 작업 영역에 액세스하려면 요청을 수행하는 엔진이 작업 영역 URL에 액세스할 수 있어야 합니다. 여기에는
IP 액세스 목록 및 Azure Private Link을(를) 사용하는작업 공간이 포함됩니다. - Unity 카탈로그에 등록된 데이터 개체의 기본 클라우드 스토리지 위치에 액세스하려면 Unity 카탈로그 임시 자격 증명 API에서 생성된 스토리지 URL에 요청을 수행하는 엔진에 액세스할 수 있어야 합니다. 즉, 기본 클라우드 스토리지 계정에 대한 방화벽 및 네트워크 액세스 제어 목록에서 엔진을 허용해야 합니다.
외부 데이터 액세스를 위한 임시 테이블 자격 증명 요청
자격 증명 제공 지원은 외부 클라이언트에 따라 다릅니다. 지원되는 경우, 연결이 구성될 때 클라이언트는 제공된 자격 증명을 자동으로 활용해야 합니다.
이 섹션에서는 자격 증명 자동 판매기 API 엔드포인트를 명시적으로 호출하는 예제를 제공합니다. 외부의 일부 클라이언트는 Unity 카탈로그 테이블을 지원하는 클라우드 오브젝트 스토리지의 데이터와 메타데이터에 액세스하기 위해 구성을 명시적으로 설정해야 할 수 있습니다. 자격 증명 자동 판매기에서 반환된 값을 사용하여 액세스를 구성할 수 있습니다.
메모
include_manifest_capabilities 옵션을 사용하도록 설정된 ListTables API를 호출하여 자격 증명 자동 판매기를 지원하는 테이블 목록을 검색할 수 있습니다.
HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT 또는 HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT 표시된 테이블만 임시 테이블 자격 증명 API에서 참조할 수 있습니다.
GET /api/2.1/unity-catalog/tables를 참조하세요.
다음 curl 예제에서는 외부 데이터 액세스를 위해 임시 자격 증명을 명시적으로 요청합니다. 이 요청은 충분한 권한이 있는 작업 영역 주체가 완료해야 합니다.
curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation_name": "<READ|READ_WRITE>"}'
자세한 내용은 Azure Databricks REST API 참조에서 POST /api/2.1/unity-catalog/temporary-table-credentials 참조하세요.
제한점
다음과 같은 제한 사항이 있습니다.
- 모든 외부 클라이언트가 자격 증명 자동 판매기를 지원하는 것은 아니며 기본 클라우드 개체 스토리지에 따라 지원이 달라질 수 있습니다.
- Unity 카탈로그 관리 테이블 및 Unity 카탈로그 외부 테이블만 지원됩니다.
- Iceberg 읽기에 사용하도록 설정된 테이블은 이 요구 사항을 공유합니다. Iceberg 클라이언트를 사용하여 델타 테이블 읽기를참조하세요.
- Delta Lake 판독기 클라이언트는 Delta Lake에서 지원하는 테이블만 읽을 수 있으며 테이블에서 사용하도록 설정된 모든 읽기 권한자 또는 기록기 프로토콜을 지원해야 합니다. Delta Lake 기능 호환성 및 프로토콜을 참조하세요.
- Delta Lake를 사용하지 않는 외부 테이블은 트랜잭션 보증을 제공하지 않습니다.
- 다음 표 형식 또는 기능이 활성화된 테이블은 지원되지 않습니다.
- 행 필터 또는 열 마스크가 적용된 테이블.
- 델타 공유를 사용하여 공유된 테이블입니다.
- Lakehouse 통합 테이블(외부 테이블).
- 조회수
- 구체화된 보기.
- Lakeflow Spark 선언적 파이프라인의 스트리밍 테이블들.
- 온라인 테이블.
- 벡터 검색 인덱스입니다.
- 자격 증명 새로 고침은 Iceberg 1.9.0에서 지원되지 않습니다. 자격 증명 새로 고침을 위해 최신 Iceberg 릴리스를 사용합니다.
경로 자격 증명 자동 판매기
경로에 대한 임시 자격 증명을 받으려면 요청 중인 Azure Databricks 보안 주체를 부여해야 합니다.
- 외부 위치에 대한
EXTERNAL USE LOCATION권한. -
EXTERNAL USE SCHEMA외부 테이블에 액세스하는 경우 스키마에 대한 권한입니다.
테이블 자격 증명 자동 판매와 마찬가지로 외부 액세스를 위해 Unity 카탈로그 메타스토어를 명시적으로 사용하도록 설정해야 합니다. Unity 카탈로그에 대한 외부 데이터 액세스 활성화을 참조하세요.
발급된 자격 증명을 사용하면 관련 경로로 범위가 지정된 클라우드 스토리지 위치에 직접 액세스할 수 있습니다. 제한된 시간 동안 유효하며 정의된 위치 또는 테이블 이외의 광범위한 액세스 권한을 부여하지 않습니다.
요구 사항
- Unity 카탈로그 메타스토어는 외부 액세스를 사용하도록 설정해야 하며 요청 주체를 부여
EXTERNAL USE LOCATION해야 합니다. 외부 테이블에 액세스하는 경우 해당 테이블도 부여EXTERNAL USE SCHEMA해야 합니다. Unity 카탈로그에 대한 외부 데이터 액세스 활성화을 참조하세요. - 외부 엔진은 Azure Databricks 작업 영역 URL에 연결할 수 있어야 합니다. IP 액세스 목록 또는 Azure Private Link를 사용하는 작업 영역에 적용됩니다.
- 자격 증명 자동 판매기 API에서 생성된 클라우드 스토리지 URL은 외부 엔진에서 액세스할 수 있어야 합니다. 기본 클라우드 스토리지 계정의 방화벽 및 네트워크 액세스 제어에서 엔진을 허용하는지 확인합니다.
외부 데이터 액세스를 위한 임시 경로 자격 증명 요청
자격 증명 제공 지원은 외부 클라이언트에 따라 다릅니다. 지원되는 경우, 연결이 구성될 때 클라이언트는 제공된 자격 증명을 자동으로 활용해야 합니다.
이 섹션에서는 자격 증명 자동 판매기 API 엔드포인트를 명시적으로 호출하는 예제를 제공합니다. 외부의 일부 클라이언트는 Unity 카탈로그 테이블을 지원하는 클라우드 오브젝트 스토리지의 데이터와 메타데이터에 액세스하기 위해 구성을 명시적으로 설정해야 할 수 있습니다. 자격 증명 자동 판매기에서 반환된 값을 사용하여 액세스를 구성할 수 있습니다.
다음 curl 예제에서는 외부 데이터 액세스를 위해 임시 자격 증명을 명시적으로 요청합니다. 이 요청은 충분한 권한이 있는 작업 영역 주체가 완료해야 합니다.
curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": <PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'
자세한 내용은 Azure Databricks REST API 참조에서 임시 경로 자격 증명 생성 을 참조하세요.