Cedar deviendra-t-il une lingua franca de l’IAM ?

AWS a publié le code de Cedar, projet associant un langage de définition de politiques d’accès et une spécification pour les contrôler.

Une belle vitrine pour Dafny ? Ce langage de programmation prenant en charge la spécification formelle est en tout cas au cœur 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.

projet Cedar

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 œuvre 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.

exemples

À 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 œuvre
Le W3C dit non à Google et Mozilla sur l’identité décentralisée

Illustration principale © TeacherPhoto – Adobe Stock