--- 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]]