Documentation ¶
Overview ¶
Code generated by https://github.com/GoComply/metaschema; DO NOT EDIT.
Code generated by https://github.com/GoComply/metaschema; DO NOT EDIT. Multiplexers are indirect models needed for serialization/deserialization as json and xml files differ materially in their structure.
Index ¶
- type AdjustmentJustification
- type Annotation
- type AnnotationMultiplexer
- type AuthorizationBoundary
- type AuthorizedPrivilege
- type AvailabilityImpact
- type BackMatter
- type Base
- type ByComponent
- type ByComponentMultiplexer
- type Caption
- type Component
- type ComponentMultiplexer
- type ConfidentialityImpact
- type ControlImplementation
- type DataFlow
- type DateAuthorized
- type Description
- type Diagram
- type DiagramMultiplexer
- type Export
- type FunctionPerformed
- type ImplementedComponent
- type ImplementedComponentMultiplexer
- type ImplementedRequirement
- type ImportProfile
- type InformationType
- type InformationTypeId
- type InformationTypeIdMultiplexer
- type Inherited
- type InheritedMultiplexer
- type IntegrityImpact
- type InventoryItem
- type InventoryItemMultiplexer
- type LeveragedAuthorization
- type Link
- type Markup
- type Metadata
- type NetworkArchitecture
- type PartyUuid
- type PortRange
- type Prop
- type Protocol
- type Provided
- type ProvidedMultiplexer
- type Purpose
- type Remarks
- type Responsibility
- type ResponsibilityMultiplexer
- type ResponsibleParty
- type ResponsiblePartyMultiplexer
- type ResponsibleRole
- type ResponsibleRoleMultiplexer
- type RoleId
- type Satisfied
- type SatisfiedMultiplexer
- type SecurityImpactLevel
- type SecurityObjectiveAvailability
- type SecurityObjectiveConfidentiality
- type SecurityObjectiveIntegrity
- type SecuritySensitivityLevel
- type Selected
- type SetParameter
- type SetParameterMultiplexer
- type ShortName
- type Statement
- type StatementMultiplexer
- type Status
- type SystemCharacteristics
- type SystemId
- type SystemImplementation
- type SystemInformation
- type SystemInventory
- type SystemName
- type SystemNameShort
- type SystemSecurityPlan
- type Title
- type User
- type UserMultiplexer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdjustmentJustification ¶
type AdjustmentJustification = Markup
If the selected security level is different from the base security level, this contains the justification for the change.
type Annotation ¶
type Annotation = validation_root.Annotation
type AnnotationMultiplexer ¶
type AnnotationMultiplexer []Annotation
func (*AnnotationMultiplexer) MarshalJSON ¶
func (mplex *AnnotationMultiplexer) MarshalJSON() ([]byte, error)
func (*AnnotationMultiplexer) UnmarshalJSON ¶
func (mplex *AnnotationMultiplexer) UnmarshalJSON(b []byte) error
type AuthorizationBoundary ¶
type AuthorizationBoundary struct { // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A visual depiction of the system's authorization boundary. Diagrams DiagramMultiplexer `xml:"diagram,omitempty" json:"diagrams,omitempty"` // Commentary about the system's authorization boundary that enhances the diagram. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A description of this system's authorization boundary, optionally supplemented by diagrams that illustrate the authorization boundary.
type AuthorizedPrivilege ¶
type AuthorizedPrivilege struct { // A human readable name for the privilege. Title *Title `xml:"title,omitempty" json:"title,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // Describes a function performed for a given authorized privilege by this user class. FunctionsPerformed []FunctionPerformed `xml:"function-performed,omitempty" json:"functions-performed,omitempty"` }
Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.
type AvailabilityImpact ¶
type AvailabilityImpact struct { // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // The prescribed base (Confidentiality, Integrity, or Availability) security impact level. Base Base `xml:"base,omitempty" json:"base,omitempty"` // The selected (Confidentiality, Integrity, or Availability) security impact level. Selected Selected `xml:"selected,omitempty" json:"selected,omitempty"` // If the selected security level is different from the base security level, this contains the justification for the change. AdjustmentJustification *AdjustmentJustification `xml:"adjustment-justification,omitempty" json:"adjustment-justification,omitempty"` }
The expected level of impact resulting from the disruption of access to or use of information or the information system.
type BackMatter ¶
type BackMatter = validation_root.BackMatter
type ByComponent ¶
type ByComponent struct { // A reference to the component that is implementing a given control or control statement. ComponentUuid string `xml:"component-uuid,attr,omitempty" json:"component-uuid,omitempty"` // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // Identifies content intended for external consumption, such as with leveraged organizations. Export *Export `xml:"export,omitempty" json:"export,omitempty"` // Describes a responsibiity imposed on a leveraging system. InheritedGroup InheritedMultiplexer `xml:"inherited,omitempty" json:"inherited-group,omitempty"` // Describes how this system satisfies a responsibiity imposed by a leveraged system. SatisfiedGroup SatisfiedMultiplexer `xml:"satisfied,omitempty" json:"satisfied-group,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to one or more roles with responsibility for performing a function relative to the control. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` // Identifies the parameter that will be filled in by the enclosed value element. ParameterSettings SetParameterMultiplexer `xml:"set-parameter,omitempty" json:"parameter-settings,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Defines how the referenced component implements a set of controls.
func (*ByComponent) SetUuid ¶
func (bc *ByComponent) SetUuid(uuid string)
type ByComponentMultiplexer ¶
type ByComponentMultiplexer []ByComponent
func (*ByComponentMultiplexer) MarshalJSON ¶
func (mplex *ByComponentMultiplexer) MarshalJSON() ([]byte, error)
func (*ByComponentMultiplexer) UnmarshalJSON ¶
func (mplex *ByComponentMultiplexer) UnmarshalJSON(b []byte) error
type Component ¶
type Component struct { // The unique identifier for the component. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A category describing the purpose of the component. ComponentType string `xml:"component-type,attr,omitempty" json:"component-type,omitempty"` // A human readable name for the system component. Title *Title `xml:"title,omitempty" json:"title,omitempty"` // A description of the component, including information about its function. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A summary of the technological or business purpose of the component. Purpose *Purpose `xml:"purpose,omitempty" json:"purpose,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // Describes the operational status of the system. Status *Status `xml:"status,omitempty" json:"status,omitempty"` // Defines a role that has responsibility for the component. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` // Used for components to define the protocols supported by the service. Protocols []Protocol `xml:"protocol,omitempty" json:"protocols,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A defined component that can be part of an implemented system.
type ComponentMultiplexer ¶
type ComponentMultiplexer []Component
func (*ComponentMultiplexer) MarshalJSON ¶
func (mplex *ComponentMultiplexer) MarshalJSON() ([]byte, error)
func (*ComponentMultiplexer) UnmarshalJSON ¶
func (mplex *ComponentMultiplexer) UnmarshalJSON(b []byte) error
type ConfidentialityImpact ¶
type ConfidentialityImpact struct { // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // The prescribed base (Confidentiality, Integrity, or Availability) security impact level. Base Base `xml:"base,omitempty" json:"base,omitempty"` // The selected (Confidentiality, Integrity, or Availability) security impact level. Selected Selected `xml:"selected,omitempty" json:"selected,omitempty"` // If the selected security level is different from the base security level, this contains the justification for the change. AdjustmentJustification *AdjustmentJustification `xml:"adjustment-justification,omitempty" json:"adjustment-justification,omitempty"` }
The expected level of impact resulting from the unauthorized disclosure of information.
type ControlImplementation ¶
type ControlImplementation struct { // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // Describes how the system satisfies an individual control. ImplementedRequirements []ImplementedRequirement `xml:"implemented-requirement,omitempty" json:"implemented-requirements,omitempty"` }
Describes how the system satisfies a set of controls.
type DataFlow ¶
type DataFlow struct { // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A graphic that provides a visual representation the system, or some aspect of it. Diagrams DiagramMultiplexer `xml:"diagram,omitempty" json:"diagrams,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A description of the logical flow of information within the system and across its boundaries, optionally supplemented by diagrams that illustrate these flows.
type DateAuthorized ¶
type DateAuthorized string
type Description ¶
type Description = validation_root.Description
type Diagram ¶
type Diagram struct { // The identifier for this diagram. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A description of the diagram (e.g., alternate text). This can be used to support compliance with requirements from Section 508 of the United States Workforce Rehabilitation Act of 1973. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A brief caption to annotate the diagram. Caption *Caption `xml:"caption,omitempty" json:"caption,omitempty"` // Commentary about the diagram that enhances it. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A graphic that provides a visual representation the system, or some aspect of it.
type DiagramMultiplexer ¶
type DiagramMultiplexer []Diagram
func (*DiagramMultiplexer) MarshalJSON ¶
func (mplex *DiagramMultiplexer) MarshalJSON() ([]byte, error)
func (*DiagramMultiplexer) UnmarshalJSON ¶
func (mplex *DiagramMultiplexer) UnmarshalJSON(b []byte) error
type Export ¶
type Export struct { // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations AnnotationMultiplexer `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // Describes a capability which may be inherited by a leveraging system. ProvidedGroup ProvidedMultiplexer `xml:"provided,omitempty" json:"provided-group,omitempty"` // Describes a responsibiity imposed on a leveraging system. Responsibilities ResponsibilityMultiplexer `xml:"responsibility,omitempty" json:"responsibilities,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Identifies content intended for external consumption, such as with leveraged organizations.
type FunctionPerformed ¶
type FunctionPerformed string
type ImplementedComponent ¶
type ImplementedComponent struct { // A reference to a component that is implemented as part of an inventory item. ComponentUuid string `xml:"component-uuid,attr,omitempty" json:"component-uuid,omitempty"` // The type of implementation Use string `xml:"use,attr,omitempty" json:"use,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to a set of organizations or persons that have responsibility for performing a referenced role relative to the parent context. ResponsibleParties ResponsiblePartyMultiplexer `xml:"responsible-party,omitempty" json:"responsible-parties,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
The set of componenets that are implemented in a given system inventory item.
type ImplementedComponentMultiplexer ¶
type ImplementedComponentMultiplexer []ImplementedComponent
func (*ImplementedComponentMultiplexer) MarshalJSON ¶
func (mplex *ImplementedComponentMultiplexer) MarshalJSON() ([]byte, error)
func (*ImplementedComponentMultiplexer) UnmarshalJSON ¶
func (mplex *ImplementedComponentMultiplexer) UnmarshalJSON(b []byte) error
type ImplementedRequirement ¶
type ImplementedRequirement struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A reference to a control identifier. ControlId string `xml:"control-id,attr,omitempty" json:"control-id,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // Defines how the referenced component implements a set of controls. ByComponents ByComponentMultiplexer `xml:"by-component,omitempty" json:"by-components,omitempty"` // A reference to one or more roles with responsibility for performing a function relative to the control. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` // Identifies the parameter that will be filled in by the enclosed value element. ParameterSettings SetParameterMultiplexer `xml:"set-parameter,omitempty" json:"parameter-settings,omitempty"` // Identifies which statements within a control are addressed. Statements StatementMultiplexer `xml:"statement,omitempty" json:"statements,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Describes how the system satisfies an individual control.
func (*ImplementedRequirement) SetUuid ¶
func (ir *ImplementedRequirement) SetUuid(uuid string)
type ImportProfile ¶
type ImportProfile struct { // A link to a document or document fragment (actual, nominal or projected) Href string `xml:"href,attr,omitempty" json:"href,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Used to import the OSCAL profile representing the system's control baseline.
type InformationType ¶
type InformationType struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A human readable name for the information type. This title should be meaningful within the context of the system. Title *Title `xml:"title,omitempty" json:"title,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // An identifier qualified by the given identification used, such as NIST SP 800-60. InformationTypeIds InformationTypeIdMultiplexer `xml:"information-type-id,omitempty" json:"information-type-ids,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // The expected level of impact resulting from the unauthorized disclosure of information. ConfidentialityImpact *ConfidentialityImpact `xml:"confidentiality-impact,omitempty" json:"confidentiality-impact,omitempty"` // The expected level of impact resulting from the unauthorized modification of information. IntegrityImpact *IntegrityImpact `xml:"integrity-impact,omitempty" json:"integrity-impact,omitempty"` // The expected level of impact resulting from the disruption of access to or use of information or the information system. AvailabilityImpact *AvailabilityImpact `xml:"availability-impact,omitempty" json:"availability-impact,omitempty"` }
Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in .
type InformationTypeId ¶
type InformationTypeId struct { // Specifies the information type identification system used. System string `xml:"system,attr,omitempty" json:"system,omitempty"` Id string `xml:",chardata" json:"id"` }
An identifier qualified by the given identification used, such as NIST SP 800-60.
type InformationTypeIdMultiplexer ¶
type InformationTypeIdMultiplexer []InformationTypeId
func (*InformationTypeIdMultiplexer) MarshalJSON ¶
func (mplex *InformationTypeIdMultiplexer) MarshalJSON() ([]byte, error)
func (*InformationTypeIdMultiplexer) UnmarshalJSON ¶
func (mplex *InformationTypeIdMultiplexer) UnmarshalJSON(b []byte) error
type Inherited ¶
type Inherited struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // Identifies a 'provided' assembly associated with this assembly. ProvidedUuid string `xml:"provided-uuid,attr,omitempty" json:"provided-uuid,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations AnnotationMultiplexer `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to one or more roles with responsibility for performing a function relative to the control. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` }
Describes a responsibiity imposed on a leveraging system.
type InheritedMultiplexer ¶
type InheritedMultiplexer []Inherited
func (*InheritedMultiplexer) MarshalJSON ¶
func (mplex *InheritedMultiplexer) MarshalJSON() ([]byte, error)
func (*InheritedMultiplexer) UnmarshalJSON ¶
func (mplex *InheritedMultiplexer) UnmarshalJSON(b []byte) error
type IntegrityImpact ¶
type IntegrityImpact struct { // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // The prescribed base (Confidentiality, Integrity, or Availability) security impact level. Base Base `xml:"base,omitempty" json:"base,omitempty"` // The selected (Confidentiality, Integrity, or Availability) security impact level. Selected Selected `xml:"selected,omitempty" json:"selected,omitempty"` // If the selected security level is different from the base security level, this contains the justification for the change. AdjustmentJustification *AdjustmentJustification `xml:"adjustment-justification,omitempty" json:"adjustment-justification,omitempty"` }
The expected level of impact resulting from the unauthorized modification of information.
type InventoryItem ¶
type InventoryItem struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // Organizational asset identifier that is unique in the context of the system. This may be a reference to the identifier used in an asset tracking system or a vulnerability scanning tool. AssetId string `xml:"asset-id,attr,omitempty" json:"asset-id,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to a set of organizations or persons that have responsibility for performing a referenced role relative to the parent context. ResponsibleParties ResponsiblePartyMultiplexer `xml:"responsible-party,omitempty" json:"responsible-parties,omitempty"` // The set of componenets that are implemented in a given system inventory item. ImplementedComponents ImplementedComponentMultiplexer `xml:"implemented-component,omitempty" json:"implemented-components,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A single managed inventory item within the system.
type InventoryItemMultiplexer ¶
type InventoryItemMultiplexer []InventoryItem
func (*InventoryItemMultiplexer) MarshalJSON ¶
func (mplex *InventoryItemMultiplexer) MarshalJSON() ([]byte, error)
func (*InventoryItemMultiplexer) UnmarshalJSON ¶
func (mplex *InventoryItemMultiplexer) UnmarshalJSON(b []byte) error
type LeveragedAuthorization ¶
type LeveragedAuthorization struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A human readable name for the leveraged authorization in the context of the system. Title *Title `xml:"title,omitempty" json:"title,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to the party that manages the leveraged system. PartyUuid PartyUuid `xml:"party-uuid,omitempty" json:"party-uuid,omitempty"` // The date this system received its authorization. DateAuthorized DateAuthorized `xml:"date-authorized,omitempty" json:"date-authorized,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a .
type Link ¶
type Link = validation_root.Link
type Markup ¶
type Markup = validation_root.Markup
type Metadata ¶
type Metadata = validation_root.Metadata
type NetworkArchitecture ¶
type NetworkArchitecture struct { // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A graphic that provides a visual representation the system, or some aspect of it. Diagrams DiagramMultiplexer `xml:"diagram,omitempty" json:"diagrams,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A description of the system's network architecture, optionally supplemented by diagrams that illustrate the network architecture.
type PartyUuid ¶
type PartyUuid = validation_root.PartyUuid
type PortRange ¶
type PortRange struct { // Indicates the starting port number in a port range Start uint64 `xml:"start,attr,omitempty" json:"start,omitempty"` // Indicates the ending port number in a port range End uint64 `xml:"end,attr,omitempty" json:"end,omitempty"` // Indicates the transport type. Transport string `xml:"transport,attr,omitempty" json:"transport,omitempty"` }
Where applicable this is the IPv4 port range on which the service operates.
type Prop ¶
type Prop = validation_root.Prop
type Protocol ¶
type Protocol struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // The short name of the protocol (e.g., TLS). Name string `xml:"name,attr,omitempty" json:"name,omitempty"` // A human readable name for the protocol (e.g., Transport Layer Security). Title *Title `xml:"title,omitempty" json:"title,omitempty"` // Where applicable this is the IPv4 port range on which the service operates. PortRanges []PortRange `xml:"port-range,omitempty" json:"port-ranges,omitempty"` }
Information about the protocol used to provide a service.
type Provided ¶
type Provided struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations AnnotationMultiplexer `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to one or more roles with responsibility for performing a function relative to the control. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Describes a capability which may be inherited by a leveraging system.
type ProvidedMultiplexer ¶
type ProvidedMultiplexer []Provided
func (*ProvidedMultiplexer) MarshalJSON ¶
func (mplex *ProvidedMultiplexer) MarshalJSON() ([]byte, error)
func (*ProvidedMultiplexer) UnmarshalJSON ¶
func (mplex *ProvidedMultiplexer) UnmarshalJSON(b []byte) error
type Remarks ¶
type Remarks = validation_root.Remarks
type Responsibility ¶
type Responsibility struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // Identifies a 'provided' assembly associated with this assembly. ProvidedUuid string `xml:"provided-uuid,attr,omitempty" json:"provided-uuid,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations AnnotationMultiplexer `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to one or more roles with responsibility for performing a function relative to the control. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Describes a responsibiity imposed on a leveraging system.
type ResponsibilityMultiplexer ¶
type ResponsibilityMultiplexer []Responsibility
func (*ResponsibilityMultiplexer) MarshalJSON ¶
func (mplex *ResponsibilityMultiplexer) MarshalJSON() ([]byte, error)
func (*ResponsibilityMultiplexer) UnmarshalJSON ¶
func (mplex *ResponsibilityMultiplexer) UnmarshalJSON(b []byte) error
type ResponsibleParty ¶
type ResponsibleParty = validation_root.ResponsibleParty
type ResponsiblePartyMultiplexer ¶
type ResponsiblePartyMultiplexer = validation_root.ResponsiblePartyMultiplexer
type ResponsibleRole ¶
type ResponsibleRole = validation_common_root.ResponsibleRole
type ResponsibleRoleMultiplexer ¶
type ResponsibleRoleMultiplexer = validation_common_root.ResponsibleRoleMultiplexer
type Satisfied ¶
type Satisfied struct { // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // Identifies a 'provided' assembly associated with this assembly. ResponsibilityUuid string `xml:"responsibility-uuid,attr,omitempty" json:"responsibility-uuid,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations AnnotationMultiplexer `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to one or more roles with responsibility for performing a function relative to the control. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Describes how this system satisfies a responsibiity imposed by a leveraged system.
type SatisfiedMultiplexer ¶
type SatisfiedMultiplexer []Satisfied
func (*SatisfiedMultiplexer) MarshalJSON ¶
func (mplex *SatisfiedMultiplexer) MarshalJSON() ([]byte, error)
func (*SatisfiedMultiplexer) UnmarshalJSON ¶
func (mplex *SatisfiedMultiplexer) UnmarshalJSON(b []byte) error
type SecurityImpactLevel ¶
type SecurityImpactLevel struct { // A target-level of confidentiality for the system, based on the sensitivity of information within the system. SecurityObjectiveConfidentiality SecurityObjectiveConfidentiality `xml:"security-objective-confidentiality,omitempty" json:"security-objective-confidentiality,omitempty"` // A target-level of integrity for the system, based on the sensitivity of information within the system. SecurityObjectiveIntegrity SecurityObjectiveIntegrity `xml:"security-objective-integrity,omitempty" json:"security-objective-integrity,omitempty"` // A target-level of availability for the system, based on the sensitivity of information within the system. SecurityObjectiveAvailability SecurityObjectiveAvailability `xml:"security-objective-availability,omitempty" json:"security-objective-availability,omitempty"` }
The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information.
type SecurityObjectiveAvailability ¶
type SecurityObjectiveAvailability string
type SecurityObjectiveConfidentiality ¶
type SecurityObjectiveConfidentiality string
type SecurityObjectiveIntegrity ¶
type SecurityObjectiveIntegrity string
type SecuritySensitivityLevel ¶
type SecuritySensitivityLevel string
type SetParameter ¶
type SetParameter = validation_common_root.SetParameter
type SetParameterMultiplexer ¶
type SetParameterMultiplexer = validation_common_root.SetParameterMultiplexer
type ShortName ¶
type ShortName = validation_root.ShortName
type Statement ¶
type Statement struct { // A reference to the specific implemented statement associated with a control. StatementId string `xml:"statement-id,attr,omitempty" json:"statement-id,omitempty"` // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations AnnotationMultiplexer `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to one or more roles with responsibility for performing a function relative to the control. ResponsibleRoles ResponsibleRoleMultiplexer `xml:"responsible-role,omitempty" json:"responsible-roles,omitempty"` // Defines how the referenced component implements a set of controls. ByComponents ByComponentMultiplexer `xml:"by-component,omitempty" json:"by-components,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Identifies which statements within a control are addressed.
type StatementMultiplexer ¶
type StatementMultiplexer []Statement
func (*StatementMultiplexer) MarshalJSON ¶
func (mplex *StatementMultiplexer) MarshalJSON() ([]byte, error)
func (*StatementMultiplexer) UnmarshalJSON ¶
func (mplex *StatementMultiplexer) UnmarshalJSON(b []byte) error
type Status ¶
type Status struct { // The current operating status. State string `xml:"state,attr,omitempty" json:"state,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Describes the operational status of the system.
type SystemCharacteristics ¶
type SystemCharacteristics struct { // A unique identifier for the system described by this system security plan. SystemIds []SystemId `xml:"system-id,omitempty" json:"system-ids,omitempty"` // The full name of the system. SystemName SystemName `xml:"system-name,omitempty" json:"system-name,omitempty"` // A short name for the system, such as an acronym, that is suitable for display in a data table or summary list. SystemNameShort SystemNameShort `xml:"system-name-short,omitempty" json:"system-name-short,omitempty"` // A free-text description of the system. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // The date this system received its authorization. DateAuthorized DateAuthorized `xml:"date-authorized,omitempty" json:"date-authorized,omitempty"` // The overall information system sensitivity categorization, such as defined by . SecuritySensitivityLevel SecuritySensitivityLevel `xml:"security-sensitivity-level,omitempty" json:"security-sensitivity-level,omitempty"` // Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in . SystemInformation *SystemInformation `xml:"system-information,omitempty" json:"system-information,omitempty"` // The overall level of expected impact resulting from unauthorized disclosure, modification, or loss of access to information. SecurityImpactLevel *SecurityImpactLevel `xml:"security-impact-level,omitempty" json:"security-impact-level,omitempty"` // Describes the operational status of the system. Status *Status `xml:"status,omitempty" json:"status,omitempty"` // A description of this system's authorization boundary, optionally supplemented by diagrams that illustrate the authorization boundary. AuthorizationBoundary *AuthorizationBoundary `xml:"authorization-boundary,omitempty" json:"authorization-boundary,omitempty"` // A description of the system's network architecture, optionally supplemented by diagrams that illustrate the network architecture. NetworkArchitecture *NetworkArchitecture `xml:"network-architecture,omitempty" json:"network-architecture,omitempty"` // A description of the logical flow of information within the system and across its boundaries, optionally supplemented by diagrams that illustrate these flows. DataFlow *DataFlow `xml:"data-flow,omitempty" json:"data-flow,omitempty"` // A reference to a set of organizations or persons that have responsibility for performing a referenced role relative to the parent context. ResponsibleParties ResponsiblePartyMultiplexer `xml:"responsible-party,omitempty" json:"responsible-parties,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Contains the characteristics of the system, such as its name, purpose, and security impact level.
type SystemId ¶
type SystemId struct { // Identifies the identification system from which the provided identifier was assigned. IdentifierType string `xml:"identifier-type,attr,omitempty" json:"identifier-type,omitempty"` Id string `xml:",chardata" json:"id"` }
A unique identifier for the system described by this system security plan.
type SystemImplementation ¶
type SystemImplementation struct { // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A description of another authorized system from which this system inherits capabilities that satisfy security requirements. Another term for this concept is a . LeveragedAuthorizations []LeveragedAuthorization `xml:"leveraged-authorization,omitempty" json:"leveraged-authorizations,omitempty"` // A type of user that interacts with the system based on an associated role. Users UserMultiplexer `xml:"user,omitempty" json:"users,omitempty"` // A defined component that can be part of an implemented system. Components ComponentMultiplexer `xml:"component,omitempty" json:"components,omitempty"` // A set of entries that represent the managed inventory instances of the system. SystemInventory *SystemInventory `xml:"system-inventory,omitempty" json:"system-inventory,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
Provides information as to how the system is implemented.
type SystemInformation ¶
type SystemInformation struct { // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // Contains details about one information type that is stored, processed, or transmitted by the system, such as privacy information, and those defined in . InformationTypes []InformationType `xml:"information-type,omitempty" json:"information-types,omitempty"` }
Contains details about all information types that are stored, processed, or transmitted by the system, such as privacy information, and those defined in .
type SystemInventory ¶
type SystemInventory struct { // A single managed inventory item within the system. InventoryItems InventoryItemMultiplexer `xml:"inventory-item,omitempty" json:"inventory-items,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A set of entries that represent the managed inventory instances of the system.
type SystemName ¶
type SystemName string
type SystemNameShort ¶
type SystemNameShort string
type SystemSecurityPlan ¶
type SystemSecurityPlan struct { XMLName xml.Name `xml:"http://csrc.nist.gov/ns/oscal/1.0 system-security-plan" json:"-"` // A RFC 4122 version 4 Universally Unique Identifier (UUID) for the containing object. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // Provides information about the publication and availability of the containing document. Metadata *Metadata `xml:"metadata,omitempty" json:"metadata,omitempty"` // Used to import the OSCAL profile representing the system's control baseline. ImportProfile *ImportProfile `xml:"import-profile,omitempty" json:"import-profile,omitempty"` // Contains the characteristics of the system, such as its name, purpose, and security impact level. SystemCharacteristics *SystemCharacteristics `xml:"system-characteristics,omitempty" json:"system-characteristics,omitempty"` // Provides information as to how the system is implemented. SystemImplementation *SystemImplementation `xml:"system-implementation,omitempty" json:"system-implementation,omitempty"` // Describes how the system satisfies a set of controls. ControlImplementation *ControlImplementation `xml:"control-implementation,omitempty" json:"control-implementation,omitempty"` // A collection of citations and resource references. BackMatter *BackMatter `xml:"back-matter,omitempty" json:"back-matter,omitempty"` }
A system security plan, such as those described in NIST SP 800-18
func (*SystemSecurityPlan) SetUuid ¶
func (ssp *SystemSecurityPlan) SetUuid(uuid string)
type Title ¶
type Title = validation_root.Title
type User ¶
type User struct { // The unique identifier for the user class. Uuid string `xml:"uuid,attr,omitempty" json:"uuid,omitempty"` // A title for display and navigation Title *Title `xml:"title,omitempty" json:"title,omitempty"` // A common name, short name or acronym ShortName ShortName `xml:"short-name,omitempty" json:"short-name,omitempty"` // A description supporting the parent item. Description *Description `xml:"description,omitempty" json:"description,omitempty"` // A value with a name, attributed to the containing control, part, or group. Properties []Prop `xml:"prop,omitempty" json:"properties,omitempty"` // A name/value pair with optional explanatory remarks. Annotations []Annotation `xml:"annotation,omitempty" json:"annotations,omitempty"` // A reference to a local or remote resource Links []Link `xml:"link,omitempty" json:"links,omitempty"` // A reference to the roles served by the user. RoleIds []RoleId `xml:"role-id,omitempty" json:"role-ids,omitempty"` // Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege. AuthorizedPrivileges []AuthorizedPrivilege `xml:"authorized-privilege,omitempty" json:"authorized-privileges,omitempty"` // Additional commentary on the parent item. Remarks *Remarks `xml:"remarks,omitempty" json:"remarks,omitempty"` }
A type of user that interacts with the system based on an associated role.
type UserMultiplexer ¶
type UserMultiplexer []User
func (*UserMultiplexer) MarshalJSON ¶
func (mplex *UserMultiplexer) MarshalJSON() ([]byte, error)
func (*UserMultiplexer) UnmarshalJSON ¶
func (mplex *UserMultiplexer) UnmarshalJSON(b []byte) error