Initial vault setup
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
---
|
||||
title: Cerbos
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, authorization, rbac, abac, go]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Authentication, https://github.com/cerbos/cerbos]
|
||||
---
|
||||
|
||||
# 🔐 Cerbos
|
||||
|
||||
> Service d'**authorization** (RBAC/ABAC) découplé des applications, avec politique déclarative YAML/Rego, **PAS** un service d'authentification.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Attribut | Valeur |
|
||||
|----------|--------|
|
||||
| **Nom** | Cerbos |
|
||||
| **Slug** | app-cerbos |
|
||||
| **Description** | Authorization as a Service (RBAC/ABAC) |
|
||||
| **Site officiel** | https://cerbos.dev |
|
||||
| **Repository** | https://github.com/cerbos/cerbos |
|
||||
| **Stars** | 4 444 ⭐ |
|
||||
| **Licence** | Apache 2.0 |
|
||||
| **Langage principal** | Go |
|
||||
| **Catégorie** | Authentication (Authorization en réalité) |
|
||||
| **Tags** | [catalogue, authorization, rbac, abac, go] |
|
||||
|
||||
## 📝 Description
|
||||
**⚠️ Note importante** : Cerbos n'est **PAS un serveur d'authentification (SSO/IdM)**. C'est un service d'**authorization** (autorisation). Il s'inscrit dans la même catégorie que **Open Policy Agent (OPA)**, **Casbin** ou **SpiceDB**, et **PAS** avec Keycloak/Authelia/authentik.
|
||||
|
||||
Cerbos répond à la question : *"Étant donné un utilisateur X, une action Y et une ressource Z, est-ce que l'accès est autorisé ?"* Il implémente **RBAC** (Role-Based Access Control) et **ABAC** (Attribute-Based Access Control) de manière **déclarative**, avec des **politiques** écrites en **YAML** (langage propre) ou **Rego** (langage OPA, supporté).
|
||||
|
||||
Cerbos se distingue par son **API simple** (`/check`, `/resources`, `/plan`), son **mode sidecar/embedded/managed**, son **SDK** (Go, Java, Python, Node.js, etc.) et son **admin UI** (Cerbos Hub en option payante). C'est le choix idéal pour des applications modernes qui veulent externaliser l'**authorization** sans réinventer la roue.
|
||||
|
||||
## 🚀 Installation
|
||||
### Via Docker (recommandé)
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
cerbos:
|
||||
image: ghcr.io/cerbos/cerbos:latest
|
||||
command: server --config=/conf/config.yaml
|
||||
ports:
|
||||
- "3592:3592" # HTTP API
|
||||
- "3593:3593" # gRPC API
|
||||
volumes:
|
||||
- ./cerbos-conf:/conf
|
||||
- ./cerbos-policies:/policies
|
||||
```
|
||||
|
||||
### Installation manuelle
|
||||
Binaire Go téléchargeable, ou SDK embedded dans une app Go (`cerbos.svc.NewServer(...)`).
|
||||
|
||||
## ⚙️ Configuration
|
||||
- **Policies** : fichiers YAML dans `/policies`
|
||||
- **Storage** : disque local, Git, S3, GCS, Blob
|
||||
- **Schema** : définition des ressources (Resource Policy)
|
||||
- **Derived Roles** : rôles calculés dynamiquement
|
||||
- **Principals** : attributs utilisateur passés en contexte
|
||||
- **Audit Log** : historique des décisions
|
||||
|
||||
## 🔗 Alternatives
|
||||
- **Open Policy Agent (OPA)** — Moteur de policies Rego, plus généraliste
|
||||
- **Casbin** — Librairie d'authz in-process
|
||||
- **SpiceDB** — Authz basé sur Google Zanzibar
|
||||
- **Keycloak Authorization Services** — Authz intégré à Keycloak
|
||||
|
||||
## 🔒 Sécurité
|
||||
- Isoler l'API Cerbos sur un **réseau privé** (port 3592/3593)
|
||||
- Activer **TLS** sur gRPC
|
||||
- Versionner les **policies** dans Git (audit, rollback)
|
||||
- Ne **jamais** exposer Cerbos directement sur Internet sans auth
|
||||
- Coupler Cerbos avec un **IdM/SSO** (Keycloak, authentik) pour l'**authentification**
|
||||
|
||||
## 📚 Ressources
|
||||
- Site officiel : https://cerbos.dev
|
||||
- Repository GitHub : https://github.com/cerbos/cerbos
|
||||
- Documentation : https://docs.cerbos.dev
|
||||
|
||||
## 🔗 Pages Liées
|
||||
- [[cat-authentication]] (n'existe pas encore, OK) — Catégorie imprécise, c'est de l'authorization
|
||||
- [[app-keycloak]] — IdM/SSO (couplage naturel pour l'auth)
|
||||
- [[app-authentik]] — IdM moderne (couplage pour l'auth)
|
||||
- [[app-open-policy-agent]] (n'existe pas encore) — Concurrent direct
|
||||
- [[recettes-docker-compose]]
|
||||
- [[securisation-home-lab]]
|
||||
Reference in New Issue
Block a user