Unity 카탈로그에 대한 외부 데이터 액세스 사용
Azure Databricks는 Unity REST API 및 Iceberg REST 카탈로그를 사용하여 Unity 카탈로그 테이블에 대한 액세스를 제공합니다.
메타스토어 관리자는 외부에서 액세스해야 하는 각 메타스토어에 대해 외부 데이터 액세스를 사용하도록 설정해야 합니다. 연결을 구성하는 사용자 또는 서비스 주체는 외부에서 읽어야 하는 테이블을 포함하는 각 스키마에 대한 EXTERNAL USE SCHEMA
권한이 있어야 합니다.
Unity REST API는 Delta 테이블에 대한 직접 데이터 읽기를 지원하며, Iceberg REST 카탈로그는 Iceberg 읽기를 활성화한 테이블에서의 데이터 읽기를 지원합니다. 외부 시스템을 사용하여 Databricks 데이터에 액세스하는 방법을 참조하세요
메타스토어에서 외부 데이터 액세스 기능 활성화
외부 엔진이 메타스토어의 데이터에 액세스할 수 있도록 하려면 metastore 관리자가 메타스토어에 대한 외부 데이터 액세스를 사용하도록 설정해야 합니다. 이 옵션은 권한 없는 외부 액세스를 방지하기 위해 기본적으로 사용하지 않도록 설정됩니다.
외부 데이터 액세스를 사용하도록 설정하려면 다음을 수행합니다.
- 메타스토어에 연결된 Azure Databricks 작업 영역에서
카탈로그를 클릭합니다.
Gear icon카탈로그 창 위쪽에서 기어 아이콘을 클릭하고 메타스토어선택합니다.
- 세부 정보 탭에서, 외부 데이터 액세스사용하도록 설정합니다.
메모
이러한 옵션은 충분히 권한이 있는 사용자에 대해서만 표시됩니다. 이러한 옵션이 표시되지 않으면 메타스토어에 대한 외부 데이터 액세스를 사용하도록 설정할 수 있는 권한이 없습니다.
주체에게 권한 부여 EXTERNAL USE SCHEMA
Azure Databricks에 연결하는 외부 클라이언트는 충분히 권한 있는 보안 주체의 권한 부여가 필요합니다.
Azure Databricks는 인증을 위해 OAuth 및 PAT(개인용 액세스 토큰)를 지원합니다. Azure Databricks 리소스에 대한 액세스 권한 부여참조하세요.
임시 자격 증명을 요청하는 주체는 다음을 갖추어야 합니다.
포함하는 스키마 또는 해당 부모 카탈로그에 대한
EXTERNAL USE SCHEMA
권한입니다.이 권한은 항상 명시적으로 부여되어야 합니다. 부모 카탈로그 소유자만 부여할 수 있습니다. 우발적인 반출을 방지하기 위해
ALL PRIVILEGES
EXTERNAL USE SCHEMA
권한을 포함하지 않으며 스키마 소유자는 기본적으로 이 권한을 갖지 않습니다.테이블에 대한
SELECT
권한, 부모 카탈로그에 대한USE CATALOG
권한, 그리고 부모 스키마에 대한USE SCHEMA
권한.
다음 예제 구문에서는 사용자에게 EXTERNAL USE SCHEMA
부여하는 방법을 보여 줍니다.
GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`
사용자에게 스키마에서 원하는 모든 테이블을 읽을 수 있는 권한이 있다고 가정하면 추가 권한이 필요하지 않습니다. 테이블을 읽을 수 있는 추가 권한을 부여해야 하는 경우 Unity 카탈로그 권한 및보안 개체를 참조하세요.