spicedb - Google Zanzibar に触発されたオープンソースの権限データベース

(Open source permissions database inspired by Google Zanzibar)

Created at: 2021-08-16 23:32:09
Language: Go
License: Apache-2.0

スパイスDB

コンテナ イメージ ドキュメント ビルド ステータス CII のベスト プラクティス 不和サーバー ツイッター

SpiceDB は、Google のザンジバルペーパーに触発された、セキュリティ クリティカルなアプリケーションのアクセス許可を管理するためのオープン ソース データベース システムです。

開発者は、パーミッション要件をモデル化するスキーマを作成し、クライアント ライブラリを使用してスキーマをデータベースに適用し、データをデータベースに挿入し、データをクエリして、アプリケーションのパーミッションを効率的にチェックします。

SpiceDB を他のシステムと区別する機能は次のとおりです。

質問がありますか?Discordに参加してください。

貢献したいですか?CONTRIBUTING.mdを参照してください。

課題は、緊急未定の優先度で検索できます。良い創刊号もあります。

なぜ SpiceDB なのか?

検証可能な正しさ

アクセス許可の計算に使用されるデータには、ソフトウェア システム全体で最も重要な正確性要件があります。それにもかかわらず、開発者はそれぞれの新しいプロジェクトの内部コードに結合された独自のアドホック ソリューションを構築し続けています。SpiceDB スキーマを開発することで、アプリケーション コードを変更する前に、設計をはるかに迅速かつ徹底的にテストすることができます。これは、下位互換性のある変更をスキーマに導入し、システムの安全性を確保したい場合に特に重要になります。

最適な柔軟性

SpiceDB スキーマ言語は、オブジェクト間の関係のグラフの概念に基づいて構築されています。この ReBAC 設計は、すべての一般的なアクセス制御モデル ( RBACABACなど) と、ハイブリッド動作を含むカスタム モデルを効率的にサポートできます。

許可システムを開発するための最新のソリューションはすべて、アプリケーションからポリシーを分離するという同様の目標を持っています。SpiceDB のような専用データベースを使用すると、これが達成されるだけでなく、ポリシーが動作するデータを切り離すことによって、このアイデアをさらに一歩進めることができます。SpiceDB は、組織が所有する多くのアプリケーションで、アクセス許可の単一の統合ビューを共有するように設計されています。この戦略は業界のベスト プラクティスとなり、大企業 ( Google、GitHub、Airbnb ) および小規模企業 ( CartaAuthzed )で大きな成功を収めるために使用されています。

入門

SpiceDB のインストール

  • macOS と Linuxに自作でSpiceDB をインストールする
  • docker などのコンテナー エンジンを使用して SpiceDB コンテナーを実行する
  • KubernetesDocker Composeを使用して、本番環境に対応していないサンプルをデプロイする

独自のスキーマの開発

アプリケーションとの統合