본문으로 건너뛰기

외부 파트너와 내부 직원을 위한 AI/BI 대시보드 권한 설계

하나의 entitlements table과 서명된 scope로 외부·내부 사용자의 대시보드 행과 민감 열을 분리합니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Databricks AI/BI Dashboard를 여러 외부 파트너와 내부 직원에게 하나씩만 제공하려면, 사용자별 대시보드를 복제하는 대신 권한 규칙을 하나의 entitlements table에 모을 수 있습니다. 백엔드는 인증된 사용자의 partner ID나 IdP 그룹을 서명된 embed token의 __aibi_external_value에 담고, secured view가 이 값을 entitlement 규칙과 대조해 지역별 행을 남기며 외부 파트너의 contact email을 마스킹합니다. Databricks 사용자가 base table을 직접 조회하는 경로에는 Unity Catalog row filter와 column mask를 별도로 적용해 같은 규칙을 이어갑니다. 알 수 없는 scope는 토큰 발급 단계에서 거부하고 SQL에서도 빈 결과만 반환하는 default-deny를 적용하며, token 만료 1시간과 1KB payload 제한도 운영 과정에서 관리해야 합니다.

섹션별 상세

01
고객별 대시보드를 따로 만들거나 모든 쿼리에 필터를 반복하면 규칙이 서로 달라질 위험이 커지므로, `open_ar_tasks`와 `entitlements`를 연결한 secured view가 하나의 대시보드에 여러 접근 범위를 부여합니다. entitlement 행은 `viewer_scope`, `market`, `mask_pii`를 저장해 `partner_acme`에는 West와 마스킹된 이메일을, `finance_all`에는 West·East·Central과 원문 이메일을 반환합니다. 권한 규칙이 테이블에 모이면 대시보드를 복제하지 않고도 감사와 변경을 한곳에서 수행할 수 있습니다.
02
백엔드는 service principal로 Databricks token을 발급하면서 감사용 `external_viewer_id`와 접근 범위인 `external_value`를 서명해 넣습니다. 임베디드 쿼리는 실제 시청자의 Databricks identity가 아니라 publishing identity로 실행되므로, secured view는 `WHERE viewer_scope = __aibi_external_value`를 사용해 토큰에 고정된 scope와 entitlement 행을 대조합니다. 브라우저가 서명된 값을 바꿀 수 없고 알 수 없는 scope가 어떤 행과도 일치하지 않기 때문에, 외부 파트너 ID와 내부 그룹명을 같은 필터로 처리하면서 기본 거부 동작을 유지합니다.
03
내부 사용자의 그룹은 임베딩 쿼리 안에서 `is_account_group_member()`로 읽을 수 없으므로, 애플리케이션 백엔드가 사용자를 대신하는 OBO token으로 SCIM `/Me`를 호출해 IdP 그룹을 확인합니다. `finance_all`처럼 여러 지역을 허용하는 그룹이나 `ops_west`처럼 West만 허용하는 그룹을 정해진 우선순위 또는 canonical scope로 변환한 뒤 embed token을 발급해야 합니다. 권한 그룹이 하나도 없으면 더 넓은 identity로 대체하지 않고 토큰 발급을 중단해야 하며, 여러 그룹의 합집합이 필요할 때는 단일 scope 제약과 1KB payload 한계를 고려해야 합니다.
04
행 필터만으로는 외부 파트너가 내부와 같은 민감도 정보를 얻을 수 있으므로, `mask_pii` 값에 따라 secured view의 CASE 표현식이 contact email을 `****@acme.com`처럼 가립니다. 동시에 Databricks 사용자가 base table을 직접 조회하는 경로에는 Unity Catalog row filter와 column mask를 적용하고, 이 경로에서는 `is_account_group_member()`가 실제 호출자의 account-level group을 평가합니다. 임베드 경로와 직접 SQL 경로는 서로 다른 identity 평가 지점을 사용하지만 같은 entitlements table을 읽으므로 애플리케이션 밖의 조회에도 지역 격리와 열 보호를 이어갈 수 있습니다.
05
운영 환경에서는 토큰이 1시간 뒤 만료되므로 client SDK의 `getNewToken` callback이 `/api/token`에서 새 토큰을 받아야 하며, `external_viewer_id`와 `external_value`의 합계는 1KB 아래로 유지해야 합니다. 외부 임베딩은 workspace당 초당 20회 대시보드 로드 제한을 가지며, 다운로드가 기본 활성화되어 CSV·TSV·Excel·PNG 결과가 실제 사용자 범위와 일치하는지 확인해야 합니다. account-level group 사용, 비PII 감사 식별자, 대규모 entitlement 조인의 단순성까지 함께 점검해야 권한 모델이 화면뿐 아니라 운영 경로에서도 일관되게 유지됩니다.

이미지 분석

외부 파트너와 내부 사용자가 애플리케이션을 통해 scoped token으로 AI/BI Dashboard에 접근하고, 직접 SQL 사용자는 base table을 조회하는 두 경로를 보여주는 권한 구조도입니다.
Diagram

도식의 왼쪽 경로에서는 External partner와 Internal user가 dashboard embedding web page를 거쳐 `external_value`가 담긴 scope token을 전달하고, `WHERE viewer_scope = __aibi_external_value` 조건을 적용한 secured view로 이동합니다. 오른쪽 경로의 Direct-SQL user는 base table에 직접 접근하지만, 두 경로 모두 하단의 중앙 entitlements table을 규칙 저장소로 사용하며 임베드 경로에는 row filter와 PII mask, 직접 SQL 경로에는 Unity Catalog row filter와 column mask가 연결됩니다.

외부 파트너와 내부 사용자가 애플리케이션을 통해 scoped token으로 AI/BI Dashboard에 접근하고, 직접 SQL 사용자는 base table을 조회하는 두 경로를 보여주는 권한 구조도입니다.

용어 해설

행 수준 보안(Row-Level Security)
행 수준 보안은 사용자의 신원이나 권한에 따라 조회 결과에 포함되는 행을 제한하는 방식입니다. 이 글에서는 entitlement 규칙과 Unity Catalog row filter를 이용해 사용자별 지역 데이터만 반환합니다.
열 마스킹(Column Masking)
열 마스킹은 행 접근 권한과 별개로 특정 열의 값을 사용자별로 가리거나 변환하는 통제입니다. 이 글에서는 외부 파트너의 contact email을 일부만 표시하고 내부 Finance 그룹에는 원문을 제공합니다.
권한 부여 테이블(Entitlements Table)
권한 부여 테이블은 어떤 scope가 어느 지역을 조회할 수 있는지와 민감한 값의 마스킹 여부를 한곳에 저장하는 규칙 저장소입니다. 임베디드 대시보드와 직접 SQL 접근이 같은 기준을 사용하게 합니다.
사용자 위임 토큰(On-Behalf-Of Token)
사용자 위임 토큰은 백엔드가 로그인한 사용자를 대신해 identity provider의 사용자 정보나 그룹을 조회할 때 쓰는 인증 토큰입니다. Databricks Apps에서는 이를 이용해 사용자의 그룹을 확인한 뒤 embed token을 발급합니다.
속성 기반 접근 제어(Attribute-Based Access Control)
속성 기반 접근 제어는 사용자나 데이터에 붙은 속성, 그룹, 분류값을 조합해 접근 권한을 결정하는 방식입니다. 권한 규칙이 여러 테이블로 복잡하게 확장될 때 Unity Catalog의 장기적인 통제 지점으로 제시됩니다.

기술

  • Databricks AI/BI Dashboard
  • __aibi_external_value
  • Unity Catalog
  • SCIM /Me
  • OBO token
  • Databricks Apps
  • client SDK
  • getNewToken
  • service principal
  • Okta
  • Entra ID
  • ABAC

활용 사례

  • 외부 운영 파트너용 white-label 포털
  • 지역별 내부 운영팀 대시보드
  • Finance 팀의 전체 지역 조회
  • 하나의 공유 AR 작업 대시보드에서 고객별 행 분리
  • 직접 SQL 조회에 대한 Unity Catalog 기반 보호
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 09. 08.수집 2026. 09. 10.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.