Adoption Strategy
Compliance frameworks vary greatly. Within a framework, the granularity of required information can also vary from one organization to the next.
OSCAL is designed to normalizes the variability between frameworks. It also offers flexibility to handle information at varying levels of granularity. As a result, representing content in OSCAL can be ambiguous to early adoptors.
As with any technology project, OSCAL adoption should start with the minimum viable product (MVP) and evolve to more comprehensive use cases.
SSP Adoption Path
-
ExtremeMinimumMVPFront-Matter and OSCAL-required Content.Metadatametadataincludesincludes:title,published,last-modified,version,oscal-versionroles: CSP, ISSO, others as cited in controlsparties: the CSPresponsible-party: only one, linking the CSP party to the CSP roleand partyOSCAL syntax minimum necessary system informationpaste App K table into a singleinformation-typesentryLink directly to architecture, network and data flow diagramsplus service-model, deployment-model
Only athis-systemsystem-characteristicscomponentControl Responses (representing 90% of legacy SSP content)includes:All responses atsystem-id,,this-systemsystem-namecomponentsystem-name-short,descriptionOnlycloud-service-modeland cloud-deployment-modelresponsible-rolesproppropsecurity-sensitivity-level(fips-199-high,fips-199-moderate,fips-199-low)system-information: only a single entry with Appendix K pasted into thedescriptionstatus: Required field. Use as-isauthorization-boundary:descriptionandlinksentry identifying the external attachment.network-architecture:descriptionandlinksentry identifying the external attachment.data-flow:descriptionandlinksentry identifying the external attachment.
system-implementationincludes:users: Required by OSCAL, but nochildlonger required by FedRAMP.Singleauthorized-privilegesentry with emptytitleandfunction-performed` set to "none"
- this-system
entryparty-uuidscomponents
-
FlatConvertInventorycontrols without modification, with all response statements in the "this-system" component.convertcontrol-implementationimplemented-requirement(AC-1, AC-2, etc.)set-parameters: set parameters as neededstatement(part a, part b, etc.by-component("this system")description: Content directly from legacyexcelWordfileSSPand/or(partbegina,generatingpartinventoryb,asetc.)implementation-statusresponsible-roles: One entry per role. Use. Must matchinventory-itemsrole-idmetadata/roles/id.
OSCAL
-
Architecture,Flatnetwork,Inventory,dataconvertedflowdirectlydiagramsfrom spreadsheet. No corrisponding components.addsystem-implementation:linksinventory-items: All inventory converted from Excel spreadsheet
Intermediate
-
Required attachments
- Add direct
linksfrom the appropriate controls to identify relevant attachments
- Add direct
-
Required SSP roles
metadata/rolesThe roles required by SSP (System owner, ISSO, AO, etc.)metada/parties:
organizationsThethefollowingpeople,inteamsanyandorder:- responsible
Informationfortypesthe above rolesleveragedmetadata/responsible-parties:authorizationslinks externalthesystemsaboverolesandservicesSeparation of Duties Matrixparties
-
Information types
system-characteristics/system-information/information-types- a single entry for each row in appendix K.
-
leveraged authorizations
system-implementation/leveraged-authorizations:- one entry for leveraged authorization
- corrisponding
metadata/partiesentry for each - corrisponding
system-implementation/componentsfor each.
-
Separation of Duties Matrix
system-implementation/users- one entry per row in Table 11.1
./authorized-privilege/functions-performed: SSP Table 11.1 Duty Description (just one entry in the array)./authorized-privilege/title: Required by OSCAL, not by FedRAMP. Recommend duplicating thefunctions-performedcontent.role-ids: linksmetadata/rolestofunctions-performed
-
Customer Responsibility and Inheritance:
- Move customer responsibility statements to
//by-components/export/responsibilities
- Move customer responsibility statements to
Advanced
-
Normalize Inventory:
(dependsTransitiononflat"AddinventoryFlattoInventory")component-based[MAJOR TRANSITION POINT]inventory.- Use
componentsto the greatest degree practical inventory-itemsbecome implemented instances of components
- Use
-
Theexternalfollowingsystemsinandany order:servicesServices,system-implementation/componentsPortsentriesandforProtocols (depends on normalized inventory)Cryptographic Modules (App Q table) (depends on nornalized inventory)each
-
Transition to
resources- all attachments are represented as
resources linksuse URI fragments to reference resources instead of direct links where practical
- all attachments are represented as
-
Components for Required Documents
addpolicycomponentsentries for each required policy- process-procedure
componentsentries for each required process - plan
componentsentries for each required plan - _useradd components for policies, processes, plans and other documents
Ideal
-
EvolvingServices, Ports and Protocols -
Cryptographic Modules (App Q table)
-
Move to component-based control responses
(depends on "Normalize Inventory" and "Components for Documents")- within
implemented-requirementsaddby-componentsentries for each relevant component - add/move component-specific control responses to their associated
by-componentsresponse.
- within
Customer Responsibility and Inheritence:Move customer responibility statements to//by-components/export/responsibilities