Skip to content

Commit

Permalink
Update SSP metadata role constraints (#676) (#686)
Browse files Browse the repository at this point in the history
* Update SSP metadata role constraints

* Adjust message text to be more approachable, per PR feedback

---------

Co-authored-by: A.J. Stein <[email protected]>
  • Loading branch information
DimitriZhurkin and aj-stein-gsa committed Sep 24, 2024
1 parent 1dbf9c2 commit b526be0
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 3 deletions.
6 changes: 6 additions & 0 deletions features/fedramp_extensions.feature
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ Examples:
| response-point-PASS.yaml |
| role-defined-system-owner-FAIL.yaml |
| role-defined-system-owner-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 |
| scan-type-FAIL.yaml |
| scan-type-PASS.yaml |
| user-type-FAIL.yaml |
Expand Down Expand Up @@ -115,6 +119,8 @@ Examples:
| resource-has-base64-or-rlink |
| resource-has-title |
| role-defined-system-owner |
| role-defined-authorizing-official-poc |
| role-defined-information-system-security-officer |
| scan-type |
| user-type |
#END_DYNAMIC_CONSTRAINT_IDS
6 changes: 6 additions & 0 deletions src/validations/constraints/content/ssp-all-VALID.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@
<role id="system-owner">
<title>System Owner</title>
</role>
<role id="authorizing-official-poc">
<title>Authorizing Official Point of Contact</title>
</role>
<role id="information-system-security-officer">
<title>Information System Security Officer (or Equivalent)</title>
</role>

<location uuid="11111112-0000-4000-9001-000000000009">
<address >
Expand Down
12 changes: 9 additions & 3 deletions src/validations/constraints/fedramp-external-constraints.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,14 +73,20 @@
<expect id="role-defined-system-owner" target="." test="role[@id eq 'system-owner']" level="ERROR">
<message>A FedRAMP SSP must define the system owner role.</message>
</expect>
<expect id="role-defined-authorizing-official-poc" target="." test="role[@id eq 'authorizing-official-poc']" level="ERROR">
<message>A FedRAMP SSP must define a role for the point of contact for an authorizing official.</message>
</expect>
<expect id="role-defined-information-system-security-officer" target="." test="role[@id eq 'information-system-security-officer']" level="ERROR">
<message>A FedRAMP SSP must define a role for the point of contact for an information system security officer.</message>
</expect>
</constraints>
</context>
<context>
<metapath target="/system-security-plan/control-implementation"/>
<constraints>
<expect id="missing-response-components" target="implemented-requirement" test="count(./by-component) gt 0">
<message>Each implemented requirement must have at least one by-component reference to the source component implementing it.</message>
</expect>
<expect id="missing-response-components" target="implemented-requirement" test="count(./by-component) gt 0">
<message>Each implemented requirement must have at least one by-component reference to the source component implementing it.</message>
</expect>
</constraints>
</context>
</metaschema-meta-constraints>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Driver for the invalid role-defined-authorizing-official-poc constraint unit test.
test-case:
name: The invalid role-defined-authorizing-official-poc constraint unit test.
description: Test that SSP metadata does not contain the authorizing-official-poc role.
content: ../content/ssp-all-INVALID.xml
expectations:
- constraint-id: role-defined-authorizing-official-poc
result: fail
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Driver for the valid role-defined-authorizing-official-poc constraint unit test.
test-case:
name: The valid role-defined-authorizing-official-poc constraint unit test.
description: Test that SSP metadata contains the authorizing-official-poc role.
content: ../content/ssp-all-VALID.xml
expectations:
- constraint-id: role-defined-authorizing-official-poc
result: pass
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Driver for the invalid role-defined-information-system-security-officer constraint unit test.
test-case:
name: The invalid role-defined-information-system-security-officer constraint unit test.
description: Test that SSP metadata does not contain the information-system-security-officer role.
content: ../content/ssp-all-INVALID.xml
expectations:
- constraint-id: role-defined-information-system-security-officer
result: fail
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Driver for the valid role-defined-information-system-security-officer constraint unit test.
test-case:
name: The valid role-defined-information-system-security-officer constraint unit test.
description: Test that SSP metadata contains the information-system-security-officer role.
content: ../content/ssp-all-VALID.xml
expectations:
- constraint-id: role-defined-information-system-security-officer
result: pass

0 comments on commit b526be0

Please sign in to comment.