From ddd3a02de288417595c0524566e848a4b40d288e Mon Sep 17 00:00:00 2001 From: Gabeblis Date: Wed, 11 Sep 2024 10:03:11 -0400 Subject: [PATCH] Add back-matter 'has' constraints (#654) * Added back-matter 'has' constraints * Set levels to 'ERROR' --- features/fedramp_extensions.feature | 18 ++++ .../constraints/content/ssp-all-VALID.xml | 89 ++++++++++++++++++- .../fedramp-external-constraints.xml | 18 ++++ ...as-configuration-management-plan-FAIL.yaml | 9 ++ ...as-configuration-management-plan-PASS.yaml | 9 ++ .../has-incident-response-plan-FAIL.yaml | 9 ++ .../has-incident-response-plan-PASS.yaml | 9 ++ ...ormation-system-contingency-plan-FAIL.yaml | 9 ++ ...ormation-system-contingency-plan-PASS.yaml | 9 ++ .../has-rules-of-behavior-FAIL.yaml | 7 ++ .../has-rules-of-behavior-PASS.yaml | 7 ++ .../has-separation-of-duties-matrix-FAIL.yaml | 9 ++ .../has-separation-of-duties-matrix-PASS.yaml | 9 ++ .../unit-tests/has-user-guide-FAIL.yaml | 7 ++ .../unit-tests/has-user-guide-PASS.yaml | 7 ++ 15 files changed, 224 insertions(+), 1 deletion(-) create mode 100644 src/validations/constraints/unit-tests/has-configuration-management-plan-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/has-configuration-management-plan-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/has-incident-response-plan-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/has-incident-response-plan-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/has-information-system-contingency-plan-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/has-information-system-contingency-plan-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/has-rules-of-behavior-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/has-rules-of-behavior-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/has-separation-of-duties-matrix-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/has-separation-of-duties-matrix-PASS.yaml create mode 100644 src/validations/constraints/unit-tests/has-user-guide-FAIL.yaml create mode 100644 src/validations/constraints/unit-tests/has-user-guide-PASS.yaml diff --git a/features/fedramp_extensions.feature b/features/fedramp_extensions.feature index cae0d0fc8..a297fc489 100644 --- a/features/fedramp_extensions.feature +++ b/features/fedramp_extensions.feature @@ -39,6 +39,18 @@ Examples: | data-center-us-PASS.yaml | | deployment-mode-FAIL.yaml | | deployment-mode-PASS.yaml | + | has-configuration-management-plan-FAIL.yaml | + | has-configuration-management-plan-PASS.yaml | + | has-incident-response-plan-FAIL.yaml | + | has-incident-response-plan-PASS.yaml | + | has-information-system-contingency-plan-FAIL.yaml | + | has-information-system-contingency-plan-PASS.yaml | + | has-rules-of-behavior-FAIL.yaml | + | has-rules-of-behavior-PASS.yaml | + | has-separation-of-duties-matrix-FAIL.yaml | + | has-separation-of-duties-matrix-PASS.yaml | + | has-user-guide-FAIL.yaml | + | has-user-guide-PASS.yaml | | information-type-system-FAIL.yaml | | information-type-system-PASS.yaml | | interconnection-direction-FAIL.yaml | @@ -84,6 +96,12 @@ Examples: | data-center-country-code | | data-center-primary | | deployment-model | + | has-configuration-management-plan | + | has-incident-response-plan | + | has-information-system-contingency-plan | + | has-rules-of-behavior | + | has-separation-of-duties-matrix | + | has-user-guide | | information-type-system | | interconnection-direction | | interconnection-security | diff --git a/src/validations/constraints/content/ssp-all-VALID.xml b/src/validations/constraints/content/ssp-all-VALID.xml index feee85913..4bbcee219 100644 --- a/src/validations/constraints/content/ssp-all-VALID.xml +++ b/src/validations/constraints/content/ssp-all-VALID.xml @@ -205,5 +205,92 @@ + + User's Guide + +

User's Guide

+
+ + + + +

Table 12-1 Attachments: User's Guide Attachment

+

May use rlink with a relative path, or embedded as base64.

+
+
+ + Document Title + +

Rules of Behavior

+
+ + + + + 00000000 + +

Table 12-1 Attachments: Rules of Behavior (ROB)

+

May use rlink with a relative path, or embedded as base64.

+
+
+ + Document Title + +

Contingency Plan (CP)

+
+ + + + + 00000000 + +

Table 12-1 Attachments: Contingency Plan (CP) Attachment

+

May use rlink with a relative path, or embedded as base64.

+
+
+ + Document Title + +

Configuration Management (CM) Plan

+
+ + + + + 00000000 + +

Table 12-1 Attachments: Configuration Management (CM) Plan Attachment

+

May use rlink with a relative path, or embedded as base64.

+
+
+ + Document Title + +

Incident Response (IR) Plan

+
+ + + + + 00000000 + +

Table 12-1 Attachments: Incident Response (IR) Plan Attachment

+

May use rlink with a relative path, or embedded as base64.

+
+
+ + Separation of Duties Matrix + +

Separation of Duties Matrix

+
+ + + + + 00000000 + +

May use rlink with a relative path, or embedded as base64.

+
+
- \ No newline at end of file + diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index 34b7faa2b..484f6f85a 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -40,6 +40,24 @@ Every supporting artifact found in a citation must have at least one base64 or rlink element. + + A FedRAMP SSP must have a User Guide attached. + + + A FedRAMP SSP must have Rules of Behavior. + + + A FedRAMP SSP must have a Contingency Plan attached. + + + A FedRAMP SSP must have a Configuration Management Plan attached. + + + A FedRAMP SSP must have an Incident Response Plan attached. + + + A FedRAMP SSP must have a Separation of Duties Matrix attached. + diff --git a/src/validations/constraints/unit-tests/has-configuration-management-plan-FAIL.yaml b/src/validations/constraints/unit-tests/has-configuration-management-plan-FAIL.yaml new file mode 100644 index 000000000..8690c51cf --- /dev/null +++ b/src/validations/constraints/unit-tests/has-configuration-management-plan-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-configuration-management-plan + description: >- + This test case validates the behavior of constraint + has-configuration-management-plan + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-configuration-management-plan + result: fail diff --git a/src/validations/constraints/unit-tests/has-configuration-management-plan-PASS.yaml b/src/validations/constraints/unit-tests/has-configuration-management-plan-PASS.yaml new file mode 100644 index 000000000..e0549b2de --- /dev/null +++ b/src/validations/constraints/unit-tests/has-configuration-management-plan-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-configuration-management-plan + description: >- + This test case validates the behavior of constraint + has-configuration-management-plan + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-configuration-management-plan + result: pass diff --git a/src/validations/constraints/unit-tests/has-incident-response-plan-FAIL.yaml b/src/validations/constraints/unit-tests/has-incident-response-plan-FAIL.yaml new file mode 100644 index 000000000..00571bd54 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-incident-response-plan-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-incident-response-plan + description: >- + This test case validates the behavior of constraint + has-incident-response-plan + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-incident-response-plan + result: fail diff --git a/src/validations/constraints/unit-tests/has-incident-response-plan-PASS.yaml b/src/validations/constraints/unit-tests/has-incident-response-plan-PASS.yaml new file mode 100644 index 000000000..5fc613770 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-incident-response-plan-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-incident-response-plan + description: >- + This test case validates the behavior of constraint + has-incident-response-plan + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-incident-response-plan + result: pass diff --git a/src/validations/constraints/unit-tests/has-information-system-contingency-plan-FAIL.yaml b/src/validations/constraints/unit-tests/has-information-system-contingency-plan-FAIL.yaml new file mode 100644 index 000000000..12829e89d --- /dev/null +++ b/src/validations/constraints/unit-tests/has-information-system-contingency-plan-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-information-system-contingency-plan + description: >- + This test case validates the behavior of constraint + has-information-system-contingency-plan + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-information-system-contingency-plan + result: fail diff --git a/src/validations/constraints/unit-tests/has-information-system-contingency-plan-PASS.yaml b/src/validations/constraints/unit-tests/has-information-system-contingency-plan-PASS.yaml new file mode 100644 index 000000000..66b92ccff --- /dev/null +++ b/src/validations/constraints/unit-tests/has-information-system-contingency-plan-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-information-system-contingency-plan + description: >- + This test case validates the behavior of constraint + has-information-system-contingency-plan + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-information-system-contingency-plan + result: pass diff --git a/src/validations/constraints/unit-tests/has-rules-of-behavior-FAIL.yaml b/src/validations/constraints/unit-tests/has-rules-of-behavior-FAIL.yaml new file mode 100644 index 000000000..a8fb5cd39 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-rules-of-behavior-FAIL.yaml @@ -0,0 +1,7 @@ +test-case: + name: Negative Test for has-rules-of-behavior + description: This test case validates the behavior of constraint has-rules-of-behavior + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-rules-of-behavior + result: fail diff --git a/src/validations/constraints/unit-tests/has-rules-of-behavior-PASS.yaml b/src/validations/constraints/unit-tests/has-rules-of-behavior-PASS.yaml new file mode 100644 index 000000000..674cd2e58 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-rules-of-behavior-PASS.yaml @@ -0,0 +1,7 @@ +test-case: + name: Positive Test for has-rules-of-behavior + description: This test case validates the behavior of constraint has-rules-of-behavior + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-rules-of-behavior + result: pass diff --git a/src/validations/constraints/unit-tests/has-separation-of-duties-matrix-FAIL.yaml b/src/validations/constraints/unit-tests/has-separation-of-duties-matrix-FAIL.yaml new file mode 100644 index 000000000..f08c71f1c --- /dev/null +++ b/src/validations/constraints/unit-tests/has-separation-of-duties-matrix-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for has-separation-of-duties-matrix + description: >- + This test case validates the behavior of constraint + has-separation-of-duties-matrix + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-separation-of-duties-matrix + result: fail diff --git a/src/validations/constraints/unit-tests/has-separation-of-duties-matrix-PASS.yaml b/src/validations/constraints/unit-tests/has-separation-of-duties-matrix-PASS.yaml new file mode 100644 index 000000000..25bd5240b --- /dev/null +++ b/src/validations/constraints/unit-tests/has-separation-of-duties-matrix-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for has-separation-of-duties-matrix + description: >- + This test case validates the behavior of constraint + has-separation-of-duties-matrix + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-separation-of-duties-matrix + result: pass diff --git a/src/validations/constraints/unit-tests/has-user-guide-FAIL.yaml b/src/validations/constraints/unit-tests/has-user-guide-FAIL.yaml new file mode 100644 index 000000000..bbe09e5ce --- /dev/null +++ b/src/validations/constraints/unit-tests/has-user-guide-FAIL.yaml @@ -0,0 +1,7 @@ +test-case: + name: Negative Test for has-user-guide + description: This test case validates the behavior of constraint has-user-guide + content: ../content/ssp-all-INVALID.xml + expectations: + - constraint-id: has-user-guide + result: fail diff --git a/src/validations/constraints/unit-tests/has-user-guide-PASS.yaml b/src/validations/constraints/unit-tests/has-user-guide-PASS.yaml new file mode 100644 index 000000000..ab5e22bc1 --- /dev/null +++ b/src/validations/constraints/unit-tests/has-user-guide-PASS.yaml @@ -0,0 +1,7 @@ +test-case: + name: Positive Test for has-user-guide + description: This test case validates the behavior of constraint has-user-guide + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: has-user-guide + result: pass