cedar library

Core types and interfaces of the Cedar policy language in Dart.

Cedar is a policy language for defining and enforcing access control policies in a declarative way. It is used in Celest for ensuring that only authorized users meeting certain criteria can access your backend.

The actual implementation of the Cedar engine is in cedar_ffi, which uses FFI and Dart's native assets feature to bind to the Rust implementation of Cedar. This package only holds the Dart AST representation and is separate from package:cedar_ffi so that the types can be used without bundling the native assets of package:cedar_ffi.

Classes

ActionAll
ActionConstraint
ActionEquals
ActionIn
ActionInSet
AuthorizationDiagnostics
Detailed diagnostics for an authorization response.
AuthorizationErrors
The errors which caused a Decision.deny.
AuthorizationReason
Metadata describing why a policy contributed to a decision.
AuthorizationRequest
A request for authorization to a CedarEngine.
AuthorizationResponse
The response to a CedarAuthorizer request.
BoolValue
CedarActionAppliesTo
CedarActionSchema
CedarAuthorizer
CedarBooleanType
CedarDatetimeType
CedarDecimalType
CedarDurationType
CedarEntitySchema
CedarEntityType
CedarIpAddressType
CedarLongType
CedarNamespace
CedarRecordType
CedarSchema
Dart representation of a Cedar schema.
CedarSetType
CedarStringType
CedarType
CedarTypeDefinition
CedarTypeReference
Component
Condition
DatetimeExtensionRepr
Retains the original Cedar extension invocation for JSON round-tripping.
DatetimeValue
Cedar value that models an instant in time as milliseconds from Unix epoch.
DecimalValue
Cedar value that represents a fixed-scale decimal number.
DurationValue
Cedar value that represents a span of time measured in milliseconds.
Entity
Dart representation of a Cedar entity.
EntityUid
Unique ID for an entity, such as User::"alice".
EntityValue
ExtensionCall
LongValue
Policy
PolicyBuilder
PolicyConstraint
PolicyConstraintAll
PolicyConstraintEquals
PolicyConstraintIn
PolicyConstraintInSet
PolicyConstraintIs
PolicyConstraintIsIn
PolicySet
A collection of Cedar policies.
PolicySetBuilder
PrincipalAll
PrincipalConstraint
PrincipalEquals
PrincipalIn
PrincipalIs
PrincipalIsIn
RecordValue
ResourceAll
ResourceConstraint
ResourceEquals
ResourceIn
ResourceIs
ResourceIsIn
SetValue
StringValue
Value

Enums

AuthorizationErrorCategory
Broad categories describing authorization failures.
CedarVariable
ConditionKind
Decision
The decision of an authorization request.
Effect
SlotId

Extension Types

EntityId
Identifier portion of the EntityUid type.
EntityTypeName
Represents an entity type name. Consists of a namespace and the type name.