GSA / fedramp-automation

FedRAMP Automation
https://www.fedramp.gov/using-the-fedramp-oscal-resources-and-templates/
Other
293 stars 89 forks source link

SSP Leveraged Authorization Component Entries #898

Open brian-ruf opened 1 week ago

brian-ruf commented 1 week ago

Constraint Task

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

Intended Outcome

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

Other information

No response

brian-ruf commented 1 week ago

@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