8. Illustratred Architecture and Narratives
The Architecture, Network and Data Flow Diagramss are each represented using the same OSCAL patterns, with only the top level assemby name changing.
Authorization Boundary
The OSCAL approach to this type of diagram is to treat the image data as either a linked or base64-encoded resource in the back-matter section of the OSCAL file, then reference the diagram using the link field. The narrative describing the system architecture must be provided in the description field of the authorization-boundary assembly.
OSCAL Representation
system-security-plan:
uuid: 11111111-2222-4000-8000-000000000000
system-characteristics:
authorization-boundary:
description: A holistic, top-level explanation of the FedRAMP authorization boundary.
diagrams:
- uuid: 11111111-2222-4000-8000-007000000001
description: A diagram-specific explanation.
links:
- href: '#11111111-2222-4000-8000-001000000054'
rel: diagram
caption: Authorization Boundary Diagram
back-matter:
resources:
- uuid: 11111111-2222-4000-8000-001000000054
title: Boundary Diagram
description: The primary authorization boundary diagram.
props:
- name: type
value: image
class: authorization-boundary
rlinks:
- href: ./attachments/diagrams/boundary.png
XPath Queries
Overall Description:
/*/system-characteristics/authorization-boundary/description/node()
Count the Number of Diagrams (There should be at least 1):
count(/*/system-characteristics/authorization-boundary/diagram)
Link to First Diagram:
/*/system-characteristics/authorization-boundary/diagram[1]/link/@href
If the diagram link points to a resource within the OSCAL file:
/*/back-matter/resource[@uuid="uuid-of-boundary-diagram"]/base64
OR:
/*/back-matter/resource[@uuid="uuid-of-boundary-diagram-1"]/rlink/@href
Diagram-specific Description:
/*/system-characteristics/authorization-boundary/diagram[1]/description/node()
Replace XPath predicate "[1]" with "[2]", "[3]", etc.
Network Architecture
The network architecture diagram follows the same patter as the Authorization Boundary diagram, except the content is placed under network-architecture instead of authorization-boundary.
OSCAL Representation
system-security-plan:
uuid: 11111111-2222-4000-8000-000000000000
system-characteristics:
network-architecture:
description: A holistic, top-level explanation of the network architecture.
diagrams:
- uuid: 11111111-2222-4000-8000-007000000002
description: A diagram-specific explanation.
links:
- href: '#11111111-2222-4000-8000-001000000055'
rel: diagram
caption: Network Diagram
back-matter:
resources:
- uuid: 11111111-2222-4000-8000-001000000055
title: Network Diagram
description: The primary network diagram.
props:
- name: type
value: image
class: network-architecture
rlinks:
- href: ./attachments/diagrams/network.png
Data Flow
The data flow diagram follows the same pattern as the Authorization Boundary diagram, except the content is placed under data-flow instead of authorization-boundary.
OSCAL Representation
system-security-plan:
uuid: 11111111-2222-4000-8000-000000000000
system-characteristics:
data-flow:
description: A holistic, top-level explanation of the system's data flows.
diagrams:
- uuid: 11111111-2222-4000-8000-007000000003
description: A diagram-specific explanation.
links:
- href: '#11111111-2222-4000-8000-001000000056'
rel: diagram
caption: Data Flow Diagram
back-matter:
resources:
- uuid: 11111111-2222-4000-8000-001000000056
title: Data Flow Diagram
description: The primary data flow diagram.
props:
- name: type
value: image
class: data-flow
rlinks:
- href: ./attachments/diagrams/dataflow.png