pub struct CedarPolicyEvaluator { /* private fields */ }Expand description
Local Cedar policy evaluator.
Uses the cedar-policy crate for in-process policy evaluation.
Implementations§
Source§impl CedarPolicyEvaluator
impl CedarPolicyEvaluator
Sourcepub fn new(config: CedarPolicyConfig) -> Result<Self, PolicyEvaluationError>
pub fn new(config: CedarPolicyConfig) -> Result<Self, PolicyEvaluationError>
Create a new evaluator from config.
Sourcepub fn graphql_default() -> Result<Self, PolicyEvaluationError>
pub fn graphql_default() -> Result<Self, PolicyEvaluationError>
Create a default evaluator for GraphQL Code Mode using built-in schemas and policies.
Trait Implementations§
Source§impl PolicyEvaluator for CedarPolicyEvaluator
impl PolicyEvaluator for CedarPolicyEvaluator
Source§fn evaluate_operation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
operation: &'life1 OperationEntity,
server_config: &'life2 ServerConfigEntity,
) -> Pin<Box<dyn Future<Output = Result<AuthorizationDecision, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn evaluate_operation<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
operation: &'life1 OperationEntity,
server_config: &'life2 ServerConfigEntity,
) -> Pin<Box<dyn Future<Output = Result<AuthorizationDecision, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Evaluate a GraphQL operation against policies.
Source§fn evaluate_script<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_script: &'life1 ScriptEntity,
_server: &'life2 OpenAPIServerEntity,
) -> Pin<Box<dyn Future<Output = Result<AuthorizationDecision, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn evaluate_script<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_script: &'life1 ScriptEntity,
_server: &'life2 OpenAPIServerEntity,
) -> Pin<Box<dyn Future<Output = Result<AuthorizationDecision, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Evaluate a JavaScript script against policies (OpenAPI Code Mode).
Default: denies all scripts (override for OpenAPI support).
Source§fn evaluate_statement<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_statement: &'life1 StatementEntity,
_server: &'life2 SqlServerEntity,
) -> Pin<Box<dyn Future<Output = Result<AuthorizationDecision, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn evaluate_statement<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_statement: &'life1 StatementEntity,
_server: &'life2 SqlServerEntity,
) -> Pin<Box<dyn Future<Output = Result<AuthorizationDecision, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Evaluate a SQL statement against policies (SQL Code Mode).
Default: denies all statements (override for SQL support).
Source§fn batch_evaluate<'life0, 'async_trait>(
&'life0 self,
requests: Vec<(OperationEntity, ServerConfigEntity)>,
) -> Pin<Box<dyn Future<Output = Result<Vec<AuthorizationDecision>, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn batch_evaluate<'life0, 'async_trait>(
&'life0 self,
requests: Vec<(OperationEntity, ServerConfigEntity)>,
) -> Pin<Box<dyn Future<Output = Result<Vec<AuthorizationDecision>, PolicyEvaluationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Batch evaluation (default: sequential).
Source§fn is_configured(&self) -> bool
fn is_configured(&self) -> bool
Whether this evaluator is configured and ready.
Auto Trait Implementations§
impl Freeze for CedarPolicyEvaluator
impl !RefUnwindSafe for CedarPolicyEvaluator
impl Send for CedarPolicyEvaluator
impl Sync for CedarPolicyEvaluator
impl Unpin for CedarPolicyEvaluator
impl UnsafeUnpin for CedarPolicyEvaluator
impl !UnwindSafe for CedarPolicyEvaluator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.