You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/integrations/servicenow/guardrails-to-servicenow-sync/index.md
+62-15Lines changed: 62 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@ nav:
13
13
Before you get started, if you have not already completed, follow the [Importing a ServiceNow instance into Guardrails](/guardrails/docs/integrations/import-servicenow-instance) integration guide to associate your ServiceNow instance to Turbot Guardrails.
Beyond the `@turbot/servicenow` mod already installed as part of the ServiceNow instance import above, there are other [ServiceNow mods](/guardrails/docs/mods/servicenow) which need to be installed in your Guardrails workspace. These mods enable the policies and controls for the applicable cloud resources you would like to sync into your ServiceNow CMDB.
17
18
18
19
Example of related cloud mods:
@@ -29,12 +30,13 @@ Example of related cloud mods:
29
30
*`@turbot/servicenow-gcp-storage`
30
31
* ...
31
32
32
-
Note: each Mod will have dependencies to other mods. For example, the `@turbot/servicenow-aws-s3` mod depends on the other Turbot Guardrails mod related to aws-s3, `@turbot/aws-s3`.
33
+
Note: Each mod will have dependencies to other mods. For example, the `@turbot/servicenow-aws-s3` mod depends on the other Turbot Guardrails mod related to aws-s3, `@turbot/aws-s3`.
33
34
34
35
Install the mods that align to the cloud resources Turbot Guardrails is already managing, that you would like to sync to ServiceNow.
35
36
36
37
### Setup Guardrails Watches for deletions and archiving
37
-
No action is needed as the default policy is `Enforce: Enabled` on the Watches controls.
38
+
39
+
No action is needed as the default policy is `Enforce: Enabled` on the Watches controls.
38
40
39
41
In rare use cases you may need to adjust along with your Customer Success SME. For background about the policy and control:
40
42
@@ -45,22 +47,26 @@ Policies that are already set are:
45
47
*`ServiceNow > Turbot > Watches > Azure`
46
48
*`ServiceNow > Turbot > Watches > GCP`
47
49
48
-
## Table and Configuration Item sync policies
50
+
## Tables and Configuration Items
51
+
52
+
Guardrails can directly manage tables and records in your ServiceNow instance to sync cloud resource data.
53
+
54
+
### Table and Configuration Item sync policies
49
55
50
56
Once you have the applicable mods installed, new policies and controls will be added to the associated cloud resource type in Turbot Guardrails, `AWS > S3 > Bucket`.
51
57
52
58
The primary function of the sync control is to ensure that cloud resources discovered and continously updated from AWS, Azure, and GCP in the Guardrail's CMDB is also extended to the ServiceNow system and CMDB tables. This synchronization is automatic and occurs whenever the data in the Guardrail CMDB is updated.
53
59
54
-
## Table management
60
+
###Table management
55
61
56
62
The sync depends on defining a ServiceNow table to sync the records to. Each cloud resource type (AWS S3 Buckets, Azure Compute Instances, etc) are associated to their own table in the ServiceNow CMDB. Syncing can occur on:
57
63
* New tables managed by Guardrails, e.g. `cmdb_ci_guardrails`
58
64
* Extension tables managed by Guardrails, e.g. `cmdb_ci_aws_s3_bucket` extends global table `cmdb_ci_cloud_storage_account`.
59
65
* Existing tables in SNOW, managed by Guardrails, e.g. `cloud_ci`
60
66
61
-
### Creating or modifying tables
67
+
####Creating or modifying tables
62
68
63
-
The Table management policy types follow a similar policy construct to the Configuration Item policies below:
69
+
The Table management policy types follow a similar policy construct to the Configuration Item policies below:
@@ -87,10 +93,11 @@ Working with tables from Guardrails or in ServiceNow:
87
93
* Size: ServiceNow permits increasing the size of a column, but reducing it below the size of the largest existing data entry is not allowed. The Guardrails policy only supports increasing the column size and does not allow for a size reduction.
88
94
* Name: Changing a column's name in the Guardrails policy configuration leads to adding a new column with the new name in the ServiceNow table. The original column remains unchanged. If the column name is changed in ServiceNow, it is treated as a new column and needs to be remapped in the Guardrails policy.
89
95
90
-
## Configuration Items syncing
96
+
### Configuration Items syncing
97
+
91
98
Once the table in ServiceNow is set up, the next step is to configure the Configuration Item (CI) sync control. The purpose of this control is to handle the actual process of synchronizing data from Guardrail's CMDB to the ServiceNow table per the cloud resource type in scope.
92
99
93
-
The CI sync control is managed through a specific policy format in Guardrails. This policy directs how data from various cloud resource types is synced to ServiceNow. The following is the structure for the CI sync policies:
100
+
The CI sync control is managed through a specific policy format in Guardrails. This policy directs how data from various cloud resource types is synced to ServiceNow. The following is the structure for the CI sync policies:
* Defines how records are identified, e.g `tags` column data comes from `$.bucket.tags` data in the Guardrails CMDB.
106
113
* Defaults to common data inputs and matches the column definition defaulted in `AWS > S3 > Bucket > ServiceNow > Table > Definition`. Further details on adjusting the inputs for different source data, and alignment to new or changed columns from the Table Definition.
* Defines where the table definition configurations are located. Can be updated for advanced use cases to adjust application scope, tables to sync to, etc.
109
116
* Defaults are set for most use cases and would not be required to adjust at least for when getting started. Although it defaults to the name defined in `AWS > S3 > Bucket > ServiceNow > Table > Definition`, you have the option to direct the data to an existing table of your choice.
110
117
111
-
### Further details about the CI sync controls
118
+
####Further details about the CI sync controls
112
119
113
120
To illustrate the setup process of sync control, let's use the example of synchronizing an AWS S3 Bucket:
114
121
@@ -121,7 +128,7 @@ To illustrate the setup process of sync control, let's use the example of synchr
121
128
***"Enforce: Archived":** This action archives the record in the ServiceNow table.
122
129
***"Enforce: Deleted":** This action deletes the record in the ServiceNow table.
123
130
***"Enforce: Sync":** Ensures data synchronization. Data will be removed from the ServiceNow table once it is deleted from the Guardrails CMDB.
124
-
***"Enforce: Sync, Archive on Delete":** This policy enforces data synchronization and dictates that data should be archived in ServiceNow when it is deleted from the Guardrails CMDB.
131
+
***"Enforce: Sync, archive on Delete":** This policy enforces data synchronization and dictates that data should be archived in ServiceNow when it is deleted from the Guardrails CMDB.
125
132
126
133
2. Data Mapping:
127
134
@@ -148,7 +155,7 @@ In `AWS > S3 > Bucket > ServiceNow > Configuration Item > Table Definition`, you
148
155
```yaml
149
156
table:
150
157
name: cmdb_aws_s3_bucket
151
-
label: AWS > S3 > Bucket
158
+
label: AWS > S3 > Bucket
152
159
extendsTable: cmdb_ci_cloud_storage_account
153
160
```
154
161
@@ -169,11 +176,11 @@ columns:
169
176
```
170
177
171
178
4. Archiving records in ServiceNow
172
-
Archiving is a strategic process to retain records that are not actively used but are still valuable for historical or compliance purposes.
179
+
Archiving is a strategic process to retain records that are not actively used but are still valuable for historical or compliance purposes.
173
180
174
181
When `AWS > S3 > Bucket > ServiceNow > Configuration Item` is set to `Enforce: Sync`, data will be removed from the ServiceNow table once it is deleted from the Guardrails CMDB (when the cloud resource is deleted).
175
182
176
-
When `AWS > S3 > Bucket > ServiceNow > Configuration Item` is set to `Enforce: Enforce: Sync, Archive on Delete`, data will NOT be removed from the ServiceNow table, it will be archived. Archival is a specific attribute or column, such as `status` which is updated to indicate archival.
183
+
When `AWS > S3 > Bucket > ServiceNow > Configuration Item` is set to `Enforce: Enforce: Sync, archive on Delete`, data will NOT be removed from the ServiceNow table, it will be archived. Archival is a specific attribute or column, such as `status` which is updated to indicate archival.
177
184
178
185
For instance, in a table like `aws_s3_bucket`, if the record `bucket1` is to be archived, its status would be updated as follows:
179
186
@@ -203,9 +210,49 @@ archiveColumns:
203
210
204
211
Note: the status column should be defined in the `AWS > S3 > Bucket > ServiceNow > Configuration Item > Table Definition` as well.
205
212
213
+
## Import sets
214
+
215
+
Guardrails can also sync cloud resource data by creating and sending [import sets](https://docs.servicenow.com/csh?topicname=c_ImportSetsKeyConcepts.html&version=latest) to import set tables, which then transform and map the data into ServiceNow tables.
216
+
217
+
### Import set policies
218
+
219
+
The following policy structure manages how import sets are sent:
220
+
221
+
* `ServiceNow > Import Set > Table Name [Default]`
222
+
* Default staging table name for all resource types.
* Defines which record data is sent in an import set if the primary policy is set to `Enforce: Sync, archive on delete`.
236
+
237
+
### Archiving records
238
+
239
+
After resources are deleted from Guardrails CMDB, the import set controls cannot delete records directly in ServiceNow tables. However, you can use the controls to archive records in ServiceNow. Archiving is a strategic process to retain records that are not actively used but are still valuable for historical or compliance purposes.
240
+
241
+
For instance, if the `AWS > S3 > Bucket > ServiceNow > Import Set` policy is set to `Enforce: Sync, archive on delete`, you can then set archive column mappings to the `AWS > S3 > Bucket > ServiceNow > Import Set > Archive Columns` policy:
An import set will be then be created that contains the data above so the `status` column can be updated. Any coalesce fields for that record type should be included in the policy value to ensure the correct record is updated.
252
+
206
253
## Next Steps
207
254
208
255
1. Additional context and a demo about the feature is in the announcement post [Continuous Cloud CMDB Sync with ServiceNow & Turbot Guardrails](https://turbot.com/guardrails/blog/2023/12/cmdb-sync-guardrails-servicenow-integration).
209
256
2. Consider integrating ServiceNow to Guardrails. Follow the [Enable ServiceNow sync to Guardrails](https://turbot.com/integrations/servicenow/servicenow-to-guardrails-sync) integration guide to configure real-time syncing of ServiceNow resource to Turbot Guardrails.
210
257
211
-
We want to hear from you! Join our [Slack Community](https://turbot.com/community/join) `#guardrails` channel to ask questions and share feedback.
258
+
We want to hear from you! Join our [Slack Community](https://turbot.com/community/join) `#guardrails` channel to ask questions and share feedback.
0 commit comments