pub struct SecurityPolicy {
pub require_auth: bool,
pub access: AccessPolicy,
pub rate_limits: RateLimitPolicy,
pub session: SessionPolicy,
pub blocklist: Vec<BlocklistEntry>,
}Expand description
Per-VM security configuration, provisioned on the config drive.
Controls authentication requirements, access permissions, rate limiting, and session lifecycle. Immutable after VM boot.
Default: require_auth = true — authentication is required unless
explicitly opted out for dev/testing via SecurityPolicy::dev_defaults().
Fields§
§require_auth: boolRequire authenticated vsock frames. Default: true. Set to false only for dev/testing environments.
access: AccessPolicyAccess control toggles.
rate_limits: RateLimitPolicyFrame rate limiting configuration.
session: SessionPolicySession lifecycle limits.
blocklist: Vec<BlocklistEntry>Command blocklist entries for the gate.
Implementations§
Source§impl SecurityPolicy
impl SecurityPolicy
Sourcepub fn dev_defaults() -> Self
pub fn dev_defaults() -> Self
Permissive defaults for development and testing environments. Authentication is disabled and console access is enabled.
Trait Implementations§
Source§impl Clone for SecurityPolicy
impl Clone for SecurityPolicy
Source§fn clone(&self) -> SecurityPolicy
fn clone(&self) -> SecurityPolicy
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SecurityPolicy
impl Debug for SecurityPolicy
Source§impl Default for SecurityPolicy
impl Default for SecurityPolicy
Source§impl<'de> Deserialize<'de> for SecurityPolicy
impl<'de> Deserialize<'de> for SecurityPolicy
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SecurityPolicy
impl RefUnwindSafe for SecurityPolicy
impl Send for SecurityPolicy
impl Sync for SecurityPolicy
impl Unpin for SecurityPolicy
impl UnsafeUnpin for SecurityPolicy
impl UnwindSafe for SecurityPolicy
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