주요 컨텐츠로 이동
플랫폼

크로스-엔진 ABAC 소개

Unity Catalog에서 ABAC 정책을 정의하고 모든 엔진에서 존중되도록 보장

작성자: Alex Jiang, Alex Reid , 미셸 레온

  • Unity Catalog는 외부 엔진에서 속성 기반 액세스 제어(ABAC)를 적용합니다. 태그 기반 행 필터 및 열 마스크를 한 번 정의하고 모든 엔진에서 적용하세요.
  • 카탈로그 계층의 중앙 집중식 거버넌스는 정책이 데이터가 엔진에 도달하기 전에 적용됨을 의미합니다. 엔진 자체에서 정책 로직이 필요하지 않습니다.
  • 크로스-엔진 ABAC는 Iceberg REST Catalog 스캔 API를 기반으로 구축되었습니다. 이는 모든 엔진이 정책 적용을 카탈로그에 위임하기 위해 채택할 수 있는 개방형 사양입니다.

지난 12월, 저희는 레이크하우스 완성을 위한 비전: 개방형 스토리지, 개방형 액세스, 통합 거버넌스에 대해 공유했습니다. 저희는 조직이 Unity Catalog에서 세분화된 액세스 정책을 한 번 정의하면 모든 엔진, 모든 테이블, 모든 사용자에게 적용할 수 있는 세상을 설명했습니다. 오늘, 저희는 그 비전을 확장하고 있습니다.

저희는 크로스-엔진 ABAC의 베타 버전을 발표합니다. 이를 통해 기업은 Iceberg REST Catalog API를 사용하여 외부 엔진에서 속성 기반 액세스 제어(ABAC)를 적용할 수 있습니다. 크로스-엔진 ABAC를 통해 Unity Catalog는 크로스-엔진 ABAC 적용을 제공하는 최초이자 유일한 카탈로그가 되어, 태그 기반 행 필터 및 열 마스크를 모든 엔진에서 적용할 수 있게 합니다.

이것이 중요한 이유

Databricks가 개척한 개방형 레이크하우스는 상호 운용성을 가능하게 했습니다. Delta Lake 및 Apache Spark와 같은 개방형 테이블 형식은 조직을 종속성에서 해방시켰습니다. 즉, 어떤 엔진이든 데이터를 복제하거나 다른 형식으로 변환하지 않고 동일한 데이터 복사본을 읽을 수 있었습니다. 그러나 거버넌스는 이를 따라가지 못했습니다. 행 수준 및 열 수준 정책은 개별 엔진 런타임 내에 사일로화되어 있었습니다.

이는 보안 팀에게 어려운 선택을 강요했습니다. 모든 엔진에 수동으로 정책을 복제하고 동기화되기를 바라거나, 다른 소비자에게 별도의 테이블 복사본을 유지하거나, 의도한 것보다 더 넓은 액세스 권한을 부여하고 위험을 감수해야 했습니다.

크로스-엔진 ABAC는 이러한 어려운 선택을 없앱니다.

크로스-엔진 ABAC가 제공하는 기능

이 베타 버전에서는 Unity Catalog가 외부 엔진에서 읽는 데이터에 대해 세분화된 액세스 제어 정책을 적용합니다. 여기에는 다음이 포함됩니다.

  • 행 필터 및 열 마스크 — 태그 기반 규칙, 조건부 논리 및 SQL UDF를 포함한 Unity Catalog 정책의 전체 표현력
  • 다중 엔진 지원 — 정책 적용은 Iceberg REST Catalog 스캔 API를 통해 실행되므로 모든 Iceberg REST 클라이언트가 지원됩니다. 크로스-엔진 ABAC는 개방형으로 설계되었으며 특정 커넥터에 종속되지 않습니다. 오늘날 Apache Spark는 Iceberg-SparkDelta-Spark 커넥터를 통해 사용할 수 있습니다. StarburstDuckDB와 같은 추가 엔진 통합이 곧 제공될 예정입니다.

Unity Catalog에서 ABAC 정책을 한 번 정의하고 Databricks 또는 Iceberg REST Catalog와 통합된 모든 엔진에서 적용되도록 하십시오.

작동 방식

크로스-엔진 ABAC는 Iceberg REST Catalog 스캔 API를 기반으로 구축되었습니다. 이는 모든 엔진이 정책 적용을 카탈로그에 위임하기 위해 채택할 수 있는 개방형 사양입니다. 크로스-엔진 ABAC를 사용하면 카탈로그가 정책 적용을 처리하고 엔진이 쿼리를 처리합니다. 조직은 쿼리가 실행되는 위치에 대한 유연성을 희생하지 않고 세분화된 보안을 확보할 수 있습니다.

외부 엔진에서 세분화된 액세스 제어 정책이 있는 테이블을 쿼리하는 사용자:

  1. 엔진은 Iceberg REST Catalog 스캔 API를 통해 Unity Catalog에 스캔 요청을 보냅니다.
  2. Unity Catalog는 사용자의 권한 및 모든 적용 가능한 정책을 평가합니다.
  3. Unity Catalog는 사용자가 액세스 권한이 있는 데이터로 범위가 지정된 필터링된 스캔 계획을 반환합니다.
  4. 엔진은 스캔 계획의 필터링된 파일을 대상으로 쿼리를 완료합니다.

적용은 데이터가 엔진에 도달하기 전에 카탈로그 계층에서 이루어집니다. 엔진은 정책 로직을 이해하거나 구현할 필요가 없습니다. 엔진은 수신된 데이터만 처리합니다. 이는 크로스-엔진 ABAC가 네이티브 거버넌스 런타임이 없는 엔진에서도 작동할 수 있음을 의미합니다.

향후 전망

크로스-엔진 ABAC는 중앙 집중식 적용을 통해 오늘날 통합 거버넌스를 제공합니다. 카탈로그가 정책을 평가하고 사용자가 액세스 권한이 있는 데이터만 반환합니다. 이는 네이티브 거버넌스 런타임이 없는 "신뢰할 수 없는" 엔진에 가장 적합한 접근 방식이며, Iceberg REST Catalog 스캔 API를 채택하는 모든 엔진과 즉시 작동합니다.

중앙 집중식 적용은 그림의 한 조각일 뿐입니다. 업계에서는 또한 정책 및 메타데이터 교환을 위한 확장 가능한 접근 방식이 필요합니다. 즉, 카탈로그가 거버넌스 메타데이터를 공유하여 외부 엔진에서 정책을 네이티브로 적용할 수 있도록 해야 합니다.

저희는 거버넌스 및 의미론적 컨텍스트를 전달하는 레이블을 교환하기 위한 제안을 Apache Iceberg 커뮤니티에 기여하고 있습니다. 공유된 레이블을 통해 레이크하우스 전반의 엔진은 데이터가 어디에서 읽히든 동일한 거버넌스 및 비즈니스 컨텍스트를 기반으로 작동할 수 있습니다.

중앙 집중식 적용과 메타데이터 교환은 상호 보완적입니다. Unity Catalog는 데이터 생태계가 발전함에 따라 두 가지 모두를 지원할 것입니다.

시작하기

크로스-엔진 ABAC는 이제 베타 버전으로 제공됩니다. 사용해 보려면:

  1. 미리 보기 활성화: Databricks 미리 보기 포털에서 "크로스-엔진 ABAC"에 등록합니다 ( Databricks 미리 보기 관리 참조).
  2. ABAC 정책 정의: Unity Catalog 테이블에 태그 기반 행 필터 및 열 마스크를 생성합니다 ( ABAC 설명서 참조).
  3. 외부 엔진에서 쿼리: Iceberg-Spark 또는 Delta-Spark 커넥터를 통해 Apache Spark에 연결하고 읽기 시 정책이 적용되는지 확인합니다.

전체 설정 지침 및 구성 세부 정보는 크로스-엔진 ABAC 설명서에서 확인할 수 있습니다.

Unity Catalog가 처음이신가요? AWS, Azure 또는 GCP의 시작하기 가이드를 따르세요.

Data and AI Summit 2026에 참여하세요

Data and AI Summit 2026이 곧 개최됩니다! 2026년 6월 15일부터 18일까지 샌프란시스코 모스코니 센터에서 열리는 이 행사에서 선도적인 조직들이 Unity Catalog를 사용하여 엔진 전반의 데이터 및 AI를 어떻게 관리하는지 알아보세요. 개방적이고 통합된 거버넌스를 위한 다음 단계를 가장 먼저 확인하려면 지금 등록하세요.

(이 글은 AI의 도움을 받아 번역되었습니다. 원문이 궁금하시다면 여기를 클릭해 주세요)

최신 게시물을 이메일로 받아보세요

블로그를 구독하고 최신 게시물을 이메일로 받아보세요.