Skip to content

Commit

Permalink
Add Prepared By Constraints (#870)
Browse files Browse the repository at this point in the history
* Add prepared-by constraints

* Add check for embedded address assembly in party

* Fix messages to be less jargony

* indent

* Parenthesis to cleanup test expression

* Add extra negative test case

* undo workaround

* Suggested improvements to constraint level and ssp-all-VALID
  • Loading branch information
Gabeblis authored Nov 13, 2024
1 parent 66c94cd commit 8a7f909
Show file tree
Hide file tree
Showing 14 changed files with 655 additions and 0 deletions.
9 changes: 9 additions & 0 deletions features/fedramp_extensions.feature
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,16 @@ Examples:
| response-point-PASS.yaml |
| responsible-party-is-person-FAIL.yaml |
| responsible-party-is-person-PASS.yaml |
| responsible-party-prepared-by-FAIL.yaml |
| responsible-party-prepared-by-PASS.yaml |
| responsible-party-prepared-by-location-valid-FAIL.yaml |
| responsible-party-prepared-by-location-valid-PASS.yaml |
| role-defined-authorizing-official-poc-FAIL.yaml |
| role-defined-authorizing-official-poc-PASS.yaml |
| role-defined-information-system-security-officer-FAIL.yaml |
| role-defined-information-system-security-officer-PASS.yaml |
| role-defined-prepared-by-FAIL.yaml |
| role-defined-prepared-by-PASS.yaml |
| role-defined-system-owner-FAIL.yaml |
| role-defined-system-owner-PASS.yaml |
| scan-type-FAIL.yaml |
Expand Down Expand Up @@ -302,8 +308,11 @@ Examples:
| resource-has-base64-or-rlink |
| resource-has-title |
| responsible-party-is-person |
| responsible-party-prepared-by |
| responsible-party-prepared-by-location-valid |
| role-defined-authorizing-official-poc |
| role-defined-information-system-security-officer |
| role-defined-prepared-by |
| role-defined-system-owner |
| scan-type |
| security-level |
Expand Down
29 changes: 29 additions & 0 deletions src/validations/constraints/content/ssp-all-VALID.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
<prop name="fedramp-version" ns="https://fedramp.gov/ns/oscal" value="fedramp-3.0.0rc1-oscal-1.1.2"/>
<prop name="marking" value="cui"/>

<role id="prepared-by">
<title>Prepared By</title>
<description>
<p>This party prepared the SSP.</p>
</description>
</role>
<role id="creator">
<title>Document Creator</title>
</role>
Expand Down Expand Up @@ -53,6 +59,17 @@
</description>
</role>

<location uuid="27b78960-59ef-4619-82b0-ae20b9c709ac">
<title>CSP HQ</title>
<address type="work">
<addr-line>Suite 0000</addr-line>
<addr-line>1234 Some Street</addr-line>
<city>Haven</city>
<state>ME</state>
<postal-code>00000</postal-code>
<country>US</country>
</address>
</location>
<location uuid="11111112-0000-4000-9001-000000000009">
<address >
<country>US</country>
Expand All @@ -65,6 +82,15 @@
</address>
<prop name="type" value="data-center" class="alternate"/>
</location>
<party uuid="3360e343-9860-4bda-9dfc-ff427c3dfab6" type="person">
<name>Person Name 1</name>
<prop name="job-title" value="Individual's Title"/>
<prop name="mail-stop" value="Mailstop A-1"/>
<email-address>name@example.com</email-address>
<telephone-number>2020000001</telephone-number>
<location-uuid>27b78960-59ef-4619-82b0-ae20b9c709ac</location-uuid>
<member-of-organization>6b286b5d-8f07-4fa7-8847-1dd0d88f73fb</member-of-organization>
</party>
<party uuid="11111111-0000-4000-9000-000000000001" type="organization">
<name>Example Organization</name>
<short-name>ExOrg</short-name>
Expand All @@ -76,6 +102,9 @@
<address type="work" />
</party>

<responsible-party role-id="prepared-by">
<party-uuid>3360e343-9860-4bda-9dfc-ff427c3dfab6</party-uuid>
</responsible-party>
<responsible-party role-id="creator">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<system-security-plan xmlns="http://csrc.nist.gov/ns/oscal/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://csrc.nist.gov/ns/oscal/1.0 https://github.com/usnistgov/OSCAL/releases/download/v1.1.2/oscal_ssp_schema.xsd" uuid="12345678-1234-4321-8765-123456789012">
<metadata>
<role id="NOT-prepared-by">
<title>Prepared By</title>
<description>
<p>This organization prepared the SSP.</p>
</description>
</role>
<responsible-party role-id="NOT-prepared-by">
<party-uuid>3360e343-9860-4bda-9dfc-ff427c3dfab6</party-uuid>
</responsible-party>
</metadata>
</system-security-plan>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<system-security-plan xmlns="http://csrc.nist.gov/ns/oscal/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://csrc.nist.gov/ns/oscal/1.0 https://github.com/usnistgov/OSCAL/releases/download/v1.1.2/oscal_ssp_schema.xsd" uuid="12345678-1234-4321-8765-123456789012">
<metadata>
<role id="prepared-by">
</role>
<party uuid="3360e343-9860-4bda-9dfc-ff427c3dfab6" type="person">
<address type="work">
<addr-line>Suite 0000</addr-line>
<addr-line>1234 Some Street</addr-line>
<!-- missing city -->
<state>ME</state>
<postal-code>00000</postal-code>
</address>
</party>
<responsible-party role-id="prepared-by">
<party-uuid>3360e343-9860-4bda-9dfc-ff427c3dfab6</party-uuid>
</responsible-party>
</metadata>
</system-security-plan>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<system-security-plan xmlns="http://csrc.nist.gov/ns/oscal/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://csrc.nist.gov/ns/oscal/1.0 https://github.com/usnistgov/OSCAL/releases/download/v1.1.2/oscal_ssp_schema.xsd" uuid="12345678-1234-4321-8765-123456789012">
<metadata>
<role id="prepared-by">
</role>
<location uuid="27b78960-59ef-4619-82b0-ae20b9c709ac">
<title>CSP HQ</title>
<address type="work">
<addr-line>Suite 0000</addr-line>
<addr-line>1234 Some Street</addr-line>
<!-- missing city -->
<state>ME</state>
<postal-code>00000</postal-code>
</address>
</location>
<party uuid="3360e343-9860-4bda-9dfc-ff427c3dfab6" type="person">
<location-uuid>27b78960-59ef-4619-82b0-ae20b9c709ac</location-uuid>
</party>
<responsible-party role-id="prepared-by">
<party-uuid>3360e343-9860-4bda-9dfc-ff427c3dfab6</party-uuid>
</responsible-party>
</metadata>
</system-security-plan>
Loading

0 comments on commit 8a7f909

Please sign in to comment.