|
514 | 514 | <context>
|
515 | 515 | <metapath target="/system-security-plan/system-implementation"/>
|
516 | 516 | <constraints>
|
| 517 | + <let var="inter-boundary-component" expression="component[(@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'])]"/> |
517 | 518 | <expect id="authentication-method-has-remarks" 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'])]" test="count(./prop[@name='authentication-method' and @ns='https://fedramp.gov/ns/oscal']) = count(./prop[@name='authentication-method' and @ns='https://fedramp.gov/ns/oscal']/remarks)" level="ERROR">
|
518 | 519 | <formal-name>Authentication Method Has Remarks</formal-name>
|
519 | 520 | <prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/4-ssp-template-to-oscal-mapping/#leveraged-fedramp-authorized-services"/>
|
520 | 521 | <message>Each authentication method in a FedRAMP SSP MUST have a remarks field.</message>
|
521 | 522 | </expect>
|
522 |
| - <expect id="has-inventory-items" target="." test="count(inventory-item) >= 2" level="ERROR"> |
| 523 | + <expect id="has-inventory-items" target="." test="count(inventory-item) >= 2" level="ERROR"> |
523 | 524 | <formal-name>System Implementation Has Inventory Items</formal-name>
|
524 | 525 | <prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/5-attachments/#system-inventory-approach"/>
|
525 | 526 | <message>A FedRAMP SSP system implementation section MUST have at least two inventory items.</message>
|
526 |
| - </expect> |
| 527 | + </expect> |
| 528 | + <expect id="inter-boundary-component-has-direction" target="$inter-boundary-component" test="count(prop[@name='direction']) >= 1 and count(prop[@name='direction' and @value='incoming']) <= 1 and count(prop[@name='direction' and @value='outgoing']) <= 1" level="ERROR"> |
| 529 | + <formal-name>Inter-Boundary Component Has Direction</formal-name> |
| 530 | + <prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/4-ssp-template-to-oscal-mapping/#external-systems-and-services-not-having-fedramp-authorization"/> |
| 531 | + <message>In an inter-boundary communication component, a FedRAMP SSP MUST have at least one direction property, with no more than one incoming and no more than one outgoing direction.</message> |
| 532 | + </expect> |
527 | 533 | <expect id="leveraged-authorization-has-authorization-type" target="leveraged-authorization" test="count(prop[@name='authorization-type'][@ns='https://fedramp.gov/ns/oscal']) = 1" level="ERROR">
|
528 | 534 | <formal-name>Leveraged Authorization Has Authorization Type</formal-name>
|
529 | 535 | <prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/4-ssp-template-to-oscal-mapping/#leveraged-fedramp-authorized-services"/>
|
|
538 | 544 | <formal-name>Leveraged Authorization Has System Identifier</formal-name>
|
539 | 545 | <prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/4-ssp-template-to-oscal-mapping/#leveraged-fedramp-authorized-services"/>
|
540 | 546 | <message>A FedRAMP SSP MUST define exactly one system identifier for each leveraged authorization entry.</message>
|
541 |
| - </expect> |
| 547 | + </expect> |
542 | 548 | <expect id="network-component-has-connection-security-prop" target="//component[(@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'])]" test="count(./prop[@name='connection-security' and @ns='https://fedramp.gov/ns/oscal']) >= 1" level="ERROR">
|
543 | 549 | <formal-name>Network Component Has Connection Security Property</formal-name>
|
544 | 550 | <prop namespace="https://docs.oasis-open.org/sarif/sarif/v2.1.0" name="help-url" value="https://automate.fedramp.gov/documentation/ssp/4-ssp-template-to-oscal-mapping/#ports-protocols-and-services"/>
|
|
0 commit comments