Skip to content

Commit 986b6c5

Browse files
committed
fix: Updates documentation for user-id to sys-id
1 parent 2ce2966 commit 986b6c5

File tree

4 files changed

+19
-15
lines changed

4 files changed

+19
-15
lines changed

aws_security_incident_response_sample_integrations/aws_security_incident_response_service_now_integration_stack.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,12 +93,14 @@ def __init__(
9393
no_echo=True,
9494
)
9595

96-
# Store Service Now User ID parameter
96+
# Store Service Now User sys_id parameter
97+
# NOTE: Parameter name kept as "serviceNowUserId" for backwards compatibility.
98+
# The CLI flag is --sys-id and the value must be the user's sys_id (32-char GUID), not the username.
9799
service_now_user_id_param = CfnParameter(
98100
self,
99101
"serviceNowUserId",
100102
type="String",
101-
description="The ServiceNow user ID for JWT authentication.",
103+
description="The ServiceNow user's sys_id for JWT authentication (not the username).",
102104
)
103105

104106
# Private key bucket parameter (from deploy script)
@@ -142,7 +144,7 @@ def __init__(
142144
"serviceNowUserIdSSM",
143145
parameter_name="/SecurityIncidentResponse/serviceNowUserId",
144146
string_value=service_now_user_id_param.value_as_string,
145-
description="Service Now user ID",
147+
description="ServiceNow user sys_id for JWT authentication",
146148
)
147149
service_now_user_id_ssm.apply_removal_policy(RemovalPolicy.DESTROY)
148150

deploy-integrations-solution.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
#!/usr/bin/env python3
22
"""Deployment script for AWS Security Incident Response Sample Integrations.
33
4-
This script provides a command-line interface for deploying Jira and ServiceNow
4+
This script provides a command-line interface for deploying Jira, ServiceNow, and Slack
55
integrations with AWS Security Incident Response. It handles CDK deployment
66
with proper parameter passing for different integration types.
77
88
Usage:
99
./deploy-integrations-solution.py jira --email user@example.com --url https://example.atlassian.net --token TOKEN --project-key PROJ
10-
./deploy-integrations-solution.py service-now --instance-id example --username admin --password PASSWORD --integration-module itsm
10+
./deploy-integrations-solution.py service-now --instance-id example --client-id CLIENT_ID --client-secret SECRET --sys-id USER_SYS_ID --private-key-path ./private.key --integration-module itsm
11+
./deploy-integrations-solution.py slack --bot-token xoxb-... --signing-secret SECRET --workspace-id WORKSPACE_ID
1112
"""
1213

1314
import argparse
@@ -156,7 +157,7 @@ def deploy_servicenow(args):
156157
"--parameters",
157158
f"AwsSecurityIncidentResponseServiceNowIntegrationStack:serviceNowClientSecret={args.client_secret}",
158159
"--parameters",
159-
f"AwsSecurityIncidentResponseServiceNowIntegrationStack:serviceNowUserId={args.user_id}",
160+
f"AwsSecurityIncidentResponseServiceNowIntegrationStack:serviceNowUserId={args.sys_id}", # CDK parameter name kept as serviceNowUserId for backwards compatibility
160161
"--parameters",
161162
f"AwsSecurityIncidentResponseServiceNowIntegrationStack:privateKeyBucket={bucket_name}",
162163
"--parameters",
@@ -272,7 +273,7 @@ def main():
272273
"--client-secret", required=True, help="ServiceNow OAuth client secret"
273274
)
274275
servicenow_parser.add_argument(
275-
"--user-id", required=True, help="ServiceNow user ID for JWT authentication"
276+
"--sys-id", required=True, help="ServiceNow user's sys_id (32-character GUID) for JWT authentication"
276277
)
277278
servicenow_parser.add_argument(
278279
"--private-key-path", required=True, help="Local path to private key file (e.g., ./private.key)"
@@ -327,7 +328,7 @@ def main():
327328
textwrap.dedent("""
328329
Please specify 'jira', 'service-now', or 'slack' as the integration type.
329330
Example: deploy-integrations-solution jira --email user@example.com --url https://example.atlassian.net --token YOUR_TOKEN --project-key PROJ
330-
Example: deploy-integrations-solution service-now --instance-id example --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --user-id YOUR_USER_ID --private-key-path ./private.key --integration-module itsm
331+
Example: deploy-integrations-solution service-now --instance-id example --client-id YOUR_CLIENT_ID --client-secret YOUR_CLIENT_SECRET --sys-id YOUR_SYS_ID --private-key-path ./private.key --integration-module itsm
331332
Example: deploy-integrations-solution slack --bot-token xoxb-... --signing-secret YOUR_SECRET --workspace-id YOUR_WORKSPACE_ID
332333
""")
333334
)

documentation/SERVICE_NOW/SERVICE_NOW.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ section in this document.
1111
--instance-id <your-servicenow-instance-id> \
1212
--client-id <your-oauth-client-id> \
1313
--client-secret <your-oauth-client-secret> \
14-
--user-id <your-servicenow-user-id> \
14+
--sys-id <your-servicenow-user-sys-id> \
1515
--private-key-path <path-to-private-key-file> \
1616
--integration-module <itsm|ir> \
1717
--log-level <info|error|debug>
@@ -24,7 +24,7 @@ Eg.
2424
--instance-id dev1234 \
2525
--client-id test-1234 \
2626
--client-secret "XXXXXXXXXXXXXXXXXXXX" \
27-
--user-id abcd.1234 \
27+
--sys-id a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 \
2828
--private-key-path private.key \
2929
--integration-module ir \
3030
--log-level info
@@ -85,6 +85,7 @@ JWT (JSON Web Token) OAuth authentication uses RSA key pairs to generate signed
8585
- First Name: `AWS`
8686
- Last Name: `Integration`
8787
4. If you have a user, search with user-id and open the record
88+
5. Note the user's `sys_id` — you will need this for deployment. The `sys_id` is a 32-character unique identifier (e.g., `a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6`). You can find it by right-clicking the header bar of the user record and selecting "Copy sys_id", or from the URL when viewing the user record.
8889
5. Assign the following roles under the `Roles` tab by clicking on `Edit`:
8990

9091
**ITSM Mode (incident table):**
@@ -259,7 +260,7 @@ Bootstrap is a prerequisite to deployment. You cannot deploy the solution which
259260
- **Access Token Lifespan**: `3600`
260261
- **Clock skew**: `300`
261262
- **Token Format**: `Opaque`
262-
- **User field**: `User Id`
263+
- **User field**: `sys_id`
263264
- **Enable JTI verification**: ✅
264265
- **JTI Claim**: `jti`
265266
- **JWKS Cache Lifespan**: `720`
@@ -600,7 +601,7 @@ The stack provides the following outputs that can be used for integration:
600601
--instance-id <your-servicenow-instance-id> \
601602
--client-id <your-oauth-client-id> \
602603
--client-secret <your-oauth-client-secret> \
603-
--user-id <your-servicenow-user-id> \
604+
--sys-id <your-servicenow-user-sys-id> \
604605
--private-key-path <path-to-private-key-file> \
605606
--integration-module <itsm|ir> \
606607
--log-level info
@@ -609,7 +610,7 @@ The stack provides the following outputs that can be used for integration:
609610
**Required Parameters:**
610611
- `--client-id`: OAuth client ID from ServiceNow OAuth application
611612
- `--client-secret`: OAuth client secret from ServiceNow OAuth application
612-
- `--user-id`: ServiceNow user ID for JWT authentication
613+
- `--sys-id`: ServiceNow user's `sys_id` for JWT authentication (not the username — see [Setup ServiceNow Integration User](#setup-servicenow-integration-user))
613614
- `--private-key-path`: Path to RSA private key file for JWT signing
614615
- `--integration-module`: Choose `itsm` for IT Service Management or `ir` for Incident Response module
615616

documentation/SERVICE_NOW/SERVICE_NOW_TROUBLESHOOTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ This document provides detailed information on troubleshooting, validation, and
2626
--instance-id <your-servicenow-instance-id> \
2727
--client-id <your-oauth-client-id> \
2828
--client-secret <your-oauth-client-secret> \
29-
--user-id <your-servicenow-user-id> \
29+
--sys-id <your-servicenow-user-sys-id> \
3030
--private-key-path <path-to-private-key-file> \
3131
--integration-module <itsm|ir> \
3232
--log-level info
@@ -35,7 +35,7 @@ This document provides detailed information on troubleshooting, validation, and
3535
**Required Parameters:**
3636
- `--client-id`: OAuth client ID from ServiceNow OAuth application
3737
- `--client-secret`: OAuth client secret from ServiceNow OAuth application
38-
- `--user-id`: ServiceNow user ID for JWT authentication
38+
- `--sys-id`: ServiceNow user's `sys_id` (32-character GUID) for JWT authentication
3939
- `--private-key-path`: Path to RSA private key file for JWT signing
4040
- `--integration-module`: Choose `itsm` for IT Service Management or `ir` for Incident Response module
4141

0 commit comments

Comments
 (0)