Blame SOURCES/scap-security-guide-0.1.58-docs_controls_new_status_key-PR_7497.patch

9be3b2
From ac3213ce6c879daaa3cd8ac203b0890060364c97 Mon Sep 17 00:00:00 2001
9be3b2
From: Juan Antonio Osorio Robles <jaosorior@redhat.com>
9be3b2
Date: Wed, 1 Sep 2021 12:35:06 +0300
9be3b2
Subject: [PATCH] Add docs on status proposal for controls structure
9be3b2
9be3b2
This adds docs about the `status` and `tickets` keys that are meant to
9be3b2
be introduced to the controls structure. These will help portray the
9be3b2
current status of the implementation of a control. And help people track
9be3b2
where work still needs to be done to complete it.
9be3b2
9be3b2
Signed-off-by: Juan Antonio Osorio Robles <jaosorior@redhat.com>
9be3b2
---
9be3b2
 docs/manual/developer/03_creating_content.md | 61 ++++++++++++++++++++
9be3b2
 1 file changed, 61 insertions(+)
9be3b2
9be3b2
diff --git a/docs/manual/developer/03_creating_content.md b/docs/manual/developer/03_creating_content.md
9be3b2
index c8376e07cbd..5c3c927e3e7 100644
9be3b2
--- a/docs/manual/developer/03_creating_content.md
9be3b2
+++ b/docs/manual/developer/03_creating_content.md
9be3b2
@@ -558,6 +558,65 @@ controls:
9be3b2
       and to use the targeted policy.
9be3b2
 ```
9be3b2
 
9be3b2
+### Reporting status
9be3b2
+
9be3b2
+In some cases, it's useful to know the status of a certain control for a
9be3b2
+specific product. In order to better portray this, it's possible to set
9be3b2
+such information on each control using the `status` key.
9be3b2
+
9be3b2
+The `status` key may hold the following values:
9be3b2
+
9be3b2
+* `pending`: The control is not yet evaluated for the product.
9be3b2
+
9be3b2
+* `not applicable`: The control is not applicable to this product.
9be3b2
+
9be3b2
+* `inherently met`: The control is inherently met by the product.
9be3b2
+
9be3b2
+* `documentation`: The control is addressed by product documentation.
9be3b2
+
9be3b2
+* `planned`: The control is not yet implemented, but is planned.
9be3b2
+
9be3b2
+* `partial`: While work has been done to address this control, there is still
9be3b2
+             work needed to fully address it.
9be3b2
+
9be3b2
+* `supported`: The control is addressed by the product (but is missing content
9be3b2
+                automation).
9be3b2
+
9be3b2
+* `automated`: The control is addressed by the product and can be automatically
9be3b2
+               checked for.
9be3b2
+
9be3b2
+When there is work on-going to address a specific control, it may be portrayed
9be3b2
+via the `tickets` key. The aforementioned key shall contain a list of URLs that
9be3b2
+may help the reader track what work needs to be done to address a specific
9be3b2
+control.
9be3b2
+
9be3b2
+```
9be3b2
+$ cat controls/abcd.yml
9be3b2
+
9be3b2
+id: abcd
9be3b2
+title: ABCD Benchmark for securing Linux systems
9be3b2
+version: 1.2.3
9be3b2
+source: https://www.abcd.com/linux.pdf
9be3b2
+levels:
9be3b2
+  - id: low
9be3b2
+  - id: high
9be3b2
+    inherits_from:
9be3b2
+    - low
9be3b2
+controls:
9be3b2
+  - id: R1
9be3b2
+    levels:
9be3b2
+    - low
9be3b2
+    title: User session timeout
9be3b2
+    description: |-
9be3b2
+      Remote user sessions must be closed after a certain
9be3b2
+      period of inactivity.
9be3b2
+    status: partial
9be3b2
+    tickets:
9be3b2
+    - https://my-ticket-tracker.com/issue/1
9be3b2
+    - https://my-ticket-tracker.com/issue/2
9be3b2
+```
9be3b2
+
9be3b2
+
9be3b2
 ### Controls file format
9be3b2
 
9be3b2
 This is a complete schema of the YAML file format.
9be3b2
@@ -581,6 +640,8 @@ controls: a list of controls (required key)
9be3b2
     related_rules: a list of related rules
9be3b2
     note: a short paragraph of text
9be3b2
     controls: a nested list of controls
9be3b2
+    status: a keyword that reflects the current status of the implementation of this control
9be3b2
+    tickets: a list of URLs reflecting the work that still needs to be done to address this control
9be3b2
 ```
9be3b2
 
9be3b2
 Full example of a controls file: