GSA / fedramp-automation

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

Provider Constraint for Leveraged Authorizations and External, Interconnected, and Unauthorized Systems #937

Open brian-ruf opened 1 day ago

brian-ruf commented 1 day ago

Constraint Task

Ensure the "provider" responsible-role is present in appropriate components dealing with leveraged systems, interconnections, and authorized services, and each references a valid party.

Intended Outcome

The constraint exists to ensure reviewers know what organization(s) own each external system or service with which this system is communicating.

Syntax Type

This is optional core OSCAL syntax.

Allowed Values

There are no relevant allowed values.

Metapath(s) to Content

The applicable components ...

target = "//component[
   (@type='system' and ./prop[@name='leveraged-authorization-uuid'])
or
   (@type='service' and not(./prop[@name='leveraged-authorization-uuid']) and  ./prop[@name='implementation-point' and @value='external'])
or
   (@type='interconnection')
or 
   (@type='service' and ./prop[@name='implementation-point' and @value='internal'] and ./prop[@name='direction'])
or
   (@type='software' and ./prop[@name='asset-type' and @value='cli'] and ./prop[@name='direction'])
]"

... must each identify exactly one party via the "provider" responsible role:

count(//party[@uuid=./responsible-role[@role-id='provider']/party-uuid]) = 1

Purpose of the OSCAL Content

Documents the owner of systems with which this system communicates across the authorization boundary.

Dependencies

No response

Acceptance Criteria

Other information

No response

brian-ruf commented 1 day ago

This issue uses the same target and data constructs as #893. Consider having the same person work both together.