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

SSP Leveraged Authorization Component Entries #898

Open
12 of 14 tasks
Tracked by #807
brian-ruf opened this issue Nov 13, 2024 · 1 comment · Fixed by GSA/automate.fedramp.gov#119 · May be fixed by #911
Open
12 of 14 tasks
Tracked by #807

SSP Leveraged Authorization Component Entries #898

brian-ruf opened this issue Nov 13, 2024 · 1 comment · Fixed by GSA/automate.fedramp.gov#119 · May be fixed by #911

Comments

@brian-ruf
Copy link
Collaborator

brian-ruf commented Nov 13, 2024

Constraint Task

As a FedRAMP Reviewer, I need to ensure that any leveraged authorization entries have required content in associated components.

Intended Outcome

  • Ensure every leveraged authorization entry is associated with exactly one component of type "system"
  • Ensure every "system" component linked to a leveraged authorization has exactly one nature-of-agreement FedRAMP extension property
  • Ensure every "system" component linked to a leveraged authorization has at least one information-type FedRAMP extension property
  • Ensure every "system" component linked to a leveraged authorization has at least one leveraged authorization users (WARN) ADDED
  • Ensure every "system" component linked to a leveraged authorization has exactly one implementation point property, and that it is set to "external" ADDED

Syntax Type

This is a mix of required, optional, and/or extended syntax.

Allowed Values

NIST-allowed values must be extended with FedRAMP allowed values.

Metapath(s) to Content

target="//system-implementation/leveraged-authorization"

count(//system-implementation/component[@type='system' and ./prop[@name='leveraged-authorization-uuid']][@value=./@uuid]) = 1

count(//system-implementation/component[@type='system'  and ./prop[@name='leveraged-authorization-uuid']]/prop[@name='nature-of-agreement' and @ns='http://fedramp.gov/ns/oscal']) = 1

count(//system-implementation/component[@type='system' and ./prop[@name='leveraged-authorization-uuid']]/prop[@name='information-type' and @ns='http://fedramp.gov/ns/oscal']) >= 1

count(//system-implementation/component[@type='system' and ./prop[@name='leveraged-authorization-uuid']]/responsible-role[@role-id='leveraged-authorization-users']//party-uuid) >= 1

count(//system-implementation/component[@type='system' and ./prop[@name='leveraged-authorization-uuid']]/prop[@name='implementation-point']) = 1

count(//system-implementation/component[@type='system' and ./prop[@name='leveraged-authorization-uuid']]/prop[@name='implementation-point' and @value = 'external']) = 

Purpose of the OSCAL Content

The content provides information necessary for reviewers to properly evaluate leveraged authorizations. This information is consistent with the requirements of Table 6.1 of the FedRAMP Rev 5 SSP Template.

Dependencies

None

Acceptance Criteria

  • All OSCAL adoption content affected by the change in this issue have been updated in accordance with the Documentation Standards.
    • Explanation is present and accurate
    • sample content is present and accurate
    • Metapath is present, accurate, and does not throw a syntax exception using oscal-cli metaschema metapath eval -e "expression".
  • All constraints associated with the review task have been created
  • The appropriate example OSCAL file is updated with content that demonstrates the FedRAMP-compliant OSCAL presentation.
  • The constraint conforms to the FedRAMP Constraint Style Guide.
    • All automated and manual review items that identify non-conformance are addressed; or technical leads (David Waltermire; AJ Stein) have approved the PR and “override” the style guide requirement.
  • Known good test content is created for unit testing.
  • Known bad test content is created for unit testing.
  • Unit testing is configured to run both known good and known bad test content examples.
  • Passing and failing unit tests, and corresponding test vectors in the form of known valid and invalid OSCAL test files, are created or updated for each constraint.
  • A Pull Request (PR) is submitted that fully addresses the goals section of the User Story in the issue.
  • This issue is referenced in the PR.

Other information

No response

@brian-ruf
Copy link
Collaborator Author

@Rene2mt please be aware one constraint had an incorrect predicate related to responsible-role

It had:
count(//system-implementation/component[@type='system' and ./prop[@name='implementation-point']]/responsible-role[@role-id='leveraged-authorization-users']//party-uuid) >= 1

I updated it to:
count(//system-implementation/component[@type='system' and ./prop[@name='leveraged-authorization-uuid']]/responsible-role[@role-id='leveraged-authorization-users']//party-uuid) >= 1

@Rene2mt Rene2mt linked a pull request Nov 18, 2024 that will close this issue
7 tasks
@Rene2mt Rene2mt linked a pull request Nov 18, 2024 that will close this issue
7 tasks
@aj-stein-gsa aj-stein-gsa moved this from 🏗 In progress to 👀 In review in FedRAMP Automation Nov 19, 2024
@aj-stein-gsa aj-stein-gsa moved this from 👀 In review to 🏗 In progress in FedRAMP Automation Nov 20, 2024
@Gabeblis Gabeblis moved this from 👀 In review to 🚢 Ready to Ship in FedRAMP Automation Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment