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 responsible-party-is-person constraint #652

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

Rene2mt
Copy link
Member

@Rene2mt Rene2mt commented Sep 5, 2024

Committer Notes

This PR adds responsible-party-is-person constraint, which checks that responsible-party assemblies with role-id set to certain values (e.g., "system-owner", "authorizing-official", "authorizing-official-poc", "system-poc-management", "system-poc-technical", "system-poc-other", and "information-system-security-officer") must reference a party of type "person".

All Submissions:

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

@Rene2mt Rene2mt force-pushed the constraints/responsible-party-is-person branch 2 times, most recently from 6450680 to cc33ee8 Compare September 11, 2024 20:29
@Rene2mt Rene2mt changed the title WIP Add responsible-party-is-person constraint Add responsible-party-is-person constraint Sep 11, 2024
@Rene2mt Rene2mt marked this pull request as ready for review September 11, 2024 22:31
@Rene2mt Rene2mt requested a review from a team as a code owner September 11, 2024 22:31
@Rene2mt
Copy link
Member Author

Rene2mt commented Sep 11, 2024

Added issue GSA/automate.fedramp.gov#57 for required documentation updates.

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.

Will possibly approve after rebase and merge once documentation for the referenced doc PR is complete.

In the meantime, rebase, please and thank you. 🙏

@Rene2mt Rene2mt force-pushed the constraints/responsible-party-is-person branch from cc33ee8 to a978a29 Compare September 18, 2024 17:53
@Rene2mt
Copy link
Member Author

Rene2mt commented Sep 18, 2024

Hey @aj-stein-gsa once I rebased, some of the validations were no longer passing due to modifications I had made to the ssp-all-INVALID.xml test content, so the latest commit rolled those changes back and created a separate test SSP for this new responsible-party-is-person constraint.

@Rene2mt Rene2mt force-pushed the constraints/responsible-party-is-person branch from 09ddd50 to 4829962 Compare September 19, 2024 18:56
@Rene2mt Rene2mt changed the base branch from feature/external-constraints to develop September 25, 2024 23:54
@aj-stein-gsa aj-stein-gsa force-pushed the constraints/responsible-party-is-person branch from 965d5fb to 89f03f7 Compare September 26, 2024 01:13
@Rene2mt Rene2mt force-pushed the constraints/responsible-party-is-person branch from 89f03f7 to 664edf4 Compare September 26, 2024 01:28
aj-stein-gsa
aj-stein-gsa previously approved these changes Sep 26, 2024
Comment on lines +78 to +89
<responsible-party role-id="system-poc-management">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
<responsible-party role-id="system-poc-technical">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
<responsible-party role-id="system-poc-other">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
<responsible-party role-id="information-system-security-officer">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
Copy link
Contributor

Choose a reason for hiding this comment

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

Minor, non-blocking: all good changes but should we show example content even in a negative test for roles we recently confirm should not be included in FR requirements?

Suggested change
<responsible-party role-id="system-poc-management">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
<responsible-party role-id="system-poc-technical">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
<responsible-party role-id="system-poc-other">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>
<responsible-party role-id="information-system-security-officer">
<party-uuid>11111111-0000-4000-9000-000000000001</party-uuid>
</responsible-party>

Copy link
Member Author

@Rene2mt Rene2mt Oct 4, 2024

Choose a reason for hiding this comment

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

Here's how interpreted the role requirements:

The following roles must be defined, and must have responsible-party with a party of type "person":

  • system-owner
  • authorizing-official-poc
  • information-system-security-officer

The following roles are not required (are optional). But if they are specified, they should have responsible-party with a party of type "person":

  • system-poc-management
  • system-poc-technical
  • system-poc-other

Note the 3 system-poc-* roles are considered optional (for now) because that information seems to have been removed from the latest legacy SSP template, however, this is very useful information.

Copy link
Contributor

Choose a reason for hiding this comment

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

Up to you, so you are saying you want to keep them?

Copy link
Contributor

Choose a reason for hiding this comment

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

If so we add the prop and end it?

Copy link
Member Author

Choose a reason for hiding this comment

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

yep, lets keep the roles for now. will update this PR the constraint help prop today

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: 👀 In review
Development

Successfully merging this pull request may close these issues.

2 participants