Skip to content

Commit 28e1f15

Browse files
author
Alex Flom
authored
Merge pull request #51 from jpower432/feat/ssp-comp-filter
Feat/ssp comp filter
2 parents d81282a + f266e6c commit 28e1f15

File tree

26 files changed

+1479
-1082
lines changed

26 files changed

+1479
-1082
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[task.csv-to-oscal-cd]
2+
3+
title = Hello World SSO Component Definition
4+
version = 1.0.0
5+
csv-file = rules/hello-world-sso.csv
6+
output-dir = component-definitions/hello-world-sso
7+
output-overwrite = true

automation/mk/assemble.mk

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ assemble-cd:
1717
@source ./automation/assemble.sh && assemble_components
1818
.PHONY: assemble-cd
1919

20-
assemble-ssps:
21-
@source ./automation/assemble.sh && assemble_ssps
20+
assemble-ssps: assemble-fedramp-ssp assemble-custom-ssp
2221
.PHONY: assemble-ssps
2322

automation/mk/custom.mk

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,9 @@
33
############################################################################
44

55
generate-custom-ssp:
6-
@source ./automation/trestle.sh && trestle author ssp-generate -p ACME_internal_profile --compdefs hello-world-custom -o markdown/system-security-plans/acme_custom_demo_ssp -f
7-
.PHONY: generate-custom-ssp
6+
@source ./automation/trestle.sh && trestle author ssp-generate -p ACME_internal_profile --compdefs hello-world-custom,hello-world-sso -o markdown/system-security-plans/acme_custom_demo_ssp
7+
.PHONY: generate-custom-ssp
8+
9+
assemble-custom-ssp:
10+
@source ./automation/trestle.sh && trestle author ssp-assemble --name acme_custom_demo_ssp --markdown markdown/system-security-plans/acme_custom_demo_ssp -o acme_custom_demo_ssp --compdefs hello-world-custom,hello-world-sso
11+
.PHONY: assemble-custom-ssp

automation/mk/fedramp.mk

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
############################################################################
2-
## Custom Workflow
2+
## FedRAMP Workflow
33
############################################################################
44

55
############################################################################
@@ -26,9 +26,16 @@ bootstrap-workspace: import-fedramp
2626
### Generate OSCAL SSP based on FedRAMP profile
2727
############################################################################
2828
generate-fedramp-ssp:
29-
@source ./automation/trestle.sh && trestle author ssp-generate -p fedramp_rev4_moderate --compdefs hello-world-fedramp -o markdown/system-security-plans/acme_fedramp_demo_ssp -y extra/extra-ssp-metadata.yml -f
29+
@source ./automation/trestle.sh && trestle author ssp-generate -p fedramp_rev4_moderate --compdefs hello-world-fedramp -o markdown/system-security-plans/acme_fedramp_demo_ssp -y extra/extra-ssp-metadata.yml
3030
.PHONY: generate-fedramp-ssp
3131

32+
############################################################################
33+
### Assemble OSCAL SSP based on FedRAMP profile
34+
############################################################################
35+
assemble-fedramp-ssp:
36+
@source ./automation/trestle.sh && trestle author ssp-assemble --name acme_fedramp_demo_ssp --markdown markdown/system-security-plans/acme_fedramp_demo_ssp -o acme_fedramp_demo_ssp --compdefs hello-world-fedramp
37+
.PHONY: assemble-fedramp-ssp
38+
3239
############################################################################
3340
### Generate single markdown file from Jinja template from OSCAL SSP
3441
############################################################################

automation/mk/filter.mk

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
############################################################################
2+
## Filter Workflow
3+
############################################################################
4+
5+
############################################################################
6+
### Filter an existing SSP based on a component definition. The component definition
7+
### title must be provided as the filter input.
8+
############################################################################
9+
10+
filter-ssp:
11+
@source ./automation/trestle.sh && trestle author ssp-filter --name acme_custom_demo_ssp --components "hello_world" -o acme_filtered_demo_ssp
12+
.PHONY: filer-ssp

automation/transform.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ transform_hello-world-csv-oscal-cd () {
1111
trestle task csv-to-oscal-cd -c adjunct-data/config-files/demo-hello-world-oscal-cd.config
1212
trestle task csv-to-oscal-cd -c adjunct-data/config-files/demo-hello-world-fedramp-oscal-cd.config
1313
trestle task csv-to-oscal-cd -c adjunct-data/config-files/demo-hello-world-pvp-oscal-cd.config
14+
trestle task csv-to-oscal-cd -c adjunct-data/config-files/demo-hello-world-sso-oscal-cd.config
1415
}

component-definitions/hello-world-custom/component-definition.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
{
22
"component-definition": {
3-
"uuid": "49f4b5cd-3833-42dc-b127-7248261143c3",
3+
"uuid": "c6f3b85d-101c-40bf-a4f2-d3d9e6d83402",
44
"metadata": {
55
"title": "Hello World Custom Component Definition",
6-
"last-modified": "2023-03-31T13:54:06.517439+00:00",
6+
"last-modified": "2023-04-04T20:58:14.094501+00:00",
77
"version": "1.0.0",
88
"oscal-version": "1.0.2"
99
},
1010
"components": [
1111
{
12-
"uuid": "a957cc6f-e80e-4d6b-aa9c-523e9d0f0bb4",
12+
"uuid": "b4f42dc8-59f8-4ccb-8e7f-6b73b663fb1d",
1313
"type": "service",
14-
"title": "This System",
14+
"title": "Hello World",
1515
"description": "Hello World Application",
1616
"props": [
1717
{
@@ -29,12 +29,12 @@
2929
],
3030
"control-implementations": [
3131
{
32-
"uuid": "22e1257b-b6f1-4d47-a49a-b43d20c3434a",
32+
"uuid": "5455591c-0c85-4547-8200-5027411fc4eb",
3333
"source": "profiles/ACME_internal_profile/profile.json",
3434
"description": "This is a partial implementation of the ACME Internal profile",
3535
"implemented-requirements": [
3636
{
37-
"uuid": "459e51a9-33cf-4f93-831d-f89e5bbf8fab",
37+
"uuid": "04bd0a4f-c8f0-4716-8487-fc615e0aeedd",
3838
"control-id": "pr-1",
3939
"description": "",
4040
"props": [
@@ -45,7 +45,7 @@
4545
},
4646
{
4747
"name": "implementation-status",
48-
"value": "partial"
48+
"value": "planned"
4949
}
5050
]
5151
}

component-definitions/hello-world-fedramp/component-definition.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
{
22
"component-definition": {
3-
"uuid": "47cf7512-00e8-402d-9932-dccaaaeaa7a3",
3+
"uuid": "1a4a611c-ebe7-4a84-ae8e-7662e1baa6a5",
44
"metadata": {
55
"title": "Hello World FedRAMP Component Definition",
6-
"last-modified": "2023-03-31T13:54:07.443457+00:00",
6+
"last-modified": "2023-04-04T20:58:15.062588+00:00",
77
"version": "1.0.0",
88
"oscal-version": "1.0.2"
99
},
1010
"components": [
1111
{
12-
"uuid": "17a16a49-5e57-4bff-9257-de5755006be4",
12+
"uuid": "50ea602f-69e2-436d-87b8-69bec47c8478",
1313
"type": "service",
14-
"title": "This System",
14+
"title": "Hello World",
1515
"description": "Hello World Application",
1616
"props": [
1717
{
@@ -29,12 +29,12 @@
2929
],
3030
"control-implementations": [
3131
{
32-
"uuid": "e5fbd64c-1608-488f-a7a8-c2f45e7adc92",
32+
"uuid": "4c9ec2de-31a1-4d2c-829e-90e240a8264d",
3333
"source": "profiles/fedramp_rev4_moderate/profile.json",
3434
"description": "This is a partial implementation of the FedRAMP Moderate profile, focusing on the control enhancement AC-2 (3).",
3535
"implemented-requirements": [
3636
{
37-
"uuid": "62cc6eb2-ec45-42e2-8f31-47d602f83da5",
37+
"uuid": "b34780d8-198a-4a24-b663-2531a289704a",
3838
"control-id": "ac-2.3",
3939
"description": "",
4040
"props": [
@@ -45,7 +45,7 @@
4545
},
4646
{
4747
"name": "implementation-status",
48-
"value": "partial"
48+
"value": "planned"
4949
}
5050
]
5151
}

component-definitions/hello-world-pvp/component-definition.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
{
22
"component-definition": {
3-
"uuid": "e53fe155-7386-4415-b5eb-8dc20f286636",
3+
"uuid": "b9f34787-c459-4b35-bf98-5fef86ea5026",
44
"metadata": {
55
"title": "Hello World PVP Component Definition",
6-
"last-modified": "2023-03-31T13:54:08.357994+00:00",
6+
"last-modified": "2023-04-04T20:58:15.942726+00:00",
77
"version": "1.0.0",
88
"oscal-version": "1.0.2"
99
},
1010
"components": [
1111
{
12-
"uuid": "9640b41b-15ae-4af7-8b0a-d75b57c770cd",
12+
"uuid": "62bdc932-10fd-4238-8667-684fad953eb8",
1313
"type": "validation",
14-
"title": "This System",
14+
"title": "Hello World PVP",
1515
"description": "Hello World Application",
1616
"props": [
1717
{
@@ -41,12 +41,12 @@
4141
],
4242
"control-implementations": [
4343
{
44-
"uuid": "a57b3117-19d2-4f93-84f8-b95cb7f0b809",
44+
"uuid": "63d4ed25-664c-4b08-bfbd-358f98b94047",
4545
"source": "profiles/ACME_internal_profile/profile.json",
4646
"description": "This is a partial implementation of the ACME Internal profile",
4747
"implemented-requirements": [
4848
{
49-
"uuid": "83224996-2a96-4529-a7e5-5d776d8c6c4b",
49+
"uuid": "90860449-5eb9-4305-9fcd-9caa7ff384f9",
5050
"control-id": "pr-1",
5151
"description": "",
5252
"props": [
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"component-definition": {
3+
"uuid": "01586631-c1ef-4531-802a-ab389ceff9e3",
4+
"metadata": {
5+
"title": "Hello World SSO Component Definition",
6+
"last-modified": "2023-04-04T20:58:16.863740+00:00",
7+
"version": "1.0.0",
8+
"oscal-version": "1.0.2"
9+
},
10+
"components": [
11+
{
12+
"uuid": "e0313a57-3cd4-4f97-a8d5-13d7d655b3b3",
13+
"type": "service",
14+
"title": "Hello World SSO",
15+
"description": "SSO Application",
16+
"props": [
17+
{
18+
"name": "Rule_Id",
19+
"ns": "http://ibm.github.io/compliance-trestle/schemas/oscal/cd",
20+
"value": "sso_rule_001",
21+
"remarks": "rule_set_0"
22+
},
23+
{
24+
"name": "Rule_Description",
25+
"ns": "http://ibm.github.io/compliance-trestle/schemas/oscal/cd",
26+
"value": "Ensure all of the services use automated account management",
27+
"remarks": "rule_set_0"
28+
}
29+
],
30+
"control-implementations": [
31+
{
32+
"uuid": "221ed08c-28d7-49f9-bdfe-a164dd876aee",
33+
"source": "profiles/ACME_internal_profile/profile.json",
34+
"description": "This is a partial implementation of the ACME Internal profile",
35+
"implemented-requirements": [
36+
{
37+
"uuid": "4dd49ae5-e891-4c4d-9243-b86c73599478",
38+
"control-id": "ac-2.1",
39+
"description": "",
40+
"props": [
41+
{
42+
"name": "Rule_Id",
43+
"ns": "http://ibm.github.io/compliance-trestle/schemas/oscal/cd",
44+
"value": "sso_rule_001"
45+
},
46+
{
47+
"name": "implementation-status",
48+
"value": "planned"
49+
}
50+
]
51+
}
52+
]
53+
}
54+
]
55+
}
56+
]
57+
}
58+
}

0 commit comments

Comments
 (0)