Crate scuffle_cedar_policy

Source
Expand description

Cedar is a policy language used to express permisisons using a relationship model.

This crate extends the cedar-policy crate by adding some type safe traits and a code generator crate scuffle-cedar-policy-codegen which can be used to generate types from a cedar schema file.

You can then use this in combo with cedar to have type-safe schema evaluation.

See the changelog for a full release history.

§Feature flags

No documented features in Cargo.toml

§License

This project is licensed under the MIT or Apache-2.0 license. You can choose between one of them if you use this work.

SPDX-License-Identifier: MIT OR Apache-2.0

Modules§

changelog
Changelogs generated by scuffle_changelog

Enums§

CedarActionRequestError
An error that can occur when building a requst from a CedarAction.

Structs§

EntitiesBuilder
A request builder used to construct a cedar_policy::Entities.
Entity
A cedar entity
EntityBuilder
Use builder syntax to set the inputs and finish with build().
EntityUid
An entity ref is used by entities to refer to another entity.
EntityTypeName
A compile time checked entity type name

Traits§

CedarAction
A trait defining a relationship between a cedar action its principal and resource.
CedarActionEntity
A trait which defines a action entity for a specific type.
CedarChild
A trait defining a relationship between two cedar entities or two cedar actions. This is used to construct entity parents or action groups.
CedarEntity
A trait defining an entity.
CedarEnumEntity
A special trait for enum style entities.
CedarId
A type which can be used as a CedarId

Structs§

EmptyContext
A type used by crate::CedarAction::Context to indicate that no context is provided.
NoAttributes
A type used by crate::CedarEntity::Attrs to indicate that the entity has no attributes.

Enums§

NoTag
A type used by crate::CedarEntity::TagType to indicate that no tag is provided.

Macros§

entity_type_name
A macro for creating a compile time checked entity type name