pub struct StepUpPolicy {
pub enabled: bool,
pub floors: Vec<StepUpFloor>,
}Expand description
The relying party’s system-wide step-up policy.
Ships disabled. A freshly-provisioned VTA has no registered approver
and could not otherwise be administered (it could not even register the
first approver), so until an operator turns it on every operation proceeds
at AAL1. Mirrors the auth/step-up/policy/0.1 payload; the VTA serializes
it under [auth.step_up] in its config.
Fields§
§enabled: boolMaster switch. false (the default) ⇒ step-up is NOT enforced
anywhere; every operation proceeds at AAL1 regardless of floors.
floors: Vec<StepUpFloor>Per-operation-class floors. Empty ⇒ nothing is gated even when
enabled.
Implementations§
Source§impl StepUpPolicy
impl StepUpPolicy
Sourcepub fn floor_for(&self, operation: &str) -> StepUpMode
pub fn floor_for(&self, operation: &str) -> StepUpMode
Resolve the system-floor mode for an operation-class: the most
specific matching floor, else the * catch-all, else None. Always
None when the policy is disabled.
Sourcepub fn floor_record(&self, operation: &str) -> Option<&StepUpFloor>
pub fn floor_record(&self, operation: &str) -> Option<&StepUpFloor>
The matching floor record (exact match preferred over the *
catch-all), or None when disabled or unmatched. Carries the
allow_aal1_if_non_escalating flag for the carve-out.
Trait Implementations§
Source§impl Clone for StepUpPolicy
impl Clone for StepUpPolicy
Source§fn clone(&self) -> StepUpPolicy
fn clone(&self) -> StepUpPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StepUpPolicy
impl Debug for StepUpPolicy
Source§impl Default for StepUpPolicy
impl Default for StepUpPolicy
Source§fn default() -> StepUpPolicy
fn default() -> StepUpPolicy
Source§impl<'de> Deserialize<'de> for StepUpPolicy
impl<'de> Deserialize<'de> for StepUpPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for StepUpPolicy
Source§impl PartialEq for StepUpPolicy
impl PartialEq for StepUpPolicy
Source§impl Serialize for StepUpPolicy
impl Serialize for StepUpPolicy
impl StructuralPartialEq for StepUpPolicy
Auto Trait Implementations§
impl Freeze for StepUpPolicy
impl RefUnwindSafe for StepUpPolicy
impl Send for StepUpPolicy
impl Sync for StepUpPolicy
impl Unpin for StepUpPolicy
impl UnsafeUnpin for StepUpPolicy
impl UnwindSafe for StepUpPolicy
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
Source§impl<T> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<T>
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Clear for Twhere
T: InitializableFromZeroed + ?Sized,
impl<T> Clear for Twhere
T: InitializableFromZeroed + ?Sized,
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
impl<'de, T, C> DeserializeTyped<'de, C> for Twhere
T: Deserialize<'de>,
fn deserialize_typed<S>(
_: &C,
deserializer: S,
) -> Result<T, <S as Deserializer<'de>>::Error>where
S: Deserializer<'de>,
impl<T, U> DeserializeTypedOwned<T> for Uwhere
U: for<'de> DeserializeTyped<'de, T>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
fn equivalent(&self, key: &K) -> bool
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> InitializableFromZeroed for Twhere
T: Default,
impl<T> InitializableFromZeroed for Twhere
T: Default,
Source§unsafe fn initialize(place: *mut T)
unsafe fn initialize(place: *mut T)
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, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ResourceProvider<()> for T
impl<T> ResourceProvider<()> for T
Source§fn get_resource(&self) -> &()
fn get_resource(&self) -> &()
T.