Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization
Cedar is a new authorization policy language designed to be ergonomic, fast, safe, and analyzable. Rather than embed authorization logic in an application’s code, developers can write that logic as Cedar policies and delegate access decisions to Cedar’s evaluation engine. Cedar’s simple and intuitive syntax supports common authorization use-cases with readable policies, naturally leveraging concepts from role-based, attribute-based, and relation-based access control models. Cedar’s policy structure enables access requests to be decided quickly. Cedar’s policy validator leverages optional typing to help policy writers avoid mistakes, but not get in their way. Cedar’s design has been finely balanced to allow for a sound and complete logical encoding, which enables precise policy analysis, e.g., to ensure that when refactoring a set of policies, the authorized permissions do not change. We have modeled Cedar in the Lean programming language, and used Lean’s proof assistant to prove important properties of Cedar’s design. We have implemented Cedar in Rust, and released it open-source. Comparing Cedar to two open-source languages, OpenFGA and Rego, we find (subjectively) that Cedar has equally or more readable policies, but (objectively) performs far better.
Fri 25 OctDisplayed time zone: Pacific Time (US & Canada) change
13:50 - 15:30 | |||
13:50 20mTalk | Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization OOPSLA 2024 Joseph W. Cutler University of Pennsylvania, Craig Disselkoen Amazon Web Services, Aaron Eline Amazon Web Services, Shaobo He Amazon Web Services, Kyle Headley Unaffiliated, Michael Hicks Amazon Web Services and the University of Maryland, Kesha Hietala Amazon Web Services, Lef Ioannidis University of Pennsylvania, John Kastner Amazon Web Services, Anwar Mamat University of Maryland, Darin McAdams Amazon Web Services, Matt McCutchen Unaffiliated, Neha Rungta Amazon Web Services, Emina Torlak Amazon Web Services, USA, Andrew Wells Amazon Web Services DOI | ||
14:10 20mTalk | CoolerSpace: A Language for Physically Correct and Computationally Efficient Color Programming OOPSLA 2024 Ethan Chen University of Rochester, Jiwon Chang University of Rochester, Yuhao Zhu University of Rochester DOI | ||
14:30 20mTalk | Design and Implementation of an Aspect-Oriented C Programming Language OOPSLA 2024 Zhe Chen Nanjing University of Aeronautics and Astronautics, Yunlong Zhu Nanjing University of Aeronautics and Astronautics, Zhemin Wang Nanjing University of Aeronautics and Astronautics DOI | ||
14:50 20mTalk | On the Expressive Power of Languages for Static VariabilityOOPSLA 2024 Distinguished Artifact Award OOPSLA 2024 Paul Maximilian Bittner Paderborn University, Alexander Schultheiß Paderborn University, Benjamin Moosherr University of Ulm, Jeffrey Young IOHK, Leopoldo Teixeira Federal University of Pernambuco, Eric Walkingshaw Unaffiliated, Parisa Ataei Oregon State University, Thomas Thüm Paderborn University Link to publication DOI Pre-print Media Attached | ||
15:10 20mTalk | QuAC: Quick Attribute-Centric Type Inference for Python OOPSLA 2024 DOI Pre-print |