HN 표시: DuckLake 레이크하우스에 대한 테이블별 액세스 제어

hackernews | | 📦 오픈소스
#ducklake #review #개발 #레이크하우스 #보안 #접근 제어
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

DuckLake 레이크하우스를 위한 오픈 소스 액세스 제어 도구인 'ducklake-guard'가 개발되어, 현재 실험적 단계지만 Hetzner Cloud 환경에서의 테이블별 보안 관리를 지원합니다. 이 도구는 단일 CLI를 통해 S3 버킷 정책, PostgreSQL 카탈로그 가시성(RLS), 카탈로그 역할을 통합적으로 관리하며 감사 로그 기능을 포함하고 있습니다. 또한 사용자 생성 및 특정 테이블에 대한 읽기 또는 쓰기 권한을 부여하고 취소하는 구체적인 명령어 세트를 제공하여 데이터 접근 제어의 효율성을 높입니다.

본문

Experimental — ducklake-guard is under active development. It works, but has not been audited. Review carefully before using in sensitive or production environments. Per-table access control for DuckLake lakehouses on Hetzner Cloud. A single CLI manages S3 bucket policies, Postgres catalog visibility (RLS), and catalog roles, with an audit log. Note I'll add AWS and Scaleway, make sure to follow the repo for any updates. pip install ducklake-guard Or with uv: uv pip install ducklake-guard From source: pip install git+https://github.com/berndsen-io/ducklake-guard.git graph LR DGA["dga CLI"] PG_GUARD["ducklake_guard DB(source of truth)"] PG_CATALOG["ducklake_catalog DB(RLS + roles)"] S3["Hetzner S3(bucket policy)"] DGA -->|manages grants| PG_GUARD DGA -->|pushes RLS + roles| PG_CATALOG DGA -->|pushes bucket policy| S3 - Hetzner server, PostgreSQL, Object Storage bucket. Recommendation, auto deploy with ducklake-hetzner . - S3 credentials for each user, created manually in the Hetzner Console (no API exists for credential lifecycle) - SSH access to the PostgreSQL server (for dga init ) dga env > .env # Fill in credentials dga init # create guard DB, schema, enable RLS dga user create tim \ --access-key \ --project-id # register user, create catalog role dga allow tim --table customer --read-only dga allow tim --table orders --read-write duckdb -init init-tim.sql # verify: SHOW TABLES, SELECT, INSERT dga deny tim --table orders # revoke access dga user delete tim # remove user, scrub policies, drop role | Command | Description | |---|---| dga init | Create guard DB, schema, pg_hba, enable RLS | dga user create | Register user + S3 creds, create catalog role | dga user delete | Remove user, scrub policies, drop role | dga allow --table T | Grant read-only or read-write access | dga deny --table T | Revoke table access | dga sync | Converge S3 + RLS to match grant state | - Architecture: enforcement layers, transaction flow, sync convergence, module dependencies - Usage: setup, user management, granting and revoking access, DuckDB verification - Schema: database tables, generated columns, composite keys - Design decisions: why separate Hetzner projects, RLS limitations, policy size bundling - Development: running tests, linting, pre-commit checklist Need help deploying DuckLake to production? berndsen.io

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →