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

OSCAL Extensions Model #1987

Open
5 tasks
brian-ruf opened this issue Feb 26, 2024 · 4 comments
Open
5 tasks

OSCAL Extensions Model #1987

brian-ruf opened this issue Feb 26, 2024 · 4 comments

Comments

@brian-ruf
Copy link
Contributor

User Story

As a tool developer, I want to create OSCAL-based tools that can "learn" organization-specific extensions and allowed values automatically and apply them to OSCAL content.

The OSCAL community of tool developers requires a mechanism that allows organizations to define their extensions, allowed values and other constraints using a common mechanism, and publish these definitions to a common repository.

Goals

  • create an OSCAL model that organizations can use to define OSCAL extensions, allowed values, and constraints
  • the approach should allow an OSCAL tool developer to use one or more extension definitions from various organizations simultaneously to validate OSCAL content (for example, an organization creating OSCAL content for both SOC 2 and FedRAMP should be able to use extension models for both frameworks to validate their content)

Dependencies

No response

Acceptance Criteria

  • All OSCAL website and readme documentation affected by the changes in this issue have been updated. Changes to the OSCAL website can be made in the docs/content directory of your branch.
  • 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.
  • A valid metaschema definition for an extensions model exists
  • The OSCAL Layers representation must be updated to include the extensions model

(For reviewers: The wiki has guidance on code review and overall issue review for completeness.)

Revisions

No response

@brian-ruf
Copy link
Contributor Author

Assuming this is created, the REST API specification should be updated to include the publishing and retrieval of OSCAL Extension Definition files, as well as the retrieval of a list of all available OSCAL Extension Definitions.

@brian-ruf
Copy link
Contributor Author

Here is a metaschema file I drafted last-fall. While it attempted to align as much as possible with the metaschema syntax at that time, it may need to be refreshed as a result of ongoing work in the usnistgov/metaschema repository.

oscal_extensions_metaschema.xml.txt
NOTE: GitHub does not allow XML attachments. Had to append .txt to attach here.

@iMichaela
Copy link
Contributor

@brian-ruf - Thank you for opening the issue and proposing an OSCAL Extension model. I believe such model is needed in order to have meaningful OSCAL extensions for adopters that core OSCAL is not sufficient. Such model supports data portability and interoperability, preventing fragmentation of OSCAL into vertical-specific dialects.
The model needs to be presented to the community as part of the research/DEFINE process, examples need to be generated, then a prototype is published with the corresponding documentation (similar to the prototype Shared Responsibility (SR) Model and the prototype Control Mapping (CM) Model)
I would be more than happy to work with you and other community members on finalizing it.

@iMichaela
Copy link
Contributor

Some comments in #1972 are touching on the Extension model idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Needs Triage
Development

No branches or pull requests

2 participants