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

Certain prop>values have constraints that are not outlined in OSCAL SSP json schema #34

Open
3 tasks
Telos-sa opened this issue Sep 17, 2024 · 1 comment
Open
3 tasks
Labels
enhancement New feature or request

Comments

@Telos-sa
Copy link

User Story:

User story and goals are outlined in NIST OSCAL Repo issue 2042

There are several props that have constraints that are not outlined in the OSCAL SSP json schema

Some examples of these props are system-characteristics>props>name="cloud-service-model"&name="cloud-deployment-model" and system-implementation>components>props>name="isa-date".

Acceptance Criteria

  • All website and readme documentation affected by the changes in this issue have been updated.
  • A Pull Request (PR) is submitted that fully addresses the goals of this User Story. This issue is referenced in the PR.
  • The CI-CD build process runs without any reported errors on the PR. This can be confirmed by reviewing that all checks have passed in the PR.
@Telos-sa Telos-sa added the enhancement New feature or request label Sep 17, 2024
@david-waltermire
Copy link
Contributor

Please see #33 for an explanation of why it's not always possible to represent some validation rules in XML or JSON schema, and why Metaschema constraints are used for extra schema validation.

Regarding the props mentioned here and in usnistgov/OSCAL#2042, the use of props in OSCAL is a primary extension mechanism. Since a prop can have an arbitray namespace, name, and value (among other flags), these flag values are constrained using Metaschema constraints.

For example:

  • system-characteristics>props>name="cloud-service-model"&name="cloud-deployment-model" is defined in the SSP Metaschema module.
  • system-implementation>components>props>name="isa-date" is defined in the implementation common Metaschema module (location 1 and location 2), which is used by multiple OSCAL models.

In many cases (including those above), the restriction implemented by a constraint applies when the name and namespace have a specific value, which requires logic that is not present in JSON and XML schema.

As a result, this issue cannot be addressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants