Skip to content

Instantly share code, notes, and snippets.

@JJediny
Last active December 8, 2020 20:26
Show Gist options
  • Save JJediny/725a4bb16ee4f59808c7b46b1e887932 to your computer and use it in GitHub Desktop.
Save JJediny/725a4bb16ee4f59808c7b46b1e887932 to your computer and use it in GitHub Desktop.
Opencontrol v4? Schema
{
"title": "Proposed - OpenControl Schema vX",
"type": "object",
"properties": {
"name": {
"title": "Name",
"description": "Name of the Component",
"type": "string",
"propertyOrder": 1
},
"satisfies": {
"title": "Satisfies",
"description": "The part or use of a Component that contributes to implementing a security Control",
"type": "array",
"propertyOrder": 2,
"items": {
"title": "Control",
"properties": {
"standard_key": {
"title": "Standard Key",
"default": "NIST-800-53",
"type": "string"
},
"control_key": {
"title": "Control Key",
"type": "string"
},
"narrative": {
"title": "Narrative",
"type": "array",
"format": "table",
"items": {
"properties": {
"key": {
"title": "Key",
"description": "Key to subcontrol (ex. for AC-2a, a is the key)",
"type": "string"
},
"text": {
"title": "Text",
"description": "Text describing the Component's contribution to the security Control",
"default": "|",
"type": "string",
"format": "textarea"
},
"note": {
"title": "Note",
"description": "Notes or Instructions",
"default": "|",
"type": "string",
"format": "textarea"
},
"references": {
"title": "Reference(s)",
"description": "References to other documentation or resources for the Component",
"type": "array",
"propertyOrder": 3,
"items": {
"title": "Reference",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"path": {
"title": "Path",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
}
}
}
},
"verifications": {
"title": "Verification(s)",
"type": "array",
"description": "Verification ares any test or configurations used to verify/validate the component's implementation as described in the narrative",
"propertyOrder": 4,
"items": {
"title": "Verification",
"type": "object",
"properties": {
"key": {
"title": "Key",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
},
"path": {
"title": "Path",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
},
"steps": {
"title": "Steps",
"type": "string"
},
"filename": {
"title": "Filename",
"type": "string"
},
"test_passed": {
"title": "Test Passed",
"type": "boolean"
},
"last_run": {
"title": "Last Run",
"type": "string"
}
}
}
}
}
}
}
},
"parameters": {
"title": "Parameters",
"description": "References to other documentation or resources for the Component",
"type": "array",
"format": "table",
"items": {
"properties": {
"key": {
"title": "Key",
"description": "Key to subcontrol (ex. for AC-2a, a is the key)",
"type": "string"
},
"text": {
"title": "Text",
"description": "Text describing the Component's contribution to the security Control",
"default": "|",
"type": "string",
"format": "textarea"
},
"note": {
"title": "Note",
"description": "Notes or Instructions",
"default": "|",
"type": "string",
"format": "textarea"
}
}
}
},
"implementation_status": {
"title": "Implementation Status",
"type": "string",
"enum": [
"implemented.complete",
"implemented.partially",
"implemented.alternative",
"planned",
"na"
]
},
"control_origins": {
"title": "Control Origination",
"type": "string",
"enum": [
"service.corporate",
"service.system",
"service.hybrid",
"customer.configured",
"customer.provided",
"shared",
"inherited"
]
},
"covered_by": {
"title": "Covered By",
"type": "array",
"items": {
"properties": {
"verification_key": {
"title": "Verification Key",
"description": "<b>By default use this field</b>. The self defined key value for another Verification use as a tag",
"type": "string"
},
"system_key": {
"title": "System Key",
"description": "The self defined key value for another System use as a tag",
"type": "string"
},
"component_key": {
"title": "Component Key",
"description": "The self defined key value for another Component use as a tag",
"type": "string"
}
}
}
}
}
}
},
"references": {
"title": "Reference(s)",
"description": "References to other documentation or resources for the Component",
"type": "array",
"propertyOrder": 3,
"items": {
"title": "Reference",
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"path": {
"title": "Path",
"type": "string"
},
"type": {
"title": "Type",
"type": "string"
}
}
}
},
"documentation_complete": {
"title": "Documentation Complete",
"description": "Is the Component fully documented and are all the controls are implemented and verifiable?",
"default": "False",
"propertyOrder": 5,
"type": "boolean"
},
"schema_version": {
"title": "Schema Version",
"type": "string",
"default": "3.0.0",
"propertyOrder": 6,
"enum": [
"3.0.0"
]
}
},
"required": [
"name"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment