Schema URL

Type: object

Properties

component-definition assembly_oscal-component-definition_component-definition required

Definitions

oscal-component-definition-oscal-component-definition:component-definition object

A collection of component descriptions, which may optionally be grouped by capability.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
metadata assembly_oscal-metadata_metadata required
import-component-definitions assembly_oscal-component-definition_import-component-definition[]
minItems=1
components assembly_oscal-component-definition_defined-component[]
minItems=1
capabilities assembly_oscal-component-definition_capability[]
minItems=1
back-matter assembly_oscal-metadata_back-matter
oscal-component-definition-oscal-component-definition:import-component-definition object

Loads a component definition from another resource.

href string required
format=uri-reference
oscal-component-definition-oscal-component-definition:defined-component object

A defined component that can be part of an implemented system.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
type required

A category describing the purpose of the component.

All of: StringDatatype string, enum enum
title string required

A human readable name for the component.

description string required

A description of the component, including information about its function.

purpose string

A summary of the technological or business purpose of the component.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
responsible-roles assembly_oscal-metadata_responsible-role[]
minItems=1
protocols assembly_oscal-implementation-common_protocol[]
minItems=1
control-implementations assembly_oscal-component-definition_control-implementation[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-component-definition:capability object

A grouping of other components and/or capabilities.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
name string required
pattern=^\S(.*\S)?$
description string required

A summary of the capability.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
incorporates-components assembly_oscal-component-definition_incorporates-component[]
minItems=1
control-implementations assembly_oscal-component-definition_control-implementation[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-component-definition:incorporates-component object

TBD

component-uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
description string required

A description of the component, including information about its function.

oscal-component-definition-oscal-component-definition:control-implementation object

Defines how the component or capability supports a set of controls.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
source string required
format=uri-reference
description string required

A description of how the specified set of controls are implemented for the containing component or capability.

implemented-requirements assembly_oscal-component-definition_implemented-requirement[] required
minItems=1
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
set-parameters assembly_oscal-implementation-common_set-parameter[]
minItems=1
oscal-component-definition-oscal-component-definition:implemented-requirement object

Describes how the containing component or capability implements an individual control.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
control-id string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
description string required

A suggestion for how the specified control may be implemented if the containing component or capability is instantiated in a system security plan.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
set-parameters assembly_oscal-implementation-common_set-parameter[]
minItems=1
responsible-roles assembly_oscal-metadata_responsible-role[]
minItems=1
statements assembly_oscal-component-definition_statement[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-component-definition:statement object

Identifies which statements within a control are addressed.

statement-id string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
description string required

A summary of how the containing control statement is implemented by the component or capability.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
responsible-roles assembly_oscal-metadata_responsible-role[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-implementation-common:system-component object

A defined component that can be part of an implemented system.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
type required

A category describing the purpose of the component.

All of: StringDatatype string, enum enum
title string required

A human readable name for the system component.

description string required

A description of the component, including information about its function.

status object required

Describes the operational status of the system component.

2 nested properties
state required

The operational status.

All of: TokenDatatype string, enum enum
remarks field_oscal-metadata_remarks
purpose string

A summary of the technological or business purpose of the component.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
responsible-roles assembly_oscal-metadata_responsible-role[]
minItems=1
protocols assembly_oscal-implementation-common_protocol[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-implementation-common:protocol object

Information about the protocol used to provide a service.

name string required
pattern=^\S(.*\S)?$
uuid string

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
title string

A human readable name for the protocol (e.g., Transport Layer Security).

port-ranges assembly_oscal-implementation-common_port-range[]
minItems=1
oscal-component-definition-oscal-implementation-common:port-range object

Where applicable this is the IPv4 port range on which the service operates.

start
All of: IntegerDatatype integer, number number
end
All of: IntegerDatatype integer, number number
transport

Indicates the transport type.

All of: TokenDatatype string, enum enum
oscal-component-definition-oscal-implementation-common:implementation-status object

Indicates the degree to which the a given control is implemented.

state required

Identifies the implementation status of the control or control objective.

All of: TokenDatatype string, enum enum
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-implementation-common:system-user object

A type of user that interacts with the system based on an associated role.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
title string

A name given to the user, which may be used by a tool for display and navigation.

short-name string
pattern=^\S(.*\S)?$
description string

A summary of the user's purpose within the system.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
role-ids field_oscal-metadata_role-id[]
minItems=1
authorized-privileges assembly_oscal-implementation-common_authorized-privilege[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-implementation-common:authorized-privilege object

Identifies a specific system privilege held by the user, along with an associated description and/or rationale for the privilege.

title string required

A human readable name for the privilege.

functions-performed field_oscal-implementation-common_function-performed[] required
minItems=1
description string

A summary of the privilege's purpose within the system.

oscal-component-definition-oscal-implementation-common:function-performed string
oscal-component-definition-oscal-implementation-common:inventory-item object

A single managed inventory item within the system.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
description string required

A summary of the inventory item stating its purpose within the system.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
responsible-parties assembly_oscal-metadata_responsible-party[]
minItems=1
implemented-components object[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-implementation-common:set-parameter object

Identifies the parameter that will be set by the enclosed value.

param-id string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
values StringDatatype[] required
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-implementation-common:system-id object

A human-oriented, globally unique identifier with cross-instance scope that can be used to reference this system identification property elsewhere in this or other OSCAL instances. When referencing an externally defined system identification, the system identification must be used in the context of the external / imported OSCAL instance (e.g., uri-reference). This string should be assigned per-subject, which means it should be consistently used to identify the same system across revisions of the document.

id string required
pattern=^\S(.*\S)?$
identifier-type

Identifies the identification system from which the provided identifier was assigned.

All of: URIDatatype string, enum enum
oscal-component-definition-oscal-metadata:metadata object

Provides information about the publication and availability of the containing document.

title string required

A name given to the document, which may be used by a tool for display and navigation.

last-modified field_oscal-metadata_last-modified required
version field_oscal-metadata_version required
oscal-version field_oscal-metadata_oscal-version required
published field_oscal-metadata_published
revisions assembly_oscal-metadata_revision[]
minItems=1
document-ids field_oscal-metadata_document-id[]
minItems=1
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
roles assembly_oscal-metadata_role[]
minItems=1
locations assembly_oscal-metadata_location[]
minItems=1
parties assembly_oscal-metadata_party[]
minItems=1
responsible-parties assembly_oscal-metadata_responsible-party[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:revision object

An entry in a sequential list of revisions to the containing document in reverse chronological order (i.e., most recent previous revision first).

version field_oscal-metadata_version required
title string

A name given to the document revision, which may be used by a tool for display and navigation.

published field_oscal-metadata_published
last-modified field_oscal-metadata_last-modified
oscal-version field_oscal-metadata_oscal-version
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:location object

A location, with associated metadata that can be referenced.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
address assembly_oscal-metadata_address required
title string

A name given to the location, which may be used by a tool for display and navigation.

email-addresses field_oscal-metadata_email-address[]
minItems=1
telephone-numbers field_oscal-metadata_telephone-number[]
minItems=1
minItems=1
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:location-uuid string

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

oscal-component-definition-oscal-metadata:party object

A responsible entity which is either a person or an organization.

uuid string required

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
type required

A category describing the kind of party the object describes.

All of: StringDatatype string, enum enum
name string
pattern=^\S(.*\S)?$
short-name string
pattern=^\S(.*\S)?$
external-ids object[]
minItems=1
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
email-addresses field_oscal-metadata_email-address[]
minItems=1
telephone-numbers field_oscal-metadata_telephone-number[]
minItems=1
addresses assembly_oscal-metadata_address[]
minItems=1
location-uuids field_oscal-metadata_location-uuid[]
minItems=1
member-of-organizations UUIDDatatype[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:party-uuid string

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

oscal-component-definition-oscal-metadata:role object

Defines a function assumed or expected to be assumed by a party in a specific situation.

id string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
title string required

A name given to the role, which may be used by a tool for display and navigation.

short-name string
pattern=^\S(.*\S)?$
description string

A summary of the role's purpose and associated responsibilities.

props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:role-id string
oscal-component-definition-oscal-metadata:back-matter object

A collection of resources, which may be included directly or by reference.

resources object[]
minItems=1
oscal-component-definition-oscal-metadata:property object

An attribute, characteristic, or quality of the containing object expressed as a namespace qualified name/value pair. The value of a property is a simple scalar value, which may be expressed as a list of values.

name required

A textual label that uniquely identifies a specific attribute, characteristic, or quality of the property's containing object.

All of: TokenDatatype string, enum enum
value string required
pattern=^\S(.*\S)?$
uuid string

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.

pattern=^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[45][0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}$
ns string
format=uripattern=^[a-zA-Z][a-zA-Z0-9+\-.]+:.+$
class string
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:responsible-party object

A reference to a set of organizations or persons that have responsibility for performing a referenced role in the context of the containing object.

role-id string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
party-uuids field_oscal-metadata_party-uuid[] required
minItems=1
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:responsible-role object

A reference to one or more roles with responsibility for performing a function relative to the containing object.

role-id string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
party-uuids field_oscal-metadata_party-uuid[]
minItems=1
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-metadata:hash object

A representation of a cryptographic digest generated over a resource using a specified hash algorithm.

algorithm required

Method by which a hash is derived

All of: StringDatatype string, enum enum
value string required
pattern=^\S(.*\S)?$
oscal-component-definition-oscal-metadata:remarks string

Additional commentary on the containing object.

oscal-component-definition-oscal-metadata:published string
oscal-component-definition-oscal-metadata:last-modified string
oscal-component-definition-oscal-metadata:version string
oscal-component-definition-oscal-metadata:oscal-version string
oscal-component-definition-oscal-metadata:email-address
oscal-component-definition-oscal-metadata:telephone-number object

Contact number by telephone.

number string required
pattern=^\S(.*\S)?$
type

Indicates the type of phone number.

All of: StringDatatype string, enum enum
oscal-component-definition-oscal-metadata:address object

A postal address for the location.

type

Indicates the type of address.

All of: TokenDatatype string, enum enum
addr-lines field_oscal-metadata_addr-line[]
minItems=1
city string
pattern=^\S(.*\S)?$
state string
pattern=^\S(.*\S)?$
postal-code string
pattern=^\S(.*\S)?$
country string
pattern=^\S(.*\S)?$
oscal-component-definition-oscal-metadata:addr-line string
oscal-component-definition-oscal-metadata:document-id object

A document identifier qualified by an identifier scheme. A document identifier provides a globally unique identifier with a cross-instance scope that is used for a group of documents that are to be treated as different versions of the same document. If this element does not appear, or if the value of this element is empty, the value of "document-id" is equal to the value of the "uuid" flag of the top-level root element.

identifier string required
pattern=^\S(.*\S)?$
scheme

Qualifies the kind of document identifier using a URI. If the scheme is not provided the value of the element will be interpreted as a string of characters.

All of: URIDatatype string, enum enum
oscal-component-definition-oscal-catalog-common:part object

A partition of a control's definition or a child of another part.

name string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
id string
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
ns string
format=uripattern=^[a-zA-Z][a-zA-Z0-9+\-.]+:.+$
class string
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
title string

A name given to the part, which may be used by a tool for display and navigation.

props assembly_oscal-metadata_property[]
minItems=1
prose string

Permits multiple paragraphs, lists, tables etc.

parts assembly_oscal-catalog-common_part[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
oscal-component-definition-oscal-catalog-common:parameter object

Parameters provide a mechanism for the dynamic assignment of value(s) in a control.

id string required
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
class string
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
depends-on string
pattern=^(\p{L}|_)(\p{L}|\p{N}|[.\-_])*$
props assembly_oscal-metadata_property[]
minItems=1
links assembly_oscal-metadata_link[]
minItems=1
label string

A short, placeholder name for the parameter, which can be used as a substitute for a value if no value is assigned.

usage string

Describes the purpose and use of a parameter

constraints assembly_oscal-catalog-common_parameter-constraint[]
minItems=1
guidelines assembly_oscal-catalog-common_parameter-guideline[]
minItems=1
values field_oscal-catalog-common_parameter-value[]
minItems=1
select assembly_oscal-catalog-common_parameter-selection
remarks field_oscal-metadata_remarks
oscal-component-definition-oscal-catalog-common:parameter-constraint object

A formal or informal expression of a constraint or test

description string

A textual summary of the constraint to be applied.

tests object[]
minItems=1
oscal-component-definition-oscal-catalog-common:parameter-guideline object

A prose statement that provides a recommendation for the use of a parameter.

prose string required

Prose permits multiple paragraphs, lists, tables etc.

oscal-component-definition-oscal-catalog-common:parameter-value string
oscal-component-definition-oscal-catalog-common:parameter-selection object

Presenting a choice among alternatives

how-many

Describes the number of selections that must occur. Without this setting, only one value should be assumed to be permitted.

All of: TokenDatatype string, enum enum
choice string[]
minItems=1
oscal-component-definition-oscal-catalog-common:include-all object

Include all controls from the imported catalog or profile resources.

Base64Datatype string
DateTimeWithTimezoneDatatype string
EmailAddressDatatype
IntegerDatatype integer
NonNegativeIntegerDatatype
StringDatatype string
TokenDatatype string
URIDatatype string
URIReferenceDatatype string
UUIDDatatype string

A type 4 ('random' or 'pseudorandom') or type 5 UUID per RFC 4122.