emasser 1.0.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.env-example +2 -0
- data/.github/workflows/gh-pages.yml +4 -5
- data/.github/workflows/release.yml +9 -9
- data/Dockerfile +6 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +23 -30
- data/README.md +87 -78
- data/docs/features.md +343 -207
- data/docs/images/emasser_architecture.jpg +0 -0
- data/emasser.gemspec +5 -3
- data/images/emasser_architecture.jpg +0 -0
- data/images/emasser_diagram-Page-3.jpg +0 -0
- data/lib/emasser/cli.rb +2 -2
- data/lib/emasser/configuration.rb +1 -0
- data/lib/emasser/constants.rb +11 -3
- data/lib/emasser/delete.rb +9 -7
- data/lib/emasser/get.rb +43 -48
- data/lib/emasser/help/cloudresource_post_mapper.md +62 -0
- data/lib/emasser/help/container_post_mapper.md +44 -0
- data/lib/emasser/output_converters.rb +101 -4
- data/lib/emasser/post.rb +231 -38
- data/lib/emasser/put.rb +23 -16
- data/lib/emasser/version.rb +1 -1
- metadata +19 -25
- data/.github/workflows/generate_docs.yml +0 -33
- data/docs/developers.md +0 -115
- data/docs/swagger/dist/favicon-16x16.png +0 -0
- data/docs/swagger/dist/favicon-32x32.png +0 -0
- data/docs/swagger/dist/oauth2-redirect.html +0 -75
- data/docs/swagger/dist/swagger-ui-bundle.js +0 -3
- data/docs/swagger/dist/swagger-ui-bundle.js.map +0 -1
- data/docs/swagger/dist/swagger-ui-es-bundle-core.js +0 -3
- data/docs/swagger/dist/swagger-ui-es-bundle-core.js.map +0 -1
- data/docs/swagger/dist/swagger-ui-es-bundle.js +0 -3
- data/docs/swagger/dist/swagger-ui-es-bundle.js.map +0 -1
- data/docs/swagger/dist/swagger-ui-standalone-preset.js +0 -3
- data/docs/swagger/dist/swagger-ui-standalone-preset.js.map +0 -1
- data/docs/swagger/dist/swagger-ui.css +0 -4
- data/docs/swagger/dist/swagger-ui.css.map +0 -1
- data/docs/swagger/dist/swagger-ui.js +0 -3
- data/docs/swagger/dist/swagger-ui.js.map +0 -1
- data/docs/swagger/index.html +0 -60
data/docs/features.md
CHANGED
@@ -1,9 +1,17 @@
|
|
1
1
|
# emasser CLI Features
|
2
2
|
|
3
|
-
##
|
4
|
-
To facilitate setting the required environment variables the emasser CLI utilized the zero-dependency module to load these variables from a
|
3
|
+
## Environment Variables
|
4
|
+
To facilitate setting the required environment variables the `emasser `CLI utilized the zero-dependency module to load these variables from a `.env` file.
|
5
5
|
|
6
|
-
|
6
|
+
### Configuring the `.env` File
|
7
|
+
An `.env-example` file is provided with the required and optional fields.
|
8
|
+
|
9
|
+
Modify the `.env_example` as necessary and save it as a `.env` file.
|
10
|
+
|
11
|
+
Place the file on the path where the `emasser` command is executed.
|
12
|
+
|
13
|
+
### Required and Optional Environment Variables
|
14
|
+
The following environment variables are required:
|
7
15
|
* EMASSER_API_KEY_API_KEY=`<API key>`
|
8
16
|
* EMASSER_API_KEY_USER_UID=`<unique identifier for the API Key (EMASSER_API_KEY_API_KEY)`
|
9
17
|
* EMASSER_HOST=`<FQDN of the eMASS server>`
|
@@ -11,26 +19,31 @@ emasser environment variables (required):
|
|
11
19
|
* EMASSER_CERT_FILE_PATH=`<path to your eMASS certificate in PEM format>`
|
12
20
|
* EMASSER_KEY_PASSWORD=`<password for the key given in EMASSER_KEY_FILE_PATH>`
|
13
21
|
|
14
|
-
|
15
|
-
* EMASSER_CLIENT_SIDE_VALIDATION=`<client side validation - true or false>`
|
16
|
-
* EMASSER_VERIFY_SSL=`<verify SSL - true or false>`
|
17
|
-
* EMASSER_VERIFY_SSL_HOST=`<verify host SSL - true or false>`
|
18
|
-
* EMASSER_DEBUGGING=`<set debugging - true or false>`
|
22
|
+
The following environment variables are *optional:
|
23
|
+
* EMASSER_CLIENT_SIDE_VALIDATION=`<client side validation - true or false (default true)>`
|
24
|
+
* EMASSER_VERIFY_SSL=`<verify SSL - true or false (default true)>`
|
25
|
+
* EMASSER_VERIFY_SSL_HOST=`<verify host SSL - true or false (default true)>`
|
26
|
+
* EMASSER_DEBUGGING=`<set debugging - true or false (default false)>`
|
27
|
+
* EMASSER_CLI_DISPLAY_NULL=`<display null value fields - true or false (default true)>`
|
28
|
+
* EMASSER_POCH_TO_DATETIME=`<convert epoch to data/time value - true or false (default false)>`
|
29
|
+
|
30
|
+
\* If not provided defaults are used
|
31
|
+
|
32
|
+
The proper format to set these variables in the `.env` files is as follows:
|
33
|
+
```bash
|
34
|
+
export [VARIABLE_NAME]='value'
|
35
|
+
```
|
36
|
+
***NOTE***
|
37
|
+
`emasser` requires authentication to an eMASS instance as well as authorization to use the eMASS API. This authentication and authorization is **not** a function of `emasser` and needs to be accomplished with the eMASS instances owner organization. Further information about eMASS credential requirements refer to [Defense Counterintelligence and Security Agency](https://www.dcsa.mil/is/emass/) about eMASS access.
|
19
38
|
|
39
|
+
---
|
20
40
|
## Common emasser Endpoint Requests Information
|
21
41
|
- To invoke any boolean parameters use --parameterName for TRUE and --no-parameterName for FALSE
|
22
|
-
- The eMASS API provides the capability of updating multiple entries within several endpoints, however
|
42
|
+
- The eMASS API provides the capability of updating multiple entries within several endpoints, however the `emasser` CLI, in some cases only supports updating one entry at the time.
|
23
43
|
|
24
44
|
## Invoking emasser CLI Commands
|
25
45
|
|
26
|
-
The CLI invoke commands listed in this document shows them when executing from the source code (after a pull from GitHub).
|
27
|
-
- Invoking the GET systems endpoint from the source code is:
|
28
|
-
|
29
|
-
bundle exec exe/emasser get systems all
|
30
|
-
|
31
|
-
- Invoking the GET systems endpoint from the compile binary (.gem) is:
|
32
|
-
|
33
|
-
emasser get systems all
|
46
|
+
The CLI invoke commands listed in this document shows them when executing from the source code (after a pull from GitHub). Please reference the [`emasser` README](https://mitre.github.io/emasser/) on how to invoke the CLI using other available executables (gem or docker).
|
34
47
|
|
35
48
|
## API Endpoints Provided
|
36
49
|
|
@@ -38,10 +51,11 @@ The CLI invoke commands listed in this document shows them when executing from t
|
|
38
51
|
* [/api](#get-test-connection)
|
39
52
|
* [/api/system](#get-system)
|
40
53
|
* [/api/systems](#get-systems)
|
54
|
+
* [/api/systems/{systemId}](#get-system)
|
41
55
|
* [/api/system-roles](#get-roles)
|
42
56
|
* [/api/system-roles/{roleCategory}](#get-roles)
|
43
57
|
* [/api/systems/{systemId}/controls](#get-controls)
|
44
|
-
* [/api/systems/{systemId}/test-results](#get-
|
58
|
+
* [/api/systems/{systemId}/test-results](#get-testresults)
|
45
59
|
* [/api/systems/{systemId}/poams](#get-poams)
|
46
60
|
* [/api/systems/{systemId}/poams/{poamId}](#get-poams)
|
47
61
|
* [/api/systems/{systemId}/poams/{poamId}/milestones](#get-milestones)
|
@@ -51,8 +65,8 @@ The CLI invoke commands listed in this document shows them when executing from t
|
|
51
65
|
* [/api/systems/{systemId}/approval/cac](#get-cac)
|
52
66
|
* [/api/systems/{systemId}/approval/pac](#get-pac)
|
53
67
|
* [/api/cmmc-assessments](#get-cmmc)
|
54
|
-
* [/api/workflow-definitions](#get-
|
55
|
-
* [/api/systems/{systemId}/workflow-instances](#get-
|
68
|
+
* [/api/workflow-definitions](#get-workflowdefinitions)
|
69
|
+
* [/api/systems/{systemId}/workflow-instances](#get-workflowinstances)
|
56
70
|
|
57
71
|
### POST
|
58
72
|
* [/api/systems/{systemId}/test-results](#post-test_results)
|
@@ -62,6 +76,8 @@ The CLI invoke commands listed in this document shows them when executing from t
|
|
62
76
|
* [/api/systems/{systemId}/approval/cac](#post-cac)
|
63
77
|
* [/api/systems/{systemId}/approval/pac](#post-pac)
|
64
78
|
* [/api/systems/{systemId}/static-code-scans](#post-static_code_scan)
|
79
|
+
* [/api/systems/{systemId}/cloud-resource-results](#post-cloudresource)
|
80
|
+
* [/api/systems/{systemId}/container-scan-results](#post-container)
|
65
81
|
|
66
82
|
### PUT
|
67
83
|
* [/api/systems/{systemId}/controls](#put-controls)
|
@@ -77,77 +93,76 @@ The CLI invoke commands listed in this document shows them when executing from t
|
|
77
93
|
## Endpoints CLI help
|
78
94
|
|
79
95
|
Each CLI endpoint command has several layers of help.
|
80
|
-
- Using `help` after a `get, put, post, or delete` command lists all available endpoint calls
|
96
|
+
- Using `help` after a `get, put, post, or delete` command lists all available endpoint calls. The following command would list all available `GET` endpoints commands.
|
81
97
|
|
82
|
-
```
|
98
|
+
```bash
|
83
99
|
$ bundle exec exe/emasser get help
|
100
|
+
Commands:
|
101
|
+
emasser get artifacts # Get system Artifacts
|
102
|
+
emasser get cac # Get location of one or many controls in...
|
103
|
+
emasser get cmmc # Get CMMC assessment information
|
104
|
+
emasser get controls # Get system Controls
|
105
|
+
emasser get help [COMMAND] # Describe subcommands or one specific su...
|
106
|
+
emasser get milestones # Get system Milestones
|
107
|
+
emasser get pac # Get status of active workflows in a system
|
108
|
+
emasser get poams # Get system Poams
|
109
|
+
emasser get roles # Get all system roles or by category Id
|
110
|
+
emasser get system # Get a system ID given name/owner, or ge...
|
111
|
+
emasser get systems # Get all systems
|
112
|
+
emasser get test # Test connection to the configured eMASS...
|
113
|
+
emasser get test_results # Get system Test Results
|
114
|
+
emasser get workflow_definitions # Get workflow definitions in a site
|
115
|
+
emasser get workflow_instances # Get workflow instance by system and/or ...
|
84
116
|
```
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
- emasser get approval ...
|
89
|
-
- emasser get artifacts ...
|
90
|
-
- emasser get controls ...
|
91
|
-
- emasser get help [COMMAND] ...
|
92
|
-
- emasser get poams ...
|
93
|
-
- emasser get roles ...
|
94
|
-
- emasser get system [--system-name [SYSTEM_NAME]] [--system-owner [SYSTEM_OW...
|
95
|
-
- emasser get systems [options] ...
|
96
|
-
- emasser get test_results ...
|
97
|
-
|
98
|
-
- Preceding any command with `help` provides help for the command
|
99
|
-
|
100
|
-
```
|
117
|
+
- Preceding any command with `help` provides help for the command. The following command would list all available sub-commands and options for the `get artifacts` endpoint command.
|
118
|
+
```bash
|
101
119
|
$ bundle exec exe/emasser get help artifacts
|
120
|
+
commands:
|
121
|
+
emasser get artifacts export --filename=FILENAME --systemId=N # Get artifa...
|
122
|
+
emasser get artifacts forSystem --systemId=N # Get all sy...
|
123
|
+
emasser get artifacts help [COMMAND] # Describe s...
|
102
124
|
```
|
103
|
-
|
104
|
-
|
105
|
-
- emasser get artifacts help [COMMAND] # Describe s...
|
106
|
-
- emasser get artifacts system --systemId=N # Get all sy...
|
107
|
-
|
108
|
-
- Using `help` after any command lists all available options
|
109
|
-
|
110
|
-
```
|
125
|
+
- Using `help` after any command lists all available options. The following command would list all available options for the `get artifacts export` endpoint command.
|
126
|
+
```bash
|
111
127
|
$ bundle exec exe/emasser get artifacts help export
|
112
|
-
|
113
|
-
|
114
|
-
- Usage:
|
115
|
-
- emasser get artifacts export --filename=FILENAME --systemId=N
|
116
|
-
- Options:
|
117
|
-
- --systemId=N # A numeric value representing the system identification
|
118
|
-
- --filename=FILENAME # The artifact file name
|
119
|
-
- --compress # BOOLEAN - true or false.
|
128
|
+
Usage:
|
129
|
+
emasser get artifacts export --filename=FILENAME --systemId=N
|
120
130
|
|
121
|
-
|
131
|
+
Options:
|
132
|
+
--systemId=N # A numeric value representing the system identification
|
133
|
+
--filename=FILENAME # The artifact file name
|
134
|
+
[--compress], [--no-compress] # BOOLEAN - true or false.
|
135
|
+
```
|
136
|
+
**The same format is applicable for POST, PUT and DELETE requests as well, however there may be additional help content**
|
122
137
|
|
123
138
|
|
124
139
|
## Usage - GET
|
125
140
|
|
126
|
-
### ```get test connection```
|
127
|
-
[top](#api-endpoints-provided)
|
128
|
-
|
141
|
+
### ```get test connection```
|
129
142
|
---
|
130
143
|
The Test Connection endpoint provides the ability to verify connection to the web service.
|
131
144
|
|
132
145
|
$ bundle exec exe/emasser get test connection
|
133
146
|
|
134
147
|
A return of success from the call indicates that the CLI can reach the configure server URL.
|
135
|
-
References [Required Environment Variables](#required-environment-variables)
|
148
|
+
References [Required Environment Variables](#required-environment-variables) for the necessary environment variables.
|
136
149
|
|
137
|
-
### ```get system```
|
138
150
|
[top](#api-endpoints-provided)
|
139
151
|
|
152
|
+
### ```get system```
|
153
|
+
|
140
154
|
---
|
141
|
-
The `get system
|
155
|
+
The `get system` command is not a sanctioned eMASS endpoint, it makes use of the `get systems` endpoint with added business logic.
|
156
|
+
|
157
|
+
There are two commands provided by the get system:
|
142
158
|
|
143
|
-
The `get system
|
159
|
+
- The `get system id` - returns system ID's based on the system `name` or `owner`
|
160
|
+
- The `get system byId` - returns the system content for parameter system ID
|
144
161
|
|
145
162
|
### get system id
|
146
163
|
Retrieves a system identification based on the SYSTEM_NAME (name) or SYSTEM_OWNER (systemOwner) fields.
|
147
164
|
|
148
|
-
|
149
|
-
|
150
|
-
To invoke the `get system` use the following command:
|
165
|
+
To invoke the `get system id` use the following command:
|
151
166
|
|
152
167
|
$ bundle exec exe/emasser get system id --system_name "system name" --system_owner "system owner"
|
153
168
|
|
@@ -157,7 +172,7 @@ If using a platform that has `awk` installed the following command can be used t
|
|
157
172
|
|
158
173
|
|
159
174
|
### get system byId
|
160
|
-
|
175
|
+
Retrieves the system content for provided identification (ID) number. To invoke the endpoint use the following command:
|
161
176
|
|
162
177
|
$ bundle exec exe/emasser get system byId
|
163
178
|
|
@@ -174,14 +189,16 @@ To view a system by its identification (Id) use the following command:
|
|
174
189
|
|--includePackage |BOOLEAN - true or false |
|
175
190
|
|--policy |Possible values: diacap, rmf, reporting |
|
176
191
|
|
192
|
+
[top](#api-endpoints-provided)
|
177
193
|
|
178
194
|
### ```get systems```
|
179
|
-
[top](#api-endpoints-provided)
|
180
195
|
|
181
196
|
----
|
182
|
-
To
|
183
|
-
|
197
|
+
To retrieve controls use the following command:
|
198
|
+
- all - Retrieves all available systems
|
199
|
+
```
|
184
200
|
$ bundle exec exe/emasser get systems all
|
201
|
+
```
|
185
202
|
|
186
203
|
- Optional parameters are:
|
187
204
|
|
@@ -194,12 +211,11 @@ To view systems use the following command:
|
|
194
211
|
|--includePackage |BOOLEAN - true or false |
|
195
212
|
|--policy |Possible values: diacap, rmf, reporting |
|
196
213
|
|--registrationType |Possible values: assessAndAuthorize, assessOnly, guest, regular, functional, |
|
197
|
-
| |
|
214
|
+
| | cloudServiceProvider, commonControlProvider |
|
198
215
|
|--reportsForScorecard |BOOLEAN - true or false |
|
199
216
|
|
200
|
-
|
201
|
-
### ```get roles```
|
202
217
|
[top](#api-endpoints-provided)
|
218
|
+
### ```get roles```
|
203
219
|
|
204
220
|
----
|
205
221
|
There are two get endpoints for system roles:
|
@@ -225,12 +241,11 @@ There are two get endpoints for system roles:
|
|
225
241
|
|--policy |Possible values: diacap, rmf, reporting |
|
226
242
|
|--includeDecommissioned |BOOLEAN - true or false |
|
227
243
|
|
228
|
-
|
229
|
-
### ```get controls```
|
230
244
|
[top](#api-endpoints-provided)
|
245
|
+
### ```get controls```
|
231
246
|
|
232
247
|
----
|
233
|
-
To
|
248
|
+
To retrieve controls use the following command:
|
234
249
|
|
235
250
|
$ bundle exec exe/emasser get controls forSystem --systemId=SYSTEMID
|
236
251
|
|
@@ -246,12 +261,11 @@ To view controls use the following command:
|
|
246
261
|
|-------------|:------------------------------------------|
|
247
262
|
|--acronyms |The system acronym(s) e.g "AC-1, AC-2" - if not provided all controls for systemId are returned |
|
248
263
|
|
249
|
-
|
250
|
-
### ```get test_results```
|
251
264
|
[top](#api-endpoints-provided)
|
265
|
+
### ```get test_results```
|
252
266
|
|
253
267
|
----
|
254
|
-
To
|
268
|
+
To retrieve test results use the following command:
|
255
269
|
|
256
270
|
$ bundle exec exe/emasser get test_results forSystem --systemId=SYSTEMID
|
257
271
|
|
@@ -269,9 +283,8 @@ To view test results use the following command:
|
|
269
283
|
|--ccis |String - The system CCIS string numerical value |
|
270
284
|
|--latestOnly |BOOLEAN - true or false|
|
271
285
|
|
272
|
-
|
273
|
-
### ```get poams```
|
274
286
|
[top](#api-endpoints-provided)
|
287
|
+
### ```get poams```
|
275
288
|
|
276
289
|
----
|
277
290
|
There are two get endpoints for system poams:
|
@@ -307,9 +320,8 @@ There are two get endpoints for system poams:
|
|
307
320
|
|--systemId |Integer - Unique system identifier |
|
308
321
|
|--poamId |Integer - Unique poam identifier |
|
309
322
|
|
310
|
-
|
311
|
-
### ```get milestones```
|
312
323
|
[top](#api-endpoints-provided)
|
324
|
+
### ```get milestones```
|
313
325
|
|
314
326
|
----
|
315
327
|
There are two get endpoints for system milestones:
|
@@ -344,9 +356,8 @@ There are two get endpoints for system milestones:
|
|
344
356
|
|--poamId |Integer - Unique poam identifier |
|
345
357
|
|--milestoneId |Integer - Unique milestone identifier |
|
346
358
|
|
347
|
-
|
348
|
-
### ```get artifacts```
|
349
359
|
[top](#api-endpoints-provided)
|
360
|
+
### ```get artifacts```
|
350
361
|
|
351
362
|
----
|
352
363
|
There are two get endpoints that provides the ability to view existing `Artifacts` in a system:
|
@@ -380,11 +391,14 @@ There are two get endpoints that provides the ability to view existing `Artifact
|
|
380
391
|
|-------------|:----------------------------------|
|
381
392
|
|--systemId |Integer - Unique system identifier |
|
382
393
|
|--filename |The artifact file name |
|
394
|
+
|
395
|
+
- optional parameter is:
|
396
|
+
|parameter | type or values |
|
397
|
+
|-------------|:----------------------------------|
|
383
398
|
|--compress |BOOLEAN - true or false. |
|
384
399
|
|
385
|
-
|
386
|
-
### ```get cac```
|
387
400
|
[top](#api-endpoints-provided)
|
401
|
+
### ```get cac```
|
388
402
|
|
389
403
|
----
|
390
404
|
To view one or many Control Approval Chain (CAC) in a system specified system ID use the following command:
|
@@ -403,9 +417,8 @@ To view one or many Control Approval Chain (CAC) in a system specified system ID
|
|
403
417
|
|-------------------------------|:----------------------------------------------|
|
404
418
|
|--controlAcronyms |String - The system acronym(s) e.g "AC-1, AC-2"|
|
405
419
|
|
406
|
-
|
407
|
-
### ```get pac```
|
408
420
|
[top](#api-endpoints-provided)
|
421
|
+
### ```get pac```
|
409
422
|
|
410
423
|
----
|
411
424
|
To view one or many Package Approval Chain (PAC) in a system specified system ID use the following command:
|
@@ -419,9 +432,8 @@ To view one or many Package Approval Chain (PAC) in a system specified system ID
|
|
419
432
|
|-------------|:----------------------------------|
|
420
433
|
|--systemId |Integer - Unique system identifier |
|
421
434
|
|
422
|
-
|
423
|
-
### ```get cmmc```
|
424
435
|
[top](#api-endpoints-provided)
|
436
|
+
### ```get cmmc```
|
425
437
|
|
426
438
|
----
|
427
439
|
To view Cybersecurity Maturity Model Certification (CMMC) Assessments use the following command:
|
@@ -434,9 +446,8 @@ To view Cybersecurity Maturity Model Certification (CMMC) Assessments use the fo
|
|
434
446
|
|----------------|:--------------------------------------|
|
435
447
|
|--sinceDate |Date - The CMMC date. Unix date format |
|
436
448
|
|
437
|
-
|
438
|
-
### ```get workflow_definitions```
|
439
449
|
[top](#api-endpoints-provided)
|
450
|
+
### ```get workflow_definitions```
|
440
451
|
|
441
452
|
----
|
442
453
|
To view Workflow Definitions use the following command:
|
@@ -449,22 +460,15 @@ To view Workflow Definitions use the following command:
|
|
449
460
|
|---------------------|:----------------------------------------------------------------------------|
|
450
461
|
|--includeInactive |BOOLEAN - true or false |
|
451
462
|
|--registrationType |Possible values: assessAndAuthorize, assessOnly, guest, regular, functional, |
|
452
|
-
| |
|
453
|
-
|
463
|
+
| | cloudServiceProvider, commonControlProvider |
|
454
464
|
|
455
|
-
### ```get workflow_instances```
|
456
465
|
[top](#api-endpoints-provided)
|
457
466
|
|
467
|
+
### ```get workflow_instances```
|
458
468
|
----
|
459
469
|
There are two get endpoints to view workflow instances:
|
460
|
-
-
|
461
|
-
$ bundle exec exe/emasser get workflow_instances
|
462
|
-
|
463
|
-
- required parameter is:
|
464
|
-
|
465
|
-
|parameter | type or values |
|
466
|
-
|-------------|:----------------------------------|
|
467
|
-
|--systemId |Integer - Unique system identifier |
|
470
|
+
- all
|
471
|
+
$ bundle exec exe/emasser get workflow_instances all
|
468
472
|
|
469
473
|
- Optional parameters are:
|
470
474
|
|
@@ -476,21 +480,20 @@ There are two get endpoints to view workflow instances:
|
|
476
480
|
|--status |Possible values: active, inactive, all |
|
477
481
|
|
478
482
|
- byWorkflowInstanceId
|
479
|
-
$ bundle exec exe/emasser get workflow_instances byWorkflowInstanceId --
|
483
|
+
$ bundle exec exe/emasser get workflow_instances byWorkflowInstanceId --workflowInstanceId=--WORKFLOWID
|
480
484
|
|
481
485
|
- required parameter is:
|
482
486
|
|
483
487
|
|parameter | type or values |
|
484
488
|
|---------------------|:---------------------------------------------|
|
485
|
-
|--systemId |Integer - Unique system identifier |
|
486
489
|
|--workflowInstanceId |Integer - Unique workflow instance identifier |
|
487
490
|
|
491
|
+
[top](#api-endpoints-provided)
|
492
|
+
|
488
493
|
|
489
494
|
## Usage - POST
|
490
495
|
|
491
496
|
### ``post test_results``
|
492
|
-
[top](#api-endpoints-provided)
|
493
|
-
|
494
497
|
---
|
495
498
|
Test Result add (POST) endpoint API business rules.
|
496
499
|
|
@@ -531,11 +534,9 @@ For information at the command line use:
|
|
531
534
|
```
|
532
535
|
$ bundle exec exe/emasser post test_results help add
|
533
536
|
```
|
534
|
-
|
537
|
+
[top](#post)
|
535
538
|
|
536
539
|
### ``post poams``
|
537
|
-
[top](#api-endpoints-provided)
|
538
|
-
|
539
540
|
---
|
540
541
|
Plan of Action and Milestones (POA&M) add (POST) endpoint API business rules.
|
541
542
|
|
@@ -573,19 +574,23 @@ Business logic, the following rules apply when adding POA&Ms
|
|
573
574
|
- If the Security Control or Assessment Procedure does not exist in the system we may have to just import POA&M Item at the System Level.
|
574
575
|
|
575
576
|
|
576
|
-
The following parameters/fields have the following character limitations:
|
577
|
-
-
|
578
|
-
- Office / Organization (pocOrganization)
|
579
|
-
- First Name (pocFirstName)
|
580
|
-
- Last Name (pocLastName)
|
581
|
-
- Email (email)
|
582
|
-
- Phone Number (pocPhoneNumber)
|
583
|
-
-
|
584
|
-
-
|
585
|
-
-
|
586
|
-
-
|
587
|
-
-
|
588
|
-
|
577
|
+
The following POA&M parameters/fields have the following character limitations:
|
578
|
+
- Fields that can not exceed 100 characters:
|
579
|
+
- Office / Organization (`pocOrganization`)
|
580
|
+
- First Name (`pocFirstName`)
|
581
|
+
- Last Name (`pocLastName`)
|
582
|
+
- Email (`email`)
|
583
|
+
- Phone Number (`pocPhoneNumber`)
|
584
|
+
- External Unique ID (`externalUid`)
|
585
|
+
- Fields that can not exceed 250 characters:
|
586
|
+
- Resource (`resource`)
|
587
|
+
- Fields have can not exceed 2000 character:
|
588
|
+
- Vulnerability Description (`vulnerabilityDescription`)
|
589
|
+
- Source Identifying Vulnerability (`sourceIdentVuln`)
|
590
|
+
- Recommendations (`recommendations`)
|
591
|
+
- Risk Accepted Comments (`comments`)
|
592
|
+
- Milestone Description (`description`)
|
593
|
+
- Mitigation Justification (`mitigation`)
|
589
594
|
|
590
595
|
To add (POST) POA&Ms use the following command:
|
591
596
|
```
|
@@ -604,30 +609,30 @@ $ bundle exec exe/emasser post poams add --systemId [value] --status [value] --v
|
|
604
609
|
Client API parameters/fields (required, conditional, and optional).
|
605
610
|
- required parameter are:
|
606
611
|
|
607
|
-
|parameter | type or values
|
608
|
-
|
609
|
-
|--systemId |Integer - Unique system identifier
|
610
|
-
|--status |Possible Values: Ongoing,Risk Accepted,Completed,Not Applicable
|
611
|
-
|--vulnerabilityDescription |String - Vulnerability description for the POA&M Item
|
612
|
-
|--sourceIdentVuln |String - Include Source Identifying Vulnerability text
|
613
|
-
|--pocOrganization |String - Organization/Office represented
|
614
|
-
|--resources |String - List of resources used. Character Limit = 250
|
612
|
+
|parameter | type or values |
|
613
|
+
|---------------------------|:---------------------------------------------------------------|
|
614
|
+
|--systemId |Integer - Unique system identifier |
|
615
|
+
|--status |Possible Values: Ongoing,Risk Accepted,Completed,Not Applicable |
|
616
|
+
|--vulnerabilityDescription |String - Vulnerability description for the POA&M Item |
|
617
|
+
|--sourceIdentVuln |String - Include Source Identifying Vulnerability text |
|
618
|
+
|--pocOrganization |String - Organization/Office represented |
|
619
|
+
|--resources |String - List of resources used. Character Limit = 250 |
|
615
620
|
|
616
621
|
** If any poc information is provided all POC fields are required. See additional details for POC fields below.
|
617
622
|
|
618
623
|
- conditional parameters are:
|
619
624
|
|
620
|
-
|parameter | type or values
|
621
|
-
|
622
|
-
|--milestones |JSON - see milestone format
|
623
|
-
|--pocFirstName |String - First name of POC
|
624
|
-
|--pocLastName |String - Last name of POC
|
625
|
-
|--pocEmail |String - Email address of POC
|
626
|
-
|--pocPhoneNumber |String - Phone number of POC (area code) ***-**** format
|
627
|
-
|--severity |Possible values - Very Low, Low, Moderate, High, Very High
|
628
|
-
|--scheduledCompletionDate |Date - Required for ongoing and completed POA&M items. Unix time format
|
629
|
-
|--completionDate |Date - Field is required for completed POA&M items. Unix time format
|
630
|
-
|--comments |String - Field is required for completed and risk accepted POA&M items.
|
625
|
+
|parameter | type or values |
|
626
|
+
|--------------------------|:------------------------------------------------------------------------|
|
627
|
+
|--milestones |JSON - see milestone format |
|
628
|
+
|--pocFirstName |String - First name of POC |
|
629
|
+
|--pocLastName |String - Last name of POC |
|
630
|
+
|--pocEmail |String - Email address of POC |
|
631
|
+
|--pocPhoneNumber |String - Phone number of POC (area code) ***-**** format |
|
632
|
+
|--severity |Possible values - Very Low, Low, Moderate, High, Very High |
|
633
|
+
|--scheduledCompletionDate |Date - Required for ongoing and completed POA&M items. Unix time format |
|
634
|
+
|--completionDate |Date - Field is required for completed POA&M items. Unix time format |
|
635
|
+
|--comments |String - Field is required for completed and risk accepted POA&M items. |
|
631
636
|
|
632
637
|
** If a POC email is supplied, the application will attempt to locate a user already registered within the application and pre-populate any information not explicitly supplied in the request. If no such user is found, these fields are required within the request:
|
633
638
|
pocFirstName, pocLastName, pocPhoneNumber
|
@@ -639,7 +644,7 @@ Client API parameters/fields (required, conditional, and optional).
|
|
639
644
|
|
640
645
|
|parameter | type or values |
|
641
646
|
|--------------------|:-----------------------------------------------------------------------------------------|
|
642
|
-
|--externalUid |String - External unique identifier for use with associating POA&M Items
|
647
|
+
|--externalUid |String - External unique identifier for use with associating POA&M Items |
|
643
648
|
|--controlAcronym |String - Control acronym associated with the POA&M Item. NIST SP 800-53 Revision 4 defined|
|
644
649
|
|--cci |String - CCI associated with the test result |
|
645
650
|
|--securityChecks |String - Security Checks that are associated with the POA&M |
|
@@ -649,8 +654,8 @@ Client API parameters/fields (required, conditional, and optional).
|
|
649
654
|
|--impact |Possible values: Very Low, Low, Moderate, High, Very High |
|
650
655
|
|--impactDescription |String - Include description of Security Control’s impact |
|
651
656
|
|--residualRiskLevel |Possible values: Very Low, Low, Moderate, High, Very High |
|
652
|
-
|--recommendations |String - Include recommendations
|
653
|
-
|--mitigation |String - Include mitigation explanation
|
657
|
+
|--recommendations |String - Include recommendations |
|
658
|
+
|--mitigation |String - Include mitigation explanation |
|
654
659
|
|
655
660
|
|
656
661
|
**Note**
|
@@ -658,11 +663,9 @@ For information at the command line use:
|
|
658
663
|
```
|
659
664
|
$ bundle exec exe/emasser post poams help add
|
660
665
|
```
|
661
|
-
|
666
|
+
[top](#post)
|
662
667
|
|
663
668
|
### ``post milestones``
|
664
|
-
[top](#api-endpoints-provided)
|
665
|
-
|
666
669
|
---
|
667
670
|
To add (POST) milestones in a system for one or more POA&M items use the following command:
|
668
671
|
|
@@ -684,11 +687,9 @@ For information at the command line use:
|
|
684
687
|
```
|
685
688
|
$ bundle exec exe/emasser post milestones help add
|
686
689
|
```
|
687
|
-
|
690
|
+
[top](#post)
|
688
691
|
|
689
692
|
### ``post artifacts``
|
690
|
-
[top](#api-endpoints-provided)
|
691
|
-
|
692
693
|
---
|
693
694
|
The add (POST) artifacts endpoint accepts a single binary file with file extension.zip only. The command line (CI) reads the files provided and zips them before sending to eMASS.
|
694
695
|
|
@@ -745,11 +746,9 @@ For information at the command line use:
|
|
745
746
|
```
|
746
747
|
$ bundle exec exe/emasser post artifacts help upload
|
747
748
|
```
|
748
|
-
|
749
|
+
[top](#post)
|
749
750
|
|
750
751
|
### ``post cac``
|
751
|
-
[top](#api-endpoints-provided)
|
752
|
-
|
753
752
|
----
|
754
753
|
Submit control to second role of CAC
|
755
754
|
|
@@ -779,11 +778,9 @@ For information at the command line use:
|
|
779
778
|
```
|
780
779
|
$ bundle exec exe/emasser post cac help add
|
781
780
|
```
|
782
|
-
|
781
|
+
[top](#post)
|
783
782
|
|
784
783
|
### ``post pac``
|
785
|
-
[top](#api-endpoints-provided)
|
786
|
-
|
787
784
|
----
|
788
785
|
Submit control to second role of CAC
|
789
786
|
|
@@ -799,20 +796,17 @@ To add (POST) test PAC use the following command:
|
|
799
796
|
|--systemId |Integer - Unique system identifier |
|
800
797
|
|--workflow |Possible Values: Assess and Authorize, Assess Only, Security Plan Approval |
|
801
798
|
|--name |String - Package name. 100 Characters |
|
802
|
-
|--comments |
|
799
|
+
|--comments |String - Comments submitted upon initiation of the indicated workflow, 4,000 character|
|
803
800
|
|
804
801
|
**Note**
|
805
802
|
For information at the command line use:
|
806
803
|
```
|
807
804
|
$ bundle exec exe/emasser post pac help add
|
808
805
|
```
|
809
|
-
|
806
|
+
[top](#post)
|
810
807
|
|
811
808
|
### ``post static_code_scan``
|
812
|
-
[top](#api-endpoints-provided)
|
813
|
-
|
814
809
|
----
|
815
|
-
|
816
810
|
To add (POST) static code scans use the following command:
|
817
811
|
|
818
812
|
````
|
@@ -858,12 +852,139 @@ For information at the command line use:
|
|
858
852
|
```
|
859
853
|
$ bundle exec exe/emasser post scan_findings help add
|
860
854
|
```
|
855
|
+
[top](#post)
|
856
|
+
|
857
|
+
### ```post cloud_resource```
|
858
|
+
---
|
859
|
+
|
860
|
+
The following Cloud Resource parameters/fields have the following character limitations:
|
861
|
+
- Fields that can not exceed 50 characters:
|
862
|
+
- Policy Deployment Version (`policyDeploymentVersion`)
|
863
|
+
- Fields that can not exceed 100 characters:
|
864
|
+
- Assessment Procedure (`assessmentProcedure`)
|
865
|
+
- Security Control Acronym (`control`)
|
866
|
+
- CSP Account ID (`cspAccountId`)
|
867
|
+
- CSP Region (`cspRegion`)
|
868
|
+
- Email of POC (`initiatedBy`)
|
869
|
+
- Cloud Service Provider (`provider`)
|
870
|
+
- Type of Cloud resource (`resourceType`)
|
871
|
+
- Fields that can not exceed 500 characters:
|
872
|
+
- CSP/Resource’s Policy ID (`cspPolicyDefinitionId`)
|
873
|
+
- Policy Deployment Name (`policyDeploymentName`)
|
874
|
+
- Policy Compliance ID (`resourceId`)
|
875
|
+
- Cloud Resource Name (`resourceName`)
|
876
|
+
- Fields that can not exceed 1000 characters:
|
877
|
+
- Reason for Compliance (`complianceReason`)
|
878
|
+
- Fields that can not exceed 2000 characters:
|
879
|
+
- Policy Short Title (`policyDefinitionTitle`)
|
880
|
+
|
881
|
+
To add a cloud resource and their scan results in the assets module for a system use the following command:
|
882
|
+
````
|
883
|
+
$ bundle exec exe/emasser post cloud_resource add --systemId [value] --provider [value] --resourceId [value] --resourceName [value] --resourceType [value] --cspPolicyDefinitionId [value] --isCompliant or --is-not-Compliant --policyDefinitionTitle [value] --test [value]
|
884
|
+
````
|
885
|
+
- required parameter are:
|
886
|
+
|
887
|
+
|parameter | type or values |
|
888
|
+
|------------------------|:--------------------------------------------------------------------------|
|
889
|
+
|--systemId |Integer - Unique system identifier |
|
890
|
+
|--provider |string - Cloud service provider name |
|
891
|
+
|--resourceId |String - Unique identifier/resource namespace for policy compliance result |
|
892
|
+
|--resourceName |String - Friendly name of Cloud resource |
|
893
|
+
|--resourceType |String - Type of Cloud resource |
|
894
|
+
|--cspPolicyDefinitionId |String - Unique identifier/compliance namespace for CSP/Resource\'s policy definition/compliance check|
|
895
|
+
|--isCompliant | Boolean - Compliance status of the policy for the identified cloud resource |
|
896
|
+
|--policyDefinitionTitle | String - Friendly policy/compliance check title. Recommend short title |
|
897
|
+
|
898
|
+
- optional parameters are:
|
899
|
+
|
900
|
+
|parameter | type or values |
|
901
|
+
|-------------------|:------------------------------------------------------|
|
902
|
+
|--initiatedBy |String - Person initiating the process email address |
|
903
|
+
|--cspAccountId |String - System/owner\'s CSP account ID/number |
|
904
|
+
|--cspRegion |String - CSP region of system |
|
905
|
+
|--isBaseline |Boolean - Flag that indicates in results is a baseline |
|
906
|
+
|Tags Object (tags)|
|
907
|
+
|--text | String - Text that specifies the tag type |
|
908
|
+
|Compliance Results Array Objects (complianceResults)|
|
909
|
+
|--assessmentProcedure |String - Comma separated correlation to Assessment Procedure (i.e. CCI number for DoD Control Set) |
|
910
|
+
|--complianceCheckTimestamp |Date - The compliance check date - Unix time format |
|
911
|
+
|--complianceReason |String - Reason/comments for compliance result |
|
912
|
+
|--control |String - Comma separated correlation to Security Control (e.g. exact NIST Control acronym) |
|
913
|
+
|--policyDeploymentName |String - Name of policy deployment |
|
914
|
+
|--policyDeploymentVersion |String - Version of policy deployment |
|
915
|
+
|--severity |Possible Values: Low, Medium, High, Critical |
|
916
|
+
|
917
|
+
|
918
|
+
**Note**
|
919
|
+
For information at the command line use:
|
920
|
+
```
|
921
|
+
$ bundle exec exe/emasser post cloud_resource help add
|
922
|
+
```
|
923
|
+
|
924
|
+
[top](#post)
|
925
|
+
|
926
|
+
|
927
|
+
### ```post container```
|
928
|
+
---
|
929
|
+
The following Container parameters/fields have the following character limitations:
|
930
|
+
- Fields that can not exceed 100 characters:
|
931
|
+
- STIG Benchmark ID (`benchmark`)
|
932
|
+
- Container Namespace (`namespace`)
|
933
|
+
- Kubernetes assigned IP (`podIp`)
|
934
|
+
- Kubernetes Pod Name) (`podName`)
|
935
|
+
- Fields that can not exceed 500 characters:
|
936
|
+
- Container ID (`containerId`)
|
937
|
+
- Friendly Container Name (`containerName`)
|
938
|
+
- Fields that can not exceed 1000 characters:
|
939
|
+
- Result Comments (`message`)
|
940
|
+
|
941
|
+
|
942
|
+
|
943
|
+
To add containers and their scan results in the assets module for a system use the following command:
|
944
|
+
````
|
945
|
+
$ bundle exec ruby exe/emasser post container add --systemId [value] --containerId [value] --containerName [value] --time [value] --benchmark [value] --lastSeen [value] --ruleId [value] --status [value]
|
946
|
+
|
947
|
+
````
|
948
|
+
|
949
|
+
- required parameter are:
|
950
|
+
|
951
|
+
|parameter | type or values |
|
952
|
+
|------------------------|:--------------------------------------------------------------------------|
|
953
|
+
|--systemId |Integer - Unique system identifier |
|
954
|
+
|--containerId |String - Unique identifier of the container |
|
955
|
+
|--containerName |String - Friendly name of the container |
|
956
|
+
|--time |Date - Datetime of scan/result. Unix date format |
|
957
|
+
|Bench Marks Object (benchmarks)|
|
958
|
+
|--benchmark |String - Identifier of the benchmark/grouping of compliance results |
|
959
|
+
|benchmarks.results |Object
|
960
|
+
|--ruleId |String - Identifier for the compliance result, vulnerability, etc.
|
961
|
+
|--status |String - Benchmark result status
|
962
|
+
|--lastSeen |Date - Date last seen, Unix date format
|
963
|
+
|
964
|
+
- optional parameters are:
|
965
|
+
|
966
|
+
|parameter | type or values |
|
967
|
+
|----------------------------|:------------------------------------------------------|
|
968
|
+
|--podName |String - Name of pod (e.g. Kubernetes pod) |
|
969
|
+
|--podIp |String - IP address of pod |
|
970
|
+
|--namespace |String - Namespace of container in container orchestration (e.g. Kubernetes namespace)|
|
971
|
+
|Tags Object (tags)|
|
972
|
+
|--text | String - Text that specifies the tag type |
|
973
|
+
|Bench Marks Object (benchmarks)
|
974
|
+
|--isBaseline |Boolean - True/false flag for providing results as baseline. If true, all existing compliance results for the provided benchmark within the container will be replaced by results in the current call|
|
975
|
+
|benchmarks.results |Object
|
976
|
+
|--message |String - Comments for the result
|
861
977
|
|
978
|
+
**Note**
|
979
|
+
For information at the command line use:
|
980
|
+
```
|
981
|
+
$ bundle exec exe/emasser post container help add
|
982
|
+
```
|
983
|
+
[top](#post)
|
862
984
|
|
863
985
|
## Usage - PUT
|
864
986
|
|
865
987
|
### ``put controls``
|
866
|
-
[top](#api-endpoints-provided)
|
867
988
|
|
868
989
|
----
|
869
990
|
Business Rules
|
@@ -882,16 +1003,16 @@ Implementation Plan cannot be updated if a Security Control is "Inherited" excep
|
|
882
1003
|
|
883
1004
|
The following parameters/fields have the following character limitations:
|
884
1005
|
- Implementation Plan information cannot be saved if the fields below exceed 2,000 character limits:
|
885
|
-
- N/A Justification (naJustification)
|
886
|
-
- Responsible Entities (responsibleEntities)
|
887
|
-
- Implementation Narrative (implementationNarrative)
|
888
|
-
- Criticality (slcmCriticality)
|
889
|
-
- Reporting (slcmReporting)
|
890
|
-
- Tracking (slcmTracking)
|
891
|
-
- Vulnerability Summary (vulnerabilitySummary)
|
892
|
-
- Recommendations (recommendations)
|
1006
|
+
- N/A Justification (`naJustification`)
|
1007
|
+
- Responsible Entities (`responsibleEntities`)
|
1008
|
+
- Implementation Narrative (`implementationNarrative`)
|
1009
|
+
- Criticality (`slcmCriticality`)
|
1010
|
+
- Reporting (`slcmReporting`)
|
1011
|
+
- Tracking (`slcmTracking`)
|
1012
|
+
- Vulnerability Summary (`vulnerabilitySummary`)
|
1013
|
+
- Recommendations (`recommendations`)
|
893
1014
|
- Implementation Plan information cannot be saved if the fields below exceed 4,000 character limits:
|
894
|
-
- SLCM Comments (slcmComments)
|
1015
|
+
- SLCM Comments (`slcmComments`)
|
895
1016
|
|
896
1017
|
Implementation Plan information cannot be updated if Security Control does not exist in the system record.
|
897
1018
|
|
@@ -943,10 +1064,9 @@ For information at the command line use:
|
|
943
1064
|
```
|
944
1065
|
$ bundle exec exe/emasser put controls help update
|
945
1066
|
```
|
946
|
-
|
1067
|
+
[top](#put)
|
947
1068
|
|
948
1069
|
### ``put poams``
|
949
|
-
[top](#api-endpoints-provided)
|
950
1070
|
|
951
1071
|
----
|
952
1072
|
Business Rules
|
@@ -996,6 +1116,26 @@ The following parameters/fields have the following character limitations:
|
|
996
1116
|
- POA&M Item cannot be saved if Resource field (resource) exceeds 250 characters.
|
997
1117
|
- POA&M Items cannot be saved if Milestone Description (description) exceeds 2,000 characters.
|
998
1118
|
|
1119
|
+
|
1120
|
+
The following POA&M parameters/fields have the following character limitations:
|
1121
|
+
- Fields that can not exceed 100 characters:
|
1122
|
+
- Office / Organization (`pocOrganization`)
|
1123
|
+
- First Name (`pocFirstName`)
|
1124
|
+
- Last Name (`pocLastName`)
|
1125
|
+
- Email (`email`)
|
1126
|
+
- Phone Number (`pocPhoneNumber`)
|
1127
|
+
- External Unique ID (`externalUid`)
|
1128
|
+
- Fields that can not exceed 250 characters:
|
1129
|
+
- Resource (`resource`)
|
1130
|
+
- Fields have can not exceed 2000 character:
|
1131
|
+
- Vulnerability Description (`vulnerabilityDescription`)
|
1132
|
+
- Source Identifying Vulnerability (`sourceIdentVuln`)
|
1133
|
+
- Recommendations (`recommendations`)
|
1134
|
+
- Risk Accepted Comments (`comments`)
|
1135
|
+
- Milestone Description (`description`)
|
1136
|
+
- Mitigation Justification (`mitigation`)
|
1137
|
+
|
1138
|
+
|
999
1139
|
---
|
1000
1140
|
Updating (PUT) a POA&M can be accomplished by invoking the following command:
|
1001
1141
|
````
|
@@ -1003,32 +1143,32 @@ Updating (PUT) a POA&M can be accomplished by invoking the following command:
|
|
1003
1143
|
````
|
1004
1144
|
- required parameter are:
|
1005
1145
|
|
1006
|
-
|parameter | type or values
|
1007
|
-
|
1008
|
-
|--systemId |Integer - Unique system identifier
|
1009
|
-
|--displayPoamId |Integer - Globally unique identifier for individual POA&M Items
|
1010
|
-
|--status |Possible Values: Ongoing,Risk Accepted,Completed,Not Applicable
|
1011
|
-
|--vulnerabilityDescription |String - Vulnerability description for the POA&M Item
|
1012
|
-
|--sourceIdentVuln |String - Include Source Identifying Vulnerability text
|
1013
|
-
|--pocOrganization |String - Organization/Office represented
|
1014
|
-
|--resources |String - List of resources used. Character Limit = 250
|
1146
|
+
|parameter | type or values |
|
1147
|
+
|---------------------------|:---------------------------------------------------------------|
|
1148
|
+
|--systemId |Integer - Unique system identifier |
|
1149
|
+
|--displayPoamId |Integer - Globally unique identifier for individual POA&M Items |
|
1150
|
+
|--status |Possible Values: Ongoing,Risk Accepted,Completed,Not Applicable |
|
1151
|
+
|--vulnerabilityDescription |String - Vulnerability description for the POA&M Item |
|
1152
|
+
|--sourceIdentVuln |String - Include Source Identifying Vulnerability text |
|
1153
|
+
|--pocOrganization |String - Organization/Office represented |
|
1154
|
+
|--resources |String - List of resources used. Character Limit = 250 |
|
1015
1155
|
|
1016
1156
|
** If any poc information is provided all POC fields are required. See additional details for POC fields below.
|
1017
1157
|
|
1018
1158
|
- conditional parameters are:
|
1019
1159
|
|
1020
|
-
|parameter | type or values
|
1021
|
-
|
1022
|
-
|--milestones |JSON - see milestone format
|
1023
|
-
|--pocFirstName |String - First name of POC
|
1024
|
-
|--pocLastName |String - Last name of POC
|
1025
|
-
|--pocEmail |String - Email address of POC
|
1026
|
-
|--pocPhoneNumber |String - Phone number of POC (area code) ***-**** format
|
1027
|
-
|--severity |Possible values - Very Low, Low, Moderate, High, Very High
|
1028
|
-
|--scheduledCompletionDate |Date - Required for ongoing and completed POA&M items. Unix time format
|
1029
|
-
|--completionDate |Date - Field is required for completed POA&M items. Unix time format
|
1030
|
-
|--comments |String - Field is required for completed and risk accepted POA&M items
|
1031
|
-
|--isActive |Boolean - Used to delete milestones when updating a POA&M
|
1160
|
+
|parameter | type or values |
|
1161
|
+
|--------------------------|:-----------------------------------------------------------------------|
|
1162
|
+
|--milestones |JSON - see milestone format |
|
1163
|
+
|--pocFirstName |String - First name of POC |
|
1164
|
+
|--pocLastName |String - Last name of POC |
|
1165
|
+
|--pocEmail |String - Email address of POC |
|
1166
|
+
|--pocPhoneNumber |String - Phone number of POC (area code) ***-**** format |
|
1167
|
+
|--severity |Possible values - Very Low, Low, Moderate, High, Very High |
|
1168
|
+
|--scheduledCompletionDate |Date - Required for ongoing and completed POA&M items. Unix time format |
|
1169
|
+
|--completionDate |Date - Field is required for completed POA&M items. Unix time format |
|
1170
|
+
|--comments |String - Field is required for completed and risk accepted POA&M items |
|
1171
|
+
|--isActive |Boolean - Used to delete milestones when updating a POA&M |
|
1032
1172
|
|
1033
1173
|
** If a POC email is supplied, the application will attempt to locate a user already registered within the application and pre-populate any information not explicitly supplied in the request. If no such user is found, these fields are required within the request:
|
1034
1174
|
pocFirstName, pocLastName, pocPhoneNumber
|
@@ -1041,7 +1181,7 @@ Updating (PUT) a POA&M can be accomplished by invoking the following command:
|
|
1041
1181
|
|
1042
1182
|
|parameter | type or values |
|
1043
1183
|
|--------------------|:-----------------------------------------------------------------------------------------|
|
1044
|
-
|--externalUid |String - External unique identifier for use with associating POA&M Items
|
1184
|
+
|--externalUid |String - External unique identifier for use with associating POA&M Items |
|
1045
1185
|
|--controlAcronym |String - Control acronym associated with the POA&M Item. NIST SP 800-53 Revision 4 defined|
|
1046
1186
|
|--cci |String - CCI associated with the test result |
|
1047
1187
|
|--securityChecks |String - Security Checks that are associated with the POA&M |
|
@@ -1051,7 +1191,7 @@ Updating (PUT) a POA&M can be accomplished by invoking the following command:
|
|
1051
1191
|
|--impact |Possible values: Very Low, Low, Moderate, High, Very High |
|
1052
1192
|
|--impactDescription |String - Include description of Security Control’s impact |
|
1053
1193
|
|--residualRiskLevel |Possible values: Very Low, Low, Moderate, High, Very High |
|
1054
|
-
|--recommendations |String - Include recommendations
|
1194
|
+
|--recommendations |String - Include recommendations |
|
1055
1195
|
|--mitigation |String - Include mitigation explanation. 2000 Characters |
|
1056
1196
|
|
1057
1197
|
**Note**
|
@@ -1059,10 +1199,9 @@ For information at the command line use:
|
|
1059
1199
|
```
|
1060
1200
|
$ bundle exec exe/emasser put poams help update
|
1061
1201
|
```
|
1062
|
-
|
1202
|
+
[top](#put)
|
1063
1203
|
|
1064
1204
|
### ``put milestones``
|
1065
|
-
[top](#api-endpoints-provided)
|
1066
1205
|
|
1067
1206
|
----
|
1068
1207
|
|
@@ -1087,10 +1226,9 @@ For information at the command line use:
|
|
1087
1226
|
```
|
1088
1227
|
$ bundle exec exe/emasser put milestones help update
|
1089
1228
|
```
|
1090
|
-
|
1229
|
+
[top](#put)
|
1091
1230
|
|
1092
1231
|
### ``put artifacts``
|
1093
|
-
[top](#api-endpoints-provided)
|
1094
1232
|
|
1095
1233
|
----
|
1096
1234
|
Business Rules
|
@@ -1143,12 +1281,11 @@ For information at the command line use:
|
|
1143
1281
|
```
|
1144
1282
|
$ bundle exec exe/emasser put artifacts help update
|
1145
1283
|
```
|
1146
|
-
|
1284
|
+
[top](#put)
|
1147
1285
|
|
1148
1286
|
## Usage - DELETE
|
1149
1287
|
|
1150
1288
|
### ``delete poams``
|
1151
|
-
[top](#api-endpoints-provided)
|
1152
1289
|
|
1153
1290
|
----
|
1154
1291
|
Remove one or many poa&m items in a system
|
@@ -1157,10 +1294,9 @@ To remove (DELETE) one or more POA&M items use the following command:
|
|
1157
1294
|
```
|
1158
1295
|
bundle exec exe/emasser delete poams remove --systemId [value] --poamId [value]
|
1159
1296
|
```
|
1160
|
-
|
1297
|
+
[top](#delete)
|
1161
1298
|
|
1162
1299
|
### ``delete milestones``
|
1163
|
-
[top](#api-endpoints-provided)
|
1164
1300
|
|
1165
1301
|
----
|
1166
1302
|
Remove milestones in a system for one or many POA&M items
|
@@ -1175,10 +1311,9 @@ To remove (DELETE) one or more Milestones in a system use the following command:
|
|
1175
1311
|
```
|
1176
1312
|
bundle exec exe/emasser delete milestones remove--systemId [value] --poamId [value] --milestoneId [value]
|
1177
1313
|
```
|
1178
|
-
|
1314
|
+
[top](#delete)
|
1179
1315
|
|
1180
1316
|
### ``delete artifacts``
|
1181
|
-
[top](#api-endpoints-provided)
|
1182
1317
|
|
1183
1318
|
---
|
1184
1319
|
Remove one or many artifacts in a system
|
@@ -1193,3 +1328,4 @@ bundle exec exe/emasser delete artifacts remove --systemId [value] --files [valu
|
|
1193
1328
|
or
|
1194
1329
|
bundle exec exe/emasser delete artifacts remove --systemId [value] --files [value, value...]
|
1195
1330
|
```
|
1331
|
+
[top](#delete)
|