Cedar deviendra-t-il une lingua franca de l'IAM ?
Une belle vitrine pour Dafny ? Ce langage de programmation prenant en charge la spécification formelle est en tout cas au coeur de Cedar.
Le projet émane d'AWS, qui vient d'en publier le code - sous licence Apache 2.0. Son principe, dans les grandes lignes : un langage pour définir des politiques d'accès réutilisables (indépendantes du code des applications) et une spécification pour les contrôler. Une forme d'IAM interopérable.
La structure de Cedar se fonde sur trois éléments-clés :
- Les « effets » (autorisation ou interdiction des accès)
- Le « périmètre » (utilisateurs, actions et ressources concernées)
- Les conditions (de type when et unless)
Cedar pas encore intégré au-delà d'AWS
La logique d'évaluation est la même que sur l'IAM d'AWS. Tout accès nécessite au moins une autorisation explicite et toute interdiction a la priorité sur les autorisations.
La notion de périmètre permet d'appliquer une forme de contrôle basé sur les rôles (regroupement d'utilisateurs, d'actions et de ressources). Les conditions, plus flexibles grâce à divers opérateurs (comparaison, évaluation booléenne et collecte), permettent la mise en oeuvre d'un contrôle basé sur les attributs.
Deux services actuellement en version préliminaire utilisent Cedar. D'une part, Amazon Verified Permissions (gestion des permissions). De l'autre, AWS Verified Access (connectivité sécurisée aux applications d'entreprise sans VPN).
Cedar est implémenté en Rust et propose aussi une API Java. Il permet de créer des politiques statiques ou liées à des modèles. Plusieurs exemples d'applications sont disponibles pour se familiariser à la syntaxe.
À consulter pour davantage de contexte :
Pas de gestion des accès sans IAM ?
Zero trust : 3 méthodes et 5 technologies pour le mettre en oeuvre
Le W3C dit non à Google et Mozilla sur l'identité décentralisée
Illustration principale © TeacherPhoto - Adobe Stock
Sur le même thème
Voir tous les articles Cybersécurité