지금까지 조직은 lakehouse에서 사용하는 여러 query 엔진과 도구에 걸쳐 속성 기반 액세스 제어(ABAC) 정책을 통합할 방법이 없었습니다. 오늘, 외부 엔진에 대한 세분화된 액세스 제어 기능의 프리뷰를 발표하게 되어 기쁩니다. 이번 출시로 Unity Catalog는 크로스 엔진 ABAC을 지원하는 최초이자 유일한 카탈로그가 되어, 팀은 태그 기반 행 필터와 열 마스크를 한 번만 정의하면 데이터가 액세스되는 모든 곳에 적용시킬 수 있습니다.
Unity Catalog로 통합된 거버넌스는 레이크하우스의 가장 큰 과제 중 하나인 여러 엔진에 걸쳐 파편화된 거버넌스를 제거합니다. Apache Iceberg REST 카탈로그 API를 기반으로 구축된 Unity Catalog는 데이터를 외부 엔진에 개방하는 동시에 세분화된 정책으로 완벽하게 관리할 수 있습니다.
조직이 lakehouse 아키텍처를 채택함에 따라 데이터는 독점적인 warehouse 시스템에서 개방형 스토리지 및 개방형 테이블 형식으로 이동하여 중복이나 종속 없이 Spark, Trino, DuckDB와 같은 여러 엔진에서 액세스할 수 있게 되었습니다.
하지만 이러한 새로운 수준의 개방성은 데이터에 액세스할 수 있는 모든 곳에서 거버넌스가 작동해야 한다는 어려운 문제를 야기했습니다. 전통적인 웨어하우스에서는 행 및 열 수준 제어가 단일 엔진 내에서 적용되었습니다. 오픈 lakehouse에서는 이제 여러 엔진에서 데이터에 액세스할 수 있게 되었으며, 모든 엔진에 걸쳐 일관된 정책 시행을 보장하는 것이 새로운 과제가 되었습니다.
보안팀은 다음과 같이 복잡하거나 위험한 접근 방식 중에서 하나를 선택해야 했습니다.
고객들은 오픈 포맷이 공유 데이터에 대한 유연한 compute라는 약속을 이행했지만, 거버넌스 역시 통합되어야만 그 비전이 완전히 실현될 수 있다고 꾸준히 말했습니다.
Unity 카탈로그는 이미 크리덴셜 벤딩을 통해 여러 엔진에 걸쳐 범용 테이블 수준 액세스 제어 기능을 제공하며, 이는 레이크하우스의 거버넌스를 통합하는 데 중요한 진전입니다. 그러나 테이블 수준 액세스만으로는 사용자가 행 또는 열의 하위 집합만 보아야 하는 시나리오를 해결할 수 없습니다. 민감한 데이터에는 지역 제한이나 PII 마스킹과 같은 보다 세분화된 제어가 필요한 경우가 많습니다.
세분화된 적용은 일반적으로 compute 엔진 내부에서 이루어집니다. Databricks Runtime에서는 서버 측 필터링을 사용하여 이 문제를 해결합니다. 세분화된 적용이 필요한 query는 보안 필터링 플릿을 통해 투명하게 라우팅되어 허용된 데이터만 처리됩니다. 하지만 Databricks 외부에서 실행되는 DuckDB, Trino 또는 Spark와 같은 외부 엔진에는 이 로직이 기본 내장되어 있지 않고, 일관된 시맨틱으로 거버넌스 정책을 시행하지 않습니다.
이를 통해 조직은 세분화된 거버넌스를 유지하면서 lakehouse에 있는 모든 엔진을 유연하게 사용할 수 있기를 원한다는 핵심 과제가 드러났습니다.
고객들은 어떤 솔루션이든 그래야 한다고 말했습니다:
