Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add component-responsible-role-references-party constraint #945

Merged
merged 4 commits into from
Dec 3, 2024

Conversation

Gabeblis
Copy link
Contributor

Committer Notes

Purpose

This PR introduces a constraint component-responsible-role-references-party, which ensures that each component dealing with leveraged systems, interconnections, or authorized services has a "provider" responsible-role that references exactly one valid party.

Changes

Added Constraint:

  • component-responsible-role-references-party: Validates that each component dealing with leveraged systems, interconnections, or authorized services has a "provider" responsible-role that references exactly one valid party.

Test Data:

  • Invalid Test Data File: Demonstrates the case where there the party count is not equal to 1.
  • Valid Test Data File: Demonstrates the case where the party count is equal to 1.

Added YAML Files

  • 2 YAML Files: Included pass and fail YAML files to validate the constraint:

All Submissions:

By submitting a pull request, you are agreeing to provide this contribution under the CC0 1.0 Universal public domain dedication.

@Gabeblis Gabeblis self-assigned this Nov 27, 2024
@Gabeblis Gabeblis requested a review from a team as a code owner November 27, 2024 15:21
DimitriZhurkin
DimitriZhurkin previously approved these changes Nov 27, 2024
wandmagic
wandmagic previously approved these changes Nov 27, 2024
Copy link
Member

@Rene2mt Rene2mt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Blocking]: The PR looks good, just suggestion to make sure we test against scenario where we get an SSP that has a leveraged authorization or external system with multiple parties associated.

@Gabeblis Gabeblis force-pushed the constraints/issue-937 branch from bdd70be to e568da8 Compare November 27, 2024 18:23
@Gabeblis
Copy link
Contributor Author

apologies @wandmagic @DimitriZhurkin, if you could please re-review. I had to add a small change on top of the rebase (adding remarks to the authentication method). Just future proofing for another constraint.

@Gabeblis Gabeblis force-pushed the constraints/issue-937 branch from e568da8 to 1a7c908 Compare November 27, 2024 18:33
@Gabeblis Gabeblis force-pushed the constraints/issue-937 branch from 2c19c60 to 62e9de6 Compare November 27, 2024 20:13
@Gabeblis Gabeblis changed the title Add constraint 'component-responsible-role-references-party' Add constraint component-responsible-role-references-party Nov 27, 2024
@Gabeblis Gabeblis changed the title Add constraint component-responsible-role-references-party Add component-responsible-role-references-party constraint Nov 27, 2024
Rene2mt
Rene2mt previously approved these changes Nov 27, 2024
wandmagic
wandmagic previously approved these changes Nov 27, 2024
DimitriZhurkin
DimitriZhurkin previously approved these changes Nov 27, 2024
@Gabeblis
Copy link
Contributor Author

@brian-ruf before this gets merged, I'd like to confirm with you that the change in 62e9de6 is what we're looking to test with this constraint. The constraint now checks that there is just one party-uuid referenced in "provider" responsible role (count(responsible-role[@role-id='provider']/party-uuid) = 1).

@brian-ruf
Copy link
Contributor

Correct. This can't be ambiguous as to who the provider is. There should be exactly one party associated with the "provider" role for each component where a provider must be identified.

@Gabeblis Gabeblis dismissed stale reviews from DimitriZhurkin, wandmagic, and Rene2mt via 8cf6169 November 29, 2024 19:55
@Gabeblis Gabeblis force-pushed the constraints/issue-937 branch from 62e9de6 to 8cf6169 Compare November 29, 2024 19:55
@Gabeblis
Copy link
Contributor Author

Correct. This can't be ambiguous as to who the provider is. There should be exactly one party associated with the "provider" role for each component where a provider must be identified.

Great. Thanks for confirming.

@Gabeblis Gabeblis force-pushed the constraints/issue-937 branch 2 times, most recently from 6162ee6 to 0313b0d Compare November 29, 2024 20:01
@Gabeblis Gabeblis force-pushed the constraints/issue-937 branch from 0313b0d to 66f8e60 Compare November 29, 2024 20:02
Copy link
Contributor

@aj-stein-gsa aj-stein-gsa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know we were discussing possible doc changes but the constraint looks solid, nice work.

wandmagic
wandmagic previously approved these changes Dec 2, 2024
@Gabeblis Gabeblis requested a review from a team December 2, 2024 19:39
aj-stein-gsa
aj-stein-gsa previously approved these changes Dec 2, 2024
Co-authored-by: A.J. Stein <[email protected]>
@Gabeblis Gabeblis dismissed stale reviews from aj-stein-gsa and wandmagic via 68f0f51 December 2, 2024 20:12
@aj-stein-gsa aj-stein-gsa mentioned this pull request Dec 2, 2024
7 tasks
Copy link
Member

@Rene2mt Rene2mt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good!

@Gabeblis Gabeblis merged commit 1377478 into GSA:develop Dec 3, 2024
6 checks passed
wandmagic added a commit to wandmagic/fedramp-automation that referenced this pull request Dec 11, 2024
commit f010473
Author: wandmagic <[email protected]>
Date:   Tue Dec 10 15:08:00 2024 -0500

    re-introduce implemented-requirements constraints (GSA#981)

    * re-introduce implemented-requirements constraints

    * add doc available check for health url

    * fix spacing

    * Update src/validations/constraints/fedramp-external-constraints.xml

    Co-authored-by: Gabeblis <[email protected]>

    * Update src/validations/constraints/fedramp-external-constraints.xml

    Co-authored-by: Gabeblis <[email protected]>

    ---------

    Co-authored-by: Gabeblis <[email protected]>

commit c0ad00e
Author: Gabeblis <[email protected]>
Date:   Mon Dec 9 17:17:47 2024 -0500

    Adjust link for all profiles (GSA#979)

commit 8561600
Author: Gabeblis <[email protected]>
Date:   Mon Dec 9 11:27:48 2024 -0500

    Add Components To `information-type-800-60-v2r1` Allowed Values (GSA#973)

    * Add Leveraged Authorizations and External, Interconnected, and Unauthorized Systems components to information-type allowed values

    * Adjust constraint target

commit 788b67e
Author: Gabeblis <[email protected]>
Date:   Mon Dec 9 09:32:35 2024 -0500

    Fix constraint targets (GSA#974)

commit 9d7946c
Author: A.J. Stein <[email protected]>
Date:   Fri Dec 6 17:10:04 2024 -0500

    [chore] Update container image to cli v2.4.0 (GSA#971)

commit b2c9712
Author: Gabeblis <[email protected]>
Date:   Fri Dec 6 15:26:04 2024 -0500

    Add `used-by-link-references-component` constraint (GSA#972)

    * Add 'used-by-link-references-component' constraint

    * Fix message

    Co-authored-by: Kylie Hunter <[email protected]>

    * fix message

    Co-authored-by: DimitriZhurkin <[email protected]>

    ---------

    Co-authored-by: Kylie Hunter <[email protected]>
    Co-authored-by: DimitriZhurkin <[email protected]>

commit 3dac668
Author: Gabeblis <[email protected]>
Date:   Fri Dec 6 13:43:16 2024 -0500

    Add `component-has-used-by-link` constraint (GSA#970)

    * Add constraint 'protocol-has-used-by-link'

    * Fix message

    * Change constraint id

    * Fix message (last time)

    * Update src/validations/constraints/content/ssp-component-has-used-by-link-INVALID.xml

    Co-authored-by: A.J. Stein <[email protected]>

    ---------

    Co-authored-by: A.J. Stein <[email protected]>

commit c3db2b2
Author: DimitriZhurkin <[email protected]>
Date:   Thu Dec 5 13:07:39 2024 -0700

    Add inter-boundary-component-has-direction constraint (GSA#930) (GSA#968)

commit 5d6710f
Author: Gabeblis <[email protected]>
Date:   Thu Dec 5 13:32:28 2024 -0500

    Fix dev-constraint.js bug (GSA#967)

commit a7f9022
Author: Gabeblis <[email protected]>
Date:   Thu Dec 5 13:23:21 2024 -0500

    Add exists() to tests and remove duplicate constraint and fix system-implementation context (GSA#966)

    Remove duplicate constraint and fix system-implementation context

commit 780b38a
Author: wandmagic <[email protected]>
Date:   Thu Dec 5 12:50:29 2024 -0500

    Hotfix/deprecate all valid (GSA#960)

    * deprecate ssp-all-valid

    * Update src/validations/constraints/content/ssp-has-network-architecture-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update src/validations/constraints/content/ssp-has-authorization-boundary-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update src/validations/constraints/content/ssp-has-data-flow-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update src/validations/constraints/content/ssp-has-network-architecture-diagram-link-href-target-VALID-1.xml

    Co-authored-by: A.J. Stein <[email protected]>

    * Update fedramp-ssp-example.oscal.xml

    ---------

    Co-authored-by: A.J. Stein <[email protected]>

commit 2c0e4de
Author: Gabeblis <[email protected]>
Date:   Thu Dec 5 10:21:00 2024 -0500

    Change cia-has-selected test (GSA#965)

commit 9a8e155
Author: wandmagic <[email protected]>
Date:   Wed Dec 4 15:30:29 2024 -0500

    Update fedramp-ssp-example.oscal.xml (GSA#959)

commit 5f7ce81
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 23:38:31 2024 +0000

    change example ssp location

commit 56f399e
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 23:23:59 2024 +0000

    Edit content to make constraints pass

commit d521a22
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 19:12:01 2024 +0000

    Delete extra ssp

commit 8cfb601
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 17:39:38 2024 +0000

    Add example ssp to content file and edit constraint script to point yaml pass file to example ssp

commit ff8f812
Author: ~ . ~ <[email protected]>
Date:   Tue Dec 3 13:50:22 2024 -0500

    fix ssp to pass tests

commit 85ec424
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 17:17:18 2024 +0000

    Add example ssp to content file and edit constraint script to point yaml pass file to example ssp

commit 7312686
Author: Kylie Hunter <[email protected]>
Date:   Mon Nov 25 16:15:01 2024 -0700

    Add connection-security prop constraint for GSA#931

commit 6ccb539
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 16:39:47 2024 -0500

    Add `issue-893` Constraints (GSA#949)

    * Add component-has-non-provider-responsible-role and tests

    * Add constraints and tests

    * Edit message

commit dd3be5f
Author: wandmagic <[email protected]>
Date:   Tue Dec 3 16:39:32 2024 -0500

    remove rev4 constraints (GSA#954)

commit 113c4f5
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 15:42:43 2024 -0500

    Fix Bug Issue GSA#940 (GSA#951)

commit c6f8e8f
Author: wandmagic <[email protected]>
Date:   Tue Dec 3 13:08:35 2024 -0500

    implementation point constraint (GSA#936)

    * implementation point constraint

    * add help uri

    * improve constraint

    * add extra fail content

    * Update src/validations/constraints/content/ssp-all-VALID.xml

    Co-authored-by: DimitriZhurkin <[email protected]>

    * Update fedramp-external-constraints.xml

    Co-authored-by: Rene Tshiteya <[email protected]>

    * implementation point constraint

    * add help uri

    * improve constraint

    * add extra fail content

    * Update src/validations/constraints/content/ssp-all-VALID.xml

    Co-authored-by: DimitriZhurkin <[email protected]>

    * Update fedramp-external-constraints.xml

    Co-authored-by: Rene Tshiteya <[email protected]>

    * add needed props to all valid

    * rebase

    Co-Authored-By: A.J. Stein <[email protected]>

    * Update src/validations/constraints/fedramp-external-constraints.xml

    Co-authored-by: A.J. Stein <[email protected]>

    ---------

    Co-authored-by: DimitriZhurkin <[email protected]>
    Co-authored-by: Rene Tshiteya <[email protected]>
    Co-authored-by: A.J. Stein <[email protected]>

commit 1377478
Author: Gabeblis <[email protected]>
Date:   Tue Dec 3 08:57:37 2024 -0500

    Add `component-responsible-role-references-party` constraint (GSA#945)

    * Add constraint 'component-responsible-role-references-party' and tests

    * correct test

    * Rename constraint and adjust help-url

    * Edit message

    Co-authored-by: A.J. Stein <[email protected]>

    ---------

    Co-authored-by: A.J. Stein <[email protected]>

commit a8461fb
Author: ~ . ~ <[email protected]>
Date:   Mon Dec 2 11:09:13 2024 -0500

    pin server + update oscal-js version

commit b82c417
Author: Gabeblis <[email protected]>
Date:   Mon Dec 2 14:07:05 2024 -0500

    Add `leveraged-authorization-has-valid-impact-level` Constraint (GSA#913)

    * Add leveraged-authorization constraint

    * rename constraint

    * fix constraint test

    * correct constraint test

    * Change 'http' to 'https'

    * Add level

commit 1db5f97
Author: Gabeblis <[email protected]>
Date:   Mon Dec 2 13:13:17 2024 -0500

    Constraints/cleanup constraints file (GSA#946)

    * clean up fedramp-external-constraints.xml

    * fix

    * Add message to fully-operational-date-type
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Provider Constraint for Leveraged Authorizations and External, Interconnected, and Unauthorized Systems
6 participants