This repository provides a dashboard for Apache Superset along with a SQLite database containing mock data based on the NIST CSF 2.0 framework. Additionally, it includes a Python script for editing and managing maturity levels, reviewers, justifications, and recommendations for each analyzed item.
-
dashboard_export_20241216T210210.zip
A Superset export file containing the pre-configured dashboard. -
DEMO_NIST_CSF_2_0.db
A SQLite database with mock structured data. -
sqliteedit_en.py
A Python script built with Streamlit to edit maturity levels (current and target), reviewers, justifications, and recommendations for each item in the database. -
Screenshots
Screenshots of the Superset dashboard.
Ensure you have the following installed:
-
Apache Superset
Refer to the official documentation for installation instructions. -
Python (recommended >= 3.8).
Install the required Python modules:pip install streamlit sqlite3 pandas
-
SQLite database support.
Ensure Superset is running locally or on a server.
- Copy the
DEMO_NIST_CSF_2_0.db
file to an accessible folder. - Set up the database connection in Superset:
- Go to Database Connections and add a new database.
- Use the following connection string:
sqlite:////<absolute_path_to_file>/DEMO_NIST_CSF_2_0.db
- Open the Superset web interface.
- Navigate to Settings > Import Dashboards.
- Upload the
dashboard_export_20241216T210210.zip
file.
To manage or edit data, use the sqliteedit_en.py
script:
- Install Streamlit and other required modules if not already installed:
pip install streamlit sqlite3 pandas
- Run the script:
streamlit run sqliteedit_en.py
- In the Streamlit interface, you can:
- Update Status fields.
- Modify Maturity Level and Target Maturity Level.
- Add or change Reviewer, Justificative, and Recommendation.
After editing with the SQLite editor, the changes will be reflected in Superset when the database is reloaded.
The Main tab introduces the NIST CSF 2.0 and includes a Treemap to showcase the major functions and categories.
The Justifications / Recommendations tab provides a detailed breakdown of maturity levels, justifications, and recommendations for each category and subcategory.
The Subcategory tab compares the Current Maturity Level to the Target Maturity Level using a bar chart and displays a Category to Subcategory Graph.
The Overview tab summarizes:
- The overall maturity level.
- Maturity by function.
- Subcategory distribution using visualizations like gauge charts, tables, and pie charts.
The SQLite database includes the following relevant fields:
- Status: The current status of the analyzed item.
- Maturity_Level: The current maturity level.
- Target_Maturity_Level: The desired maturity level.
- Reviewer: The name of the reviewer.
- Justificative: Justification for the maturity level or status.
- Recommendation: Recommendations for improvement.
- Creation_Date: Timestamp of the last update.
For questions or suggestions, feel free to reach out to the repository maintainer.