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

Add high-level API actions for POA&Ms, SAPs, and SARs #63

Merged
merged 19 commits into from
Aug 25, 2022

Conversation

nuttercd
Copy link
Contributor

@nuttercd nuttercd commented Aug 8, 2022

This will close #56

@easy-dynamics-oscal-automation easy-dynamics-oscal-automation bot requested a review from a team August 8, 2022 19:24
Also update `$ref` for poam, sap, and sar paths
openapi.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@laurelmay laurelmay left a comment

Choose a reason for hiding this comment

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

Need need OAuth2 scopes and to fix existing ones.

Good job copying the catalog :D but we need to update some words.

openapi.yaml Outdated Show resolved Hide resolved
openapi.yaml Outdated Show resolved Hide resolved
openapi.yaml Outdated Show resolved Hide resolved
openapi.yaml Outdated Show resolved Hide resolved
openapi.yaml Show resolved Hide resolved
openapi.yaml Outdated Show resolved Hide resolved
@tuckerzp
Copy link
Contributor

tuckerzp commented Aug 9, 2022

This is a good start! Just make sure to look over your changes in the Swagger Editor before pushing. That helps a lot to see the places where info doesn't make sense or match up.

@nuttercd nuttercd force-pushed the feature/add-poams-saps-sars branch from 30c9f08 to 849cb0d Compare August 10, 2022 15:33
Copy link
Contributor

@tuckerzp tuckerzp left a comment

Choose a reason for hiding this comment

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

Still looks like some of the tags are incorrectly labeled as Catalog

openapi.yaml Outdated Show resolved Hide resolved
openapi.yaml Outdated Show resolved Hide resolved
openapi.yaml Show resolved Hide resolved
openapi.yaml Show resolved Hide resolved
openapi.yaml Outdated
Comment on lines 113 to 117
- name: OSCAL System Assessment Plan
externalDocs:
description: Find out more
url: https://pages.nist.gov/OSCAL/concepts/layer/assessment/assessment-plan/
- name: OSCAL System Assessment Result
Copy link
Contributor

Choose a reason for hiding this comment

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

So I know this will take a little bit to change, but should we drop the "System"?

https://github.com/EasyDynamics/OSCAL/tree/main/json/schema https://pages.nist.gov/OSCAL/reference/latest/complete/json-outline/

The files are just named Assessment Plan & Assessment Result. So I wonder if it is needed? That or we should change the name to Security Assessment ...

@kylelaker & @brian-easyd what do you think?

Copy link
Contributor

Choose a reason for hiding this comment

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

I'd prefer that align with the NIST terminology here; and drop the first word. "Assessment Plan" and "Assessment Results" to match the documentation and schema.

Choose a reason for hiding this comment

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

And when people casually refer to the meaning of SAP and SAR, it is a Security Assessment Plan and Security Assessment Result(s) in my neck of the woods. Do people actually call it System Assessment Plan in your experience?

Fun fact, and I agree with Dave Waltermire on this: we call them AP and AR and don't mention the S because, in 800-53 land, they can be security assessments, privacy assessments, or other. They aren't strictly always security assessments, and labeling them that way prejudices right from the start.

Also, hi, super excited to see this PR and the discussion here. :-)

Copy link
Contributor

Choose a reason for hiding this comment

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

@aj-stein-nist Thanks! I think "System Assessment Plan" was some copying from "System Security Plan" and maybe a misunderstanding of it :D One thing we have noticed is that the specification does include Security but we can open an issue upstream to discuss that if it'd be useful.

I definitely like the idea of not including the "S" to cover the fact it can be for more than one thing!

Copy link
Contributor

Choose a reason for hiding this comment

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

@kylelaker @aj-stein-nist - In FedRAMP parlance (and most Agency implementations of FISMA) they are:

  • Security Assessment Plan (SAP); and
  • Security Assessment Report (SAR) [NOTE: Not "result", but "report".]

"System" is not typically used.

That said, Dave and I debated the AP, AR name and he made the very valid point that while these are the correct terms for government use, OSCAL is more than just for the Federal government. He asserted that "Assessment Plan" and "Assessment Result" were more friendly to all frameworks.

openapi.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@Bronstrom Bronstrom left a comment

Choose a reason for hiding this comment

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

This is looking really close to completion! I have just a couple minor suggestions.

openapi.yaml Outdated Show resolved Hide resolved
openapi.yaml Outdated
Comment on lines 2303 to 2308
description: ID of plan of action and milestone to replace.
required: true
schema:
type: string
requestBody:
description: Plan of action and milestone object to be replaced.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
description: ID of plan of action and milestone to replace.
required: true
schema:
type: string
requestBody:
description: Plan of action and milestone object to be replaced.
description: ID of plan of action and milestone to replace
required: true
schema:
type: string
requestBody:
description: Plan of action and milestone object to be replaced

For consistency purposes, we should delete any periods in the descriptions. There are a couple other places where this occurs

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I believe prior descriptions had periods in them. Should we keep or remove periods in descriptions?

Copy link
Contributor

Choose a reason for hiding this comment

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

Probably best to remove those too, even though they aren't part of this issue.

openapi.yaml Outdated
Comment on lines 2944 to 2947
write:aps: modify assessment plans in your account
read:aps: read your assessment plans parties
write:ars: modify assessment results in your account
read:ars: read your assessment results in your account
Copy link
Contributor

Choose a reason for hiding this comment

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

Here and elsewhere, I'd personally prefer to see us use assessmentPlan, assessment-plan, assessmentResults, or assessment-results as appropriate. More like Component Definitions than SSPs and POA&Ms.

Thoughts?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I like the use of assessmentPlan as it will match componentDefinitions

openapi.yaml Outdated
Comment on lines 2944 to 2945
write:assessmentPlan: modify assessment plans in your account
read:assessmentPlan: read your assessment plans
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
write:assessmentPlan: modify assessment plans in your account
read:assessmentPlan: read your assessment plans
write:assessmentPlans: modify assessment plans in your account
read:assessmentPlans: read your assessment plans

Fix here and wherever else it's used

Copy link
Contributor

@Bronstrom Bronstrom left a comment

Choose a reason for hiding this comment

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

Nice work @nuttercd!

Copy link
Contributor

@tuckerzp tuckerzp left a comment

Choose a reason for hiding this comment

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

I think this is almost perfect! Thank you @nuttercd for working on this so far. I am excited to get it in soon.

openapi.yaml Outdated
get:
tags:
- OSCAL Plan of Action and Milestone
summary: Returns all OSCAL plan of action and milestones
Copy link
Contributor

@tuckerzp tuckerzp Aug 22, 2022

Choose a reason for hiding this comment

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

I feel like Plans of action and milestones sounds better as the plural here.

Suggested change
summary: Returns all OSCAL plan of action and milestones
summary: Returns all OSCAL plans of action and milestones

openapi.yaml Outdated
post:
tags:
- OSCAL Plan of Action and Milestone
summary: Adds a new OSCAL plan of action and milestone
Copy link
Contributor

@tuckerzp tuckerzp Aug 22, 2022

Choose a reason for hiding this comment

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

Should milestone always be plural? That is how it appears on the spec . At the very least, we should be consistent on this.

Suggested change
summary: Adds a new OSCAL plan of action and milestone
summary: Adds a new OSCAL plan of action and milestones

tuckerzp
tuckerzp previously approved these changes Aug 25, 2022
Copy link
Contributor

@tuckerzp tuckerzp left a comment

Choose a reason for hiding this comment

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

Thank you so much for you work on this @nuttercd! I am very glad to get this in.

@tuckerzp tuckerzp requested a review from laurelmay August 25, 2022 13:55
@tuckerzp
Copy link
Contributor

tuckerzp commented Aug 25, 2022

@kylelaker Looking over everything again, things look good to me. I wanted to give you a chance to look over at things before I dismissed your old review.

@tuckerzp tuckerzp dismissed their stale review August 25, 2022 14:12

There is some inconsistency with periods that we should address.

openapi.yaml Outdated
Comment on lines 551 to 554
description: |
Removes the given catalog from the given profile.
Removes the given catalog from the given profile

This should also result in references under other parts of the schema being removed.
This should also result in references under other parts of the schema being removed
Copy link
Contributor

Choose a reason for hiding this comment

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

I do not think that every description needs to have periods removed.

@laurelmay laurelmay dismissed their stale review August 25, 2022 14:50

I will review this again after remaining comments are addressed.

@easy-dynamics-oscal-automation easy-dynamics-oscal-automation bot requested a review from a team August 25, 2022 14:51
Copy link
Contributor

@laurelmay laurelmay left a comment

Choose a reason for hiding this comment

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

Thanks for your work on this! I think it's a good start for these types!

@laurelmay laurelmay merged commit 0fae9ad into develop Aug 25, 2022
@laurelmay laurelmay deleted the feature/add-poams-saps-sars branch August 25, 2022 23:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add high-level API actions for POA&Ms, SAPs, and SARs
6 participants