diff --git a/features/fedramp_extensions.feature b/features/fedramp_extensions.feature index 423497d98..92110a420 100644 --- a/features/fedramp_extensions.feature +++ b/features/fedramp_extensions.feature @@ -37,6 +37,7 @@ Examples: | component-has-authentication-method | | component-has-non-provider-responsible-role | | component-has-provider-responsible-role | + | component-has-used-by-link | | component-type | | control-implementation-status | | data-center-alternate | @@ -183,6 +184,8 @@ Examples: | component-has-authentication-method-PASS.yaml | | component-has-non-provider-responsible-role-FAIL.yaml | | component-has-non-provider-responsible-role-PASS.yaml | + | component-has-used-by-link-FAIL.yaml | + | component-has-used-by-link-PASS.yaml | | component-responsible-role-references-party-FAIL.yaml | | component-responsible-role-references-party-PASS.yaml | | component-type-FAIL.yaml | diff --git a/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml b/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml index 91fd25b6e..2748dbc81 100644 --- a/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml +++ b/src/content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml @@ -1196,6 +1196,7 @@ + @@ -1425,6 +1426,7 @@ + @@ -1525,6 +1527,7 @@ + 11111111-2222-4000-8000-004000000018 diff --git a/src/validations/constraints/content/ssp-component-has-used-by-link-INVALID.xml b/src/validations/constraints/content/ssp-component-has-used-by-link-INVALID.xml new file mode 100644 index 000000000..8ba3c1d90 --- /dev/null +++ b/src/validations/constraints/content/ssp-component-has-used-by-link-INVALID.xml @@ -0,0 +1,11 @@ + + + + + + Incoming FTP Service + + + + + \ 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 af7ae5b20..26382a527 100644 --- a/src/validations/constraints/fedramp-external-constraints.xml +++ b/src/validations/constraints/fedramp-external-constraints.xml @@ -555,6 +555,11 @@ A FedRAMP SSP with service components and CLI software components performing cross-boundary network communication MUST indicate exactly one time if the point of implementation is internal or external to the system. + + Component Has Used-By Link + + A FedRAMP SSP's component MUST identify which other components use it via network communication. Component "{ @uuid }" exposes ports for other components to connect, but does not identify which components use it. + Unique Asset Identifier Ensure each inventory item has a unique asset-id property. diff --git a/src/validations/constraints/unit-tests/component-has-used-by-link-FAIL.yaml b/src/validations/constraints/unit-tests/component-has-used-by-link-FAIL.yaml new file mode 100644 index 000000000..6d955c12e --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-used-by-link-FAIL.yaml @@ -0,0 +1,9 @@ +test-case: + name: Negative Test for component-has-used-by-link + description: >- + This test case validates the behavior of constraint + component-has-used-by-link + content: ../content/ssp-component-has-used-by-link-INVALID.xml + expectations: + - constraint-id: component-has-used-by-link + result: fail diff --git a/src/validations/constraints/unit-tests/component-has-used-by-link-PASS.yaml b/src/validations/constraints/unit-tests/component-has-used-by-link-PASS.yaml new file mode 100644 index 000000000..78fbc167f --- /dev/null +++ b/src/validations/constraints/unit-tests/component-has-used-by-link-PASS.yaml @@ -0,0 +1,9 @@ +test-case: + name: Positive Test for component-has-used-by-link + description: >- + This test case validates the behavior of constraint + component-has-used-by-link + content: ../../../content/rev5/examples/ssp/xml/fedramp-ssp-example.oscal.xml + expectations: + - constraint-id: component-has-used-by-link + result: pass