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

feat(system-security-plan): initial creation of SSP Model #802

Merged
merged 8 commits into from
Nov 20, 2024

Conversation

meganwolf0
Copy link
Collaborator

Description

Implements the OSCALModel interface on an SSP.

  • Simply the library functions for this PR, follow on addressing the cmd aspect
  • Additional data is going to be required to fully complete the SSP, in the meantime left "<TODO...>" remarks to try and indicate additional vetting needed on those fields

Related Issue

Fixes #797

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Other (security config, docs update, etc)

Checklist before merging

@meganwolf0
Copy link
Collaborator Author

To discuss:
Are we merging validations (via backmatter) into the SSP? Or are we maintaining the original links to the validations and performing a relative path mapping (to get those links properly added to the ImplementedRequirements.ByComponents? IF we want to go that route, we need to re-tool part of the compose functionality to partially compose compdefs (e.g., get the imported ones, re-write the validation/ref relative paths)

@meganwolf0 meganwolf0 marked this pull request as ready for review November 15, 2024 16:48
@meganwolf0 meganwolf0 requested a review from a team as a code owner November 15, 2024 16:48
@brandtkeller
Copy link
Member

To discuss: Are we merging validations (via backmatter) into the SSP? Or are we maintaining the original links to the validations and performing a relative path mapping (to get those links properly added to the ImplementedRequirements.ByComponents? IF we want to go that route, we need to re-tool part of the compose functionality to partially compose compdefs (e.g., get the imported ones, re-write the validation/ref relative paths)

I do think we should discuss this! Do you see this as a blocker for this PR or simply something we should discuss ASAP (next week)?

@meganwolf0
Copy link
Collaborator Author

Do you see this as a blocker for this PR or simply something we should discuss

Yeah mostly just something to discuss - I don't think it's blocking anything here/whatever decision wouldn't invalidate anything done so far.

brandtkeller
brandtkeller previously approved these changes Nov 17, 2024
Copy link
Member

@brandtkeller brandtkeller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues with the logic out-front of more implementation.

I used the go-oscal types to look at required fields at the top-level object. Reviewed what the logic performed for generation as a primary indicator of the logic.

I appreciate the consideration that went into the merge functionality. The checks establish some precedence for what is permitted for merge - will be good to document this when the implementation layer is available.

If possible I would like to see more guidance in PR's for how to review these changes. We're navigating new (to us) models and discovering how each should respond to specific actions. We're on a journey together here to learn how these models work and how to automate them.

@meganwolf0
Copy link
Collaborator Author

If possible I would like to see more guidance in PR's for how to review these changes

Agreed! I felt similarly when I was recently reviewing the profile model implementation. I can start a working doc somewhere, maybe Notion for now as we work through a process?

@brandtkeller
Copy link
Member

If possible I would like to see more guidance in PR's for how to review these changes

Agreed! I felt similarly when I was recently reviewing the profile model implementation. I can start a working doc somewhere, maybe Notion for now as we work through a process?

Open to anything that helps spread awareness. Some of this can be self-documenting but my request is simply some information in the PR that describes or establishes context for the changes.

This PR touches the SSP OSCAL model - here is associated information to review. This work follows 'x' pattern and you can see linked documentation support the logic. Lula applies opinionation to the use of 'y' field in the SSP type for 'z' reason. etc etc

Copy link
Collaborator

@CloudBeard CloudBeard left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks correct taking what we have with Component Definitions and getting to SSP.

The relationship between CompDef < > SSP doc could be created separate of this PR. I think that doc with deeper/refresh research from last quarter would bring up some optional prop items we could add to CompDefs and start the opinionation route.

Copy link
Member

@brandtkeller brandtkeller left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving and resolving current conversation. Believe this is setup well with follow on work identified and considerations we might be able to pull in.

@meganwolf0 meganwolf0 merged commit 44d067e into main Nov 20, 2024
10 checks passed
@meganwolf0 meganwolf0 deleted the 797-create-oscal-model-for-ssp branch November 20, 2024 14:55
This was referenced Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

Create OSCALModel for SSP
4 participants