- アプリケーションリソース向けに、強力でコンテキスト認識型のアクセス制御ルールを定義できる権限管理レイヤー
- シンプルな YAML ポリシーで記述し、GitOps ベースのインフラを通じて管理・デプロイ可能
- Cerbos ポリシー決定ポイント(PDP, Policy Decision Point) をセルフホストし、高可用性 API を通じてポリシーを評価して動的なアクセス決定を実行
Cerbos の主な特徴
- ポリシーの作成とデプロイ:
- YAML 形式でポリシーを定義
- ディスク、クラウドオブジェクトストア、Git リポジトリ、またはデータベースを通じてポリシーを保存
- 拡張性と統合:
- K8s サービス、サイドカー、systemd サービス、AWS Lambda など、さまざまな環境でデプロイ可能
- サーバーレスおよびエッジデプロイに容易に統合可能
- 強力なポリシー管理機能:
- 単純な RBAC(Role-Based Access Control)を超えて ABAC(Attribute-Based Access Control)を実装
- 実行時のコンテキストデータを使って、きめ細かな条件評価が可能
コアコンセプト
- Principal: 操作を実行しようとする主体(例: ユーザー、アプリケーション、サービス)
- Action: 主体が実行しようとする操作(例: 作成、読み取り、更新、削除など)
- Resource: アクセス制御の対象(例: レポート、領収書、カード情報など)
- Policies: リソースごとのアクセスルールを定義する YAML ファイル
- Cerbos PDP:
- ポリシーを実行してアクセス決定を下す Stateless サービス
- 主な API:
- CheckResources: 特定の主体がリソースにアクセス可能かを確認
- PlanResources: 特定の主体がどのリソースにアクセス可能かを確認
- SDK とアダプター:
- さまざまなプログラミング言語をサポートする SDK を提供
PlanResources の応答をクエリに変換するアダプターを提供
活用事例
- RBAC -> ABAC 拡張:
- 実行時の条件評価によって動的なロール追加が可能
- 特定ユーザー向けの詳細なポリシーオーバーライドが可能
- コラボレーションとポリシー配布:
- Cerbos Hub を通じてチームと協力しながらポリシーを作成
- PDP フリート全体に効率よくポリシー更新を配布
- クラウドおよびエッジ環境との統合:
- クラウドベースのサービスおよびエッジデプロイに適している
まだコメントはありません。