-
Notifications
You must be signed in to change notification settings - Fork 187
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
Create an #assembly_oscal-ssp_impact
SSP model
#1129
Comments
In case this gets accepted, I'd be more then happy to open a PR to fix it. |
tl;dr: this is by design. I will explain why below. Ok, so this is a little bit of inside baseball. How familiar you are with the whole Risk Management Framework? The idea here is part of Step 1 and Step 2, preparation and categorization. For systems designed and deployed in the US federal government, you are supposed to follow, as part of RMF, in this second step a process where you itemize your Here is the document explaining that from the official perspective. Now, do we want to minimize that for use outside of RMF or disambiguate it somehow? I definitely defer that to the NIST OSCAL developer team, and the community, and in that particular order. |
The link to the document is unreachable (SSL cipher mismatch), but that's really an unrelated issue. I understand that the fields need to be filled out in different steps of the RMF, but that still doesn't mean their objects need to be defined in-field. In case I totally misunderstood you comment, feel free to ignore mine 😅 |
Ah ok, I see, so you are suggesting we deduplicate code? This is how it is implemented now that generates the XML Schema and JSON Schema (which I assume you reference from the notation you use). From what I can tell, the impact wrappers are unique, but they wrap the same field structures and reuse them (which is why they are called You might want to review the bit that is not exposed in the source Metaschema code that is in the |
tl;dr - The proposed change improves the usability of OSCAL via code without changing the schema behavior (or breaking compatibility).
You understood my suggestion correctly, and you're right that from a schema perspective there's no benefit here. The reasoning behind this proposed change (which explains the benefit I see) is that I'm currently working on creating a 1-to-1 implementation of the OSCAL schemas in Python (as I have previously stated on Gitter). Since currently there's no The increased amount of object types involved (in the code) increases its complexity, and decreases the ease of implementation of more advance features based on those fields/types. It is of course possible to deviate from the original jsonschema and define a single data model in the code implementation, but I believe such deviations are not the correct path to go for OSCAL which relies solely on its data structures. |
@aj-stein-nist where does this issue stand ATM? |
Sorry, I wanted to catch up with @david-waltermire-nist and the development team to discuss if there are any objections to moving forward with it. I was unable to last week. I will try and sync up with on this issue this week. |
@aj-stein-nist no worries, thanks for the update. |
@guyzyl Please make the Metaschema changes to support this and submit a PR. |
@david-waltermire-nist I started implementing this and hit a small hurdle. |
You can use the Here is an example. |
Thanks! |
This fixes issues usnistgov#1129
This fixes issues usnistgov#1129
This fixes issues usnistgov#1129
…gov#1171) * Create`<define-assembly name="impact">` * Restored C/I/A formal names and descriptions. Resolves usnistgov#1129. Co-authored-by: David Waltermire <[email protected]>
…gov#1171) * Create`<define-assembly name="impact">` * Restored C/I/A formal names and descriptions. Resolves usnistgov#1129. Co-authored-by: David Waltermire <[email protected]>
…gov#1171) * Create`<define-assembly name="impact">` * Restored C/I/A formal names and descriptions. Resolves usnistgov#1129. Co-authored-by: David Waltermire <[email protected]>
…gov#1171) * Create`<define-assembly name="impact">` * Restored C/I/A formal names and descriptions. Resolves usnistgov#1129. Co-authored-by: David Waltermire <[email protected]>
…gov#1171) * Create`<define-assembly name="impact">` * Restored C/I/A formal names and descriptions. Resolves usnistgov#1129. Co-authored-by: David Waltermire <[email protected]>
…gov#1171) * Create`<define-assembly name="impact">` * Restored C/I/A formal names and descriptions. Resolves usnistgov#1129. Co-authored-by: David Waltermire <[email protected]>
User Story:
Currently, inside the
#assembly_oscal-ssp_system-information
model (within the SSP schema) there are 3 fields which implement the same object. The fields are:confidentiality-impact
integrity-impact
availability-impact
In order to avoid duplication, I suggest creating a new
#assembly_oscal-ssp_impact
model within the SSP schema to define theimpact
componentThe model will be used by the 3 fields mentioned, and will deprecate the repeated implementation within the fields.
Since the fields themselves remain the same (and just the way they are defined in the schema is changed), this proposed change is backwards compatible and can be implemented in OSCAL
v1.x.y
.Goals:
Reduce duplication in the SSP schema by creating a new
#assembly_oscal-ssp_impact
model.Acceptance Criteria
The text was updated successfully, but these errors were encountered: