toplogo
Sign In

Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization


Core Concepts
Cedar is a new authorization policy language designed to be ergonomic, fast, safe, and analyzable, providing a better alternative to embedding access control logic in application code.
Abstract
  • Cedar is designed to externalize access control rules into policies, improving readability, auditability, and maintainability.
  • The policy structure of Cedar supports role-based, attribute-based, and relation-based access control models.
  • Cedar's design ensures safety, determinism, and efficiency in policy evaluation.
  • Cedar's validation process ensures policies are error-free and compliant with the defined schema.
edit_icon

Customize Summary

edit_icon

Rewrite with AI

edit_icon

Generate Citations

translate_icon

Translate Source

visual_icon

Generate MindMap

visit_icon

Visit Source

Stats
Cedar는 새로운 권한 정책 언어로 설계되었습니다. Cedar는 빠르고 안전하며 분석 가능한 권한 언어입니다. Cedar는 역할 기반, 속성 기반 및 관계 기반 액세스 제어 모델을 지원합니다.
Quotes
"Cedar is used at scale in products and services from Amazon Web Services." "Cedar's vocabulary can naturally express who has access to what based on users' roles and attributes of their environment."

Key Insights Distilled From

by Joseph Cutle... at arxiv.org 03-08-2024

https://arxiv.org/pdf/2403.04651.pdf
Cedar

Deeper Inquiries

어떻게 Cedar가 기존 언어와 비교하여 뛰어난 성능을 보이는가?

Cedar는 기존의 OpenFGA와 Rego와 비교했을 때 뛰어난 성능을 보입니다. Cedar는 정책을 빠르게 결정할 수 있도록 설계되어 있으며, 이는 Cedar의 정책이 어떤 요청에 대해 참인지 빠르게 결정할 수 있도록 하는 slice 함수를 활용함으로써 가능합니다. 또한 Cedar의 연산자 대부분이 상수 시간에 실행되고, 루프 구조는 선형이기 때문에 정책 평가 시간이 빠릅니다. 이러한 특징들은 Cedar가 기존 언어들보다 빠른 성능을 보이게 합니다.

Cedar의 안전성을 유지하면서 정책을 유연하게 작성하는 방법은 무엇인가?

Cedar는 정책을 유연하게 작성하면서도 안전하게 유지하기 위해 여러 가지 방법을 제공합니다. Cedar의 정책은 부작용이 없으며, 정책 평가 순서에 관계없이 결정이 이루어지므로 정책 작성자가 예기치 않은 결과를 피할 수 있습니다. 또한 Cedar는 기본적으로 deny by default 원칙을 따르며, forbid 정책은 permit 정책을 항상 우선시하여 최종 결정을 내립니다. 이러한 설계는 Cedar의 안전성을 유지하면서도 정책을 유연하게 작성할 수 있도록 도와줍니다.

Cedar의 정책 분석을 향상시키기 위해 어떤 도구나 방법이 추가로 사용될 수 있는가?

Cedar의 정책 분석을 더 향상시키기 위해 SMT(Satisfiability Modulo Theories)를 활용하는 방법이 있습니다. Cedar는 정책을 SMT로 변환하여 분석하고, SMT solver를 사용하여 정책의 동작에 대한 깊은 질문에 답할 수 있습니다. 이를 통해 Cedar의 정책이 동등한지 여부를 판단하거나, 두 개의 정책 집합이 동일한 요청에 대해 참인지 여부를 확인할 수 있습니다. 또한 Cedar의 정책 유효성을 검사하는 데 사용되는 스키마를 활용하여 정책을 더욱 안전하고 효율적으로 분석할 수 있습니다.
0
star