Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var OSCALMappings = map[string]OSCALSchemaMapping{ "asset": { Models: []string{ "component-definition", "ssp", }, Assembly: "inventory-item", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "identifier": { Role: "inventory-item-identifier", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: true, }, "name": { Role: "title", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{}, }, "control": { Models: []string{ "component-definition", "ssp", }, Assembly: "implemented-requirement", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "external_uuid": { Role: "uuid", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: true, }, "implementation_description": { Role: "implementation-details", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "implementation_status": { Role: "implementation-status", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "ref_code": { Role: "control-id", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: true, }, "title": { Role: "title", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "control_implementations": { Role: "implemented-by-component", Models: []string{ "component-definition", "ssp", }, }, }, }, "controlimplementation": { Models: []string{ "component-definition", "ssp", }, Assembly: "implemented-requirement", Fields: map[string]OSCALFieldMapping{ "details": { Role: "implementation-details", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "details_json": { Role: "implementation-details", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "controls": { Role: "links-to-control-id", Models: []string{ "component-definition", "ssp", }, }, "subcontrols": { Role: "links-to-statement-id", Models: []string{ "component-definition", "ssp", }, }, }, }, "evidence": { Models: []string{ "component-definition", "poam", "ssp", }, Assembly: "back-matter-resource", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: false, }, "external_uuid": { Role: "uuid", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: true, }, "name": { Role: "title", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "controls": { Role: "links-to-control-id", Models: []string{ "component-definition", "poam", "ssp", }, }, }, }, "group": { Models: []string{ "component-definition", "poam", "ssp", }, Assembly: "responsible-party", Fields: map[string]OSCALFieldMapping{ "oscal_party_uuid": { Role: "uuid", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: true, }, "oscal_role": { Role: "responsible-role", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{}, }, "internalpolicy": { Models: []string{ "component-definition", "ssp", }, Assembly: "component", Fields: map[string]OSCALFieldMapping{ "external_uuid": { Role: "uuid", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: true, }, }, Relationships: map[string]OSCALRelationshipMapping{ "controls": { Role: "links-to-control-id", Models: []string{ "component-definition", "ssp", }, }, }, }, "narrative": { Models: []string{ "component-definition", "ssp", }, Assembly: "statement", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "details": { Role: "implementation-details", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "name": { Role: "title", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "satisfies": { Role: "satisfies-control", Models: []string{ "component-definition", "ssp", }, }, }, }, "platform": { Models: []string{ "component-definition", "ssp", }, Assembly: "system-implementation", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "external_uuid": { Role: "uuid", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: true, }, "name": { Role: "title", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{}, }, "program": { Models: []string{ "component-definition", "poam", "ssp", }, Assembly: "implementation-scope", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: false, }, "external_uuid": { Role: "uuid", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: true, }, "name": { Role: "title", Models: []string{ "component-definition", "poam", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "controls": { Role: "component-contains", Models: []string{ "component-definition", "ssp", }, }, }, }, "risk": { Models: []string{ "poam", "ssp", }, Assembly: "risk", Fields: map[string]OSCALFieldMapping{ "details": { Role: "description", Models: []string{ "poam", "ssp", }, IdentityAnchor: false, }, "external_uuid": { Role: "uuid", Models: []string{ "poam", "ssp", }, IdentityAnchor: true, }, "name": { Role: "title", Models: []string{ "poam", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "controls": { Role: "links-to-control-id", Models: []string{ "poam", "ssp", }, }, }, }, "subcontrol": { Models: []string{ "component-definition", "ssp", }, Assembly: "implemented-requirement-statement", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "external_uuid": { Role: "uuid", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: true, }, "implementation_description": { Role: "implementation-details", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "implementation_status": { Role: "implementation-status", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, "ref_code": { Role: "statement-id", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: true, }, "title": { Role: "title", Models: []string{ "component-definition", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "control": { Role: "links-to-control-id", Models: []string{ "component-definition", "ssp", }, }, "control_implementations": { Role: "links-to-statement-id", Models: []string{ "component-definition", "ssp", }, }, }, }, "systemdetail": { Models: []string{ "ssp", }, Assembly: "system-characteristics", Fields: map[string]OSCALFieldMapping{ "description": { Role: "description", Models: []string{ "ssp", }, IdentityAnchor: false, }, "system_name": { Role: "system-name", Models: []string{ "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{}, }, "task": { Models: []string{ "poam", "ssp", }, Assembly: "poam-item", Fields: map[string]OSCALFieldMapping{ "details": { Role: "implementation-details", Models: []string{ "poam", "ssp", }, IdentityAnchor: false, }, "external_uuid": { Role: "uuid", Models: []string{ "poam", "ssp", }, IdentityAnchor: true, }, "title": { Role: "title", Models: []string{ "poam", "ssp", }, IdentityAnchor: false, }, }, Relationships: map[string]OSCALRelationshipMapping{ "controls": { Role: "links-to-control-id", Models: []string{ "poam", "ssp", }, }, }, }, }
OSCALMappings contains schema-level OSCAL mapping metadata
Functions ¶
func IsOSCALIdentityAnchor ¶
IsOSCALIdentityAnchor checks if a schema field is an identity anchor
func IsSchemaOSCALAnnotated ¶
IsSchemaOSCALAnnotated checks if a schema has OSCAL mapping metadata
func SchemaSupportsOSCALModel ¶
SchemaSupportsOSCALModel checks if a schema is mapped to a target OSCAL model
Types ¶
type OSCALFieldMapping ¶
type OSCALFieldMapping struct {
// Role is the semantic OSCAL role for the field mapping
Role string
// Models are optional OSCAL model constraints for the field mapping
Models []string
// IdentityAnchor indicates the field is an OSCAL identity anchor
IdentityAnchor bool
}
OSCALFieldMapping defines semantic mapping metadata for a schema field
func GetOSCALFieldMapping ¶
func GetOSCALFieldMapping(schemaName, fieldName string) (OSCALFieldMapping, bool)
GetOSCALFieldMapping returns OSCAL mapping metadata for a schema field
type OSCALRelationshipMapping ¶
type OSCALRelationshipMapping struct {
// Role is the semantic OSCAL relationship role for the mapping
Role string
// Models are optional OSCAL model constraints for the relationship mapping
Models []string
}
OSCALRelationshipMapping defines semantic mapping metadata for a schema relationship
func GetOSCALRelationshipMapping ¶
func GetOSCALRelationshipMapping(schemaName, relationshipName string) (OSCALRelationshipMapping, bool)
GetOSCALRelationshipMapping returns OSCAL mapping metadata for a schema relationship
type OSCALSchemaMapping ¶
type OSCALSchemaMapping struct {
// Models are OSCAL document models associated with the schema
Models []string
// Assembly is the semantic OSCAL assembly mapping for the schema
Assembly string
// Fields maps lowercased field names to OSCAL field metadata
Fields map[string]OSCALFieldMapping
// Relationships maps lowercased relationship names to OSCAL relationship metadata
Relationships map[string]OSCALRelationshipMapping
}
OSCALSchemaMapping defines semantic OSCAL metadata for a schema
func GetOSCALSchemaMapping ¶
func GetOSCALSchemaMapping(schemaName string) (OSCALSchemaMapping, bool)
GetOSCALSchemaMapping returns OSCAL mapping metadata for a schema