lakekeeper/lakekeeper

Apache Iceberg REST Catalog in Rust — access control, credential vending and audit for every engine and AI agent. Apache 2.0.

解决的问题

Lakekeeper 为跨不同计算引擎管理 Apache Iceberg 表提供了一种安全、集中的方式。它消除了为每个引擎(如 Spark、Trino 或 Starrocks)重复定义访问控制规则的需要,确保安全策略在目录中定义一次,并在整个数据湖house中一致执行。

工作原理

它是 Apache Iceberg REST 目录规范的 Rust 实现。Lakekeeper 作为网关,会在读取数据前根据预定义策略检查每个请求。它使用发放的凭据和远程签名来管理主要云提供商(AWS、Azure、GCP)以及本地 S3 存储的存储访问。它与 OpenID 提供商集成以实现认证,并默认使用 OpenFGA 实现细粒度访问控制。

适用人群

需要在多个查询引擎之间统一、可扩展且安全地管理表元数据和访问权限的数据工程师和平台架构师。

主要亮点

  • 统一访问控制:定义一次安全策略,并在所有连接的计算引擎中强制执行。
  • Rust 驱动:以单个二进制文件形式交付,无需 JVM 或 Python 环境。
  • 存储无关:支持 S3、Azure ADLS Gen2、Google Cloud Storage 和 Microsoft OneLake。
  • 可扩展架构:提供用于自定义数据库实现、密钥存储、授权器和事件后端的 traits。
  • 变更追踪:内置支持发出 CloudEvents 以响应表变更。
  • 多租户:单个部署可服务多个项目和仓库。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目