opencontrol / schemas

YAML schema, examples, and validators for OpenControl format.
Other
71 stars 22 forks source link

README has wrong schema for certification and standard #53

Open jcscottiii opened 8 years ago

jcscottiii commented 8 years ago

The README sections for certification and standard are really outdated.

Example of standard: https://github.com/opencontrol/NIST-800-53-Standards/blob/master/NIST-800-53.yaml

Example of certification: https://github.com/opencontrol/FedRAMP-Certifications/blob/master/FedRAMP-moderate.yaml

Rikhter commented 5 years ago

Hi OpenControls Contributors!

This issue seems related, happy to break out my problem seperately if required. I'm having difficulty using kwalify to verify my test-standards file as below:

---
# test-standard.yaml
name: test-standard
AC-1:
  name: "Access Controls - 1"
  family: "Access Controls"
  description: "Description A"

running: pykwalify -s schemas/kwalify/standard/v1.0.0.yaml -d standards/test-standard.yaml generates:

pykwalify.errors.SchemaError: <SchemaError: error code 2: Schema validation failed: - Key 'AC-1' was not defined. Path: ''.: Path: '/'>

I'm using pykwalify version 1.5.2.

From what I can tell the = in the schema is meant to denote a wild card match for the key allowing any number of map elements with any name in the root map.

However I'm not seeing any references to this syntax in recent kwalify versions documentation and this syntax doesn't seem to work. Has this changed and not been updated? Or have I missed something completely. Any help would be appreciated.

As an interim for myself I've replaced the = with the documented regex matching syntax regex;(.+). Might be a valid fix/change to the standard and certification schemas?

Cheers, Tom