diff --git a/features/fedramp_extensions.feature b/features/fedramp_extensions.feature index ecf2d4156..955fce586 100644 --- a/features/fedramp_extensions.feature +++ b/features/fedramp_extensions.feature @@ -167,6 +167,20 @@ Examples: | security-level-PASS.yaml | | security-sensitivity-level-matches-security-impact-level-FAIL.yaml | | security-sensitivity-level-matches-security-impact-level-PASS.yaml | + | user-has-authorized-privilege-FAIL.yaml | + | user-has-authorized-privilege-PASS.yaml | + | user-has-privilege-level-FAIL.yaml | + | user-has-privilege-level-PASS.yaml | + | user-has-role-id-FAIL.yaml | + | user-has-role-id-PASS.yaml | + | user-has-sensitivity-level-FAIL.yaml | + | user-has-sensitivity-level-PASS.yaml | + | user-has-user-type-FAIL.yaml | + | user-has-user-type-PASS.yaml | + | user-privilege-level-FAIL.yaml | + | user-privilege-level-PASS.yaml | + | user-sensitivity-level-FAIL.yaml | + | user-sensitivity-level-PASS.yaml | | user-type-FAIL.yaml | | user-type-PASS.yaml | #END_DYNAMIC_TEST_CASES @@ -260,5 +274,12 @@ Examples: | scan-type | | security-level | | security-sensitivity-level-matches-security-impact-level | + | user-has-authorized-privilege | + | user-has-privilege-level | + | user-has-role-id | + | user-has-sensitivity-level | + | user-has-user-type | + | user-privilege-level | + | user-sensitivity-level | | user-type | #END_DYNAMIC_CONSTRAINT_IDS \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-all-VALID.xml b/src/validations/constraints/content/ssp-all-VALID.xml index 641840263..5e0a5b33e 100644 --- a/src/validations/constraints/content/ssp-all-VALID.xml +++ b/src/validations/constraints/content/ssp-all-VALID.xml @@ -203,8 +203,15 @@ System Administrator - + + system-admin + + Admin +

admin user

+ administration +
+
diff --git a/src/validations/constraints/content/ssp-privilege-level-INVALID.xml b/src/validations/constraints/content/ssp-privilege-level-INVALID.xml index 8413ce1bc..dcd963ded 100644 --- a/src/validations/constraints/content/ssp-privilege-level-INVALID.xml +++ b/src/validations/constraints/content/ssp-privilege-level-INVALID.xml @@ -5,7 +5,7 @@ uuid="12345678-1234-4321-8765-123456789012"> - + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-user-INVALID.xml b/src/validations/constraints/content/ssp-user-INVALID.xml new file mode 100644 index 000000000..3e73a1fb1 --- /dev/null +++ b/src/validations/constraints/content/ssp-user-INVALID.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/src/validations/constraints/content/ssp-user-privilege-level-INVALID.xml b/src/validations/constraints/content/ssp-user-privilege-level-INVALID.xml new file mode 100644 index 000000000..695e56111 --- /dev/null +++ b/src/validations/constraints/content/ssp-user-privilege-level-INVALID.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/validations/constraints/content/ssp-user-sensitivity-level-INVALID.xml b/src/validations/constraints/content/ssp-user-sensitivity-level-INVALID.xml new file mode 100644 index 000000000..a1e2b8801 --- /dev/null +++ b/src/validations/constraints/content/ssp-user-sensitivity-level-INVALID.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/validations/constraints/fedramp-external-allowed-values.xml b/src/validations/constraints/fedramp-external-allowed-values.xml index 4b5ae3b06..b79d8aa7d 100644 --- a/src/validations/constraints/fedramp-external-allowed-values.xml +++ b/src/validations/constraints/fedramp-external-allowed-values.xml @@ -1,5 +1,5 @@ - + @@ -155,6 +155,7 @@ User Type The type of user. + Internal External Privileged @@ -164,9 +165,10 @@ The system used for categorizing information types. NIST SP 800-60 Volume 2 Revision 1 - + Privilege Level The privilege level of the user. + Read Read-Write Write @@ -377,6 +379,26 @@ Industry Sector Income Stabilization + + + Privilege Level + The privilege level of the user. + + Read + Read-Write + Write + No Access + + + User Sensitvity Level + Sensitivity level of the user. + + High Risk + Severe + Moderate + Limited + Not Applicable + diff --git a/src/validations/constraints/fedramp-external-constraints.xml b/src/validations/constraints/fedramp-external-constraints.xml index 6c024946b..58c1985c1 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -1,5 +1,5 @@ - + @@ -42,6 +42,32 @@ + + + + + + + A FedRAMP document MUST define a user with a type. + + + + A FedRAMP document MUST define a user with a privilege for their use of the system. + + + + A FedRAMP document MUST define a user with a sensitivity level of their use of the system. + + + + A FedRAMP document MUST define a user with at least one role by a role identifier. + + + + A FedRAMP document MUST define a user with at least one authorized privilege by a privilege identifier. + + + diff --git a/src/validations/constraints/unit-tests/user-has-authorized-privilege-FAIL.yaml b/src/validations/constraints/unit-tests/user-has-authorized-privilege-FAIL.yaml new file mode 100644 index 000000000..6e6e6c3f2 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-authorized-privilege-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for user-has-authorized-privilege + description: >- + This test case validates the behavior of constraint + user-has-authorized-privilege + content: ../content/ssp-user-INVALID.xml + expectations: + - constraint-id: user-has-authorized-privilege + result: fail diff --git a/src/validations/constraints/unit-tests/user-has-authorized-privilege-PASS.yaml b/src/validations/constraints/unit-tests/user-has-authorized-privilege-PASS.yaml new file mode 100644 index 000000000..3964c8422 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-authorized-privilege-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for user-has-authorized-privilege + description: >- + This test case validates the behavior of constraint + user-has-authorized-privilege + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: user-has-authorized-privilege + result: pass diff --git a/src/validations/constraints/unit-tests/user-has-privilege-level-FAIL.yaml b/src/validations/constraints/unit-tests/user-has-privilege-level-FAIL.yaml new file mode 100644 index 000000000..89e5cebb3 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-privilege-level-FAIL.yaml @@ -0,0 +1,7 @@ +test-case: + name: Negative Test for user-has-privilege-level + description: This test case validates the behavior of constraint user-has-privilege-level + content: ../content/ssp-user-INVALID.xml + expectations: + - constraint-id: user-has-privilege-level + result: fail diff --git a/src/validations/constraints/unit-tests/user-has-privilege-level-PASS.yaml b/src/validations/constraints/unit-tests/user-has-privilege-level-PASS.yaml new file mode 100644 index 000000000..cc9f3218d --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-privilege-level-PASS.yaml @@ -0,0 +1,7 @@ +test-case: + name: Positive Test for user-has-privilege-level + description: This test case validates the behavior of constraint user-has-privilege-level + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: user-has-privilege-level + result: pass diff --git a/src/validations/constraints/unit-tests/user-has-role-id-FAIL.yaml b/src/validations/constraints/unit-tests/user-has-role-id-FAIL.yaml new file mode 100644 index 000000000..051e3f77c --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-role-id-FAIL.yaml @@ -0,0 +1,7 @@ +test-case: + name: Negative Test for user-has-role-id + description: This test case validates the behavior of constraint user-has-role-id + content: ../content/ssp-user-INVALID.xml + expectations: + - constraint-id: user-has-role-id + result: fail diff --git a/src/validations/constraints/unit-tests/user-has-role-id-PASS.yaml b/src/validations/constraints/unit-tests/user-has-role-id-PASS.yaml new file mode 100644 index 000000000..917dea426 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-role-id-PASS.yaml @@ -0,0 +1,7 @@ +test-case: + name: Positive Test for user-has-role-id + description: This test case validates the behavior of constraint user-has-role-id + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: user-has-role-id + result: pass diff --git a/src/validations/constraints/unit-tests/user-has-sensitivity-level-FAIL.yaml b/src/validations/constraints/unit-tests/user-has-sensitivity-level-FAIL.yaml new file mode 100644 index 000000000..1fcd4e448 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-sensitivity-level-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for user-has-sensitivity-level + description: >- + This test case validates the behavior of constraint + user-has-sensitivity-level + content: ../content/ssp-user-INVALID.xml + expectations: + - constraint-id: user-has-sensitivity-level + result: fail diff --git a/src/validations/constraints/unit-tests/user-has-sensitivity-level-PASS.yaml b/src/validations/constraints/unit-tests/user-has-sensitivity-level-PASS.yaml new file mode 100644 index 000000000..cc8adf6ee --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-sensitivity-level-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for user-has-sensitivity-level + description: >- + This test case validates the behavior of constraint + user-has-sensitivity-level + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: user-has-sensitivity-level + result: pass diff --git a/src/validations/constraints/unit-tests/user-has-user-type-FAIL.yaml b/src/validations/constraints/unit-tests/user-has-user-type-FAIL.yaml new file mode 100644 index 000000000..c0399549f --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-user-type-FAIL.yaml @@ -0,0 +1,7 @@ +test-case: + name: Negative Test for user-has-user-type + description: This test case validates the behavior of constraint user-has-user-type + content: ../content/ssp-user-INVALID.xml + expectations: + - constraint-id: user-has-user-type + result: fail diff --git a/src/validations/constraints/unit-tests/user-has-user-type-PASS.yaml b/src/validations/constraints/unit-tests/user-has-user-type-PASS.yaml new file mode 100644 index 000000000..c13224ed4 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-has-user-type-PASS.yaml @@ -0,0 +1,7 @@ +test-case: + name: Positive Test for user-has-user-type + description: This test case validates the behavior of constraint user-has-user-type + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: user-has-user-type + result: pass diff --git a/src/validations/constraints/unit-tests/user-privilege-level-FAIL.yaml b/src/validations/constraints/unit-tests/user-privilege-level-FAIL.yaml new file mode 100644 index 000000000..bb542e47a --- /dev/null +++ b/src/validations/constraints/unit-tests/user-privilege-level-FAIL.yaml @@ -0,0 +1,7 @@ +test-case: + name: Negative Test for user-privilege-level + description: This test case validates the behavior of constraint user-privilege-level + content: ../content/ssp-user-privilege-level-INVALID.xml + expectations: + - constraint-id: user-privilege-level + result: fail diff --git a/src/validations/constraints/unit-tests/user-privilege-level-PASS.yaml b/src/validations/constraints/unit-tests/user-privilege-level-PASS.yaml new file mode 100644 index 000000000..db272e857 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-privilege-level-PASS.yaml @@ -0,0 +1,7 @@ +test-case: + name: Positive Test for user-privilege-level + description: This test case validates the behavior of constraint user-privilege-level + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: user-privilege-level + result: pass diff --git a/src/validations/constraints/unit-tests/user-sensitivity-level-FAIL.yaml b/src/validations/constraints/unit-tests/user-sensitivity-level-FAIL.yaml new file mode 100644 index 000000000..c3e7f295a --- /dev/null +++ b/src/validations/constraints/unit-tests/user-sensitivity-level-FAIL.yaml @@ -0,0 +1,7 @@ +test-case: + name: Negative Test for user-sensitivity-level + description: This test case validates the behavior of constraint user-sensitivity-level + content: ../content/ssp-user-sensitivity-level-INVALID.xml + expectations: + - constraint-id: user-sensitivity-level + result: fail diff --git a/src/validations/constraints/unit-tests/user-sensitivity-level-PASS.yaml b/src/validations/constraints/unit-tests/user-sensitivity-level-PASS.yaml new file mode 100644 index 000000000..582d4cd37 --- /dev/null +++ b/src/validations/constraints/unit-tests/user-sensitivity-level-PASS.yaml @@ -0,0 +1,7 @@ +test-case: + name: Positive Test for user-sensitivity-level + description: This test case validates the behavior of constraint user-sensitivity-level + content: ../content/ssp-all-VALID.xml + expectations: + - constraint-id: user-sensitivity-level + result: pass