Task List
|
Task # |
Task |
Performed by |
|---|---|---|
|
1 |
Prepare GCP for use with CI Sync |
GCP Admin |
|
2 |
Add GCP as a Source System using the CI Sync SaaS UI |
CI Sync Admin |
|
3 |
Check status of new GCP Source System connection |
CI Sync Admin |
|
4 |
Perform Updates in ServiceNow (if required) |
ServiceNow Admin |
Task 1: Prepare GCP for use with CI Sync
In this Task 1 you will create a new GCP Service Account and then in Task 2 (further below) you will declare the email address of the new Service Account in the CI Sync Web UI.
During Task 1 you will define perimission for the new Service Account. These permissions utlimately limit the range of resources CI Sync can read from GCP to synchronize ito the CMDB.
GCP service account permissions are typically as follows:
-
The service account permissions are added to a Single GCP Project.
-
The service account permissions are added to Multiple GCP Projects.
-
The service account permissions are added to the GCP Organization.
For the purpose of CI Sync organisations will add permissions for the service account at the GCP Organization level. This allows CI Sync to read all resources within the GCP Organization (unless additional GCP controls/ACLs have further limited access).
The instructions in Task 1 assume permissions are being added to the GCP Organization.
-
Either create a new CISync Project or navigate to an existing GCP project.
-
With the project, enable the Cloud Assets API as follows:
-
Navigate to APIs & Services and click the Enable APIs and services button
-
Search for and enable the Cloud Asset API
-
-
Create a Service Account credential to grant CISynchronizer access.
-
Under APIs & Services, navigate to Credentials and create a new Service Account credential.
-
Give the service account a valid name
-
-
Now navigate back to Service Accounts and locate the Email address assigned to the newly created Service Account.
Data Capture Note
The Service Account Email address will be required by the CI Sync Admin when they use instructions further below to add GCP as a Source Connection when CI Sync.
-
Add permission for the Service Account at the Organization level
-
Navigate to your Organization
-
Go to IAM and click Grant access
-
Enter the email address of the service account as the Principal and assign the following permissions:
-
Cloud Asset Service Agent
-
Cloud Asset Viewer
-
Viewer
-
-
-
Next, generate a Key for the Service Account
-
Navigate to the newly created Service Account and press Add key > Create new key
-
-
Make sure it is a JSON type and click Create
Your browser will download the private key as a file to your local computer.
The contents of the downloaded file (i.e. the private key value) will be needed by the CI Sync Admin when they use instructions further below to add GCP as a Source Connection when CI Sync.
Make sure the downloaded file (i.e. the private key) is stored securely and in a way that can be shared with the CI Sync Admin so they can use it when following the instructions later in this page.
The contents of the downloaded JSON file should contain a private_key value
-
Finally, make sure you capture the Organization ID so it can be provided to the CI Sync Admin when they use instructions futher below. One way of retrieving this Organization ID is to open the Project Picker and to find the organization in the resource list.
Data Capture Summary
As a reminder, you should have captured the following information when completing the above steps.
-
The Service Account Email address (from Step 4 above). This is the email that is assigned to the CI Sync Service Account.
-
The downloaded JSON file for the Service Account Key (from Step 6 above). The contents of the downloaded file contain the private key which will be used when registering the connection in your CI Sync SaaS Instance
-
The Organization ID (from Step 7 directly above). This represents the GCP Scope when inputting into the CI Sync Web UI later in these instructions.
These values will be used later by the person following the instructions in Task 2 immediately below.
Task 2: Add GCP as a Source System using the CI Sync SaaS UI
-
Login to your CI Sync SaaS instance at https://YourCo.syncfish.app
-
In the CI Sync UI, navigate to Settings > Connections.
-
Find the “SaaS Agent” sub-heading under the Source Connections section. If you don’t see “SaaS Agent” it means your CI Sync instance hasn’t been configured for this feature. Please contact your Sync representative to discuss.
-
On the right hand side of the form, click the +Add button.
-
The New Connection form now appears. Use the Connection Type drop down list to select the source system you wish to add (in this case Google Cloud).
-
Update the fields using these instructions
-
Connection name
-
This is a friendly name that represents the source system connection.
-
The name you enter here will appear when you create a new sync job and are selecting from the available source system list.
-
Note: Syncfish recommend using a textual suffix on the connection name if for any reason you have setup multiple CI Sync Connections to AWS.
-
-
Alias: Please ingore this field (it is not used for the CI Sync Cloud Agent and is being deprecated).
-
Environments
-
Select from the available choices Production, Test, or Production/Test (the latter being both).
-
The selection you make for this field affects which source systems appear when you create a new sync job (i.e. when you are selecting the source system list based on the “Environment” you have chosen for the sync job). See this page for more details on creating a CI Sync job: Run a Small Initial Sync Job (then run more).
-
FYI: CI Sync allows a source system to be both Production/Test because CI Sync only reads from a source system (it doesn’t write to it). Destination systems can only be Test or Production (not both).
-
-
GCP Scope/s
-
Paste the GCP Organization ID captured by your GCP Admin in Task 1 above.
-
The format of the value to paste into this field must be as follows:
organizations/1234567890
-
-
Credential Type
-
Select Service Account
-
-
Service Account Email Address
-
Paste the CI Sync GCP Service Account Email address captured by your GCP Admin in Task 1 above.
-
Ensure that when pasting this value, there is no whitespace character at the end.
-
-
-
Private Key
-
The JSON file captured by your GCP Admin in Task 1 above should contain a
private_keyentry. -
Paste the value of the
private_keyentry to this field.-
See the additional note below for more information
-
-
-
Then click the Consent to update fields checkbox.
-
Finally click the Create connection button.
-
Additional note for the Private Key field
The contents of the JSON file will contain multiple different values. The value required for configuration is the private_key value. Copy this value, it should look like:
-----BEGIN PRIVATE KEY-----\nXXXX\n-----END PRIVATE KEY-----
Ensure that the copied value does not include any ” characters.
You will be returned to the main settings screen and your new source system connection will appear in the list as shown below.
Task 3: Check status of new GCP Source System connection
-
To check the status of the newly added GCP Source System connection click the green Check Status link. This will test whether your CI Sync GCP connection can successfully reach and authenticate to the GCP Entra ID defined in the connection itself.
-
If the connection is successful, you will see a green dot next to the source connection name.
-
To test again in the future, you can click the green Refresh Status button.
-
If the test is unsuccessful, you will see a red dot next to the source connection name and an error message underneath. If you need assistance resolving an error, please contact Syncfish support.
This means you are ready to run a sync job using the new source connection using these high-level instructions: Run a Small Initial Sync Job (then run more).
Task 4: Perform Updates in ServiceNow (if required)
Guidance Note
Syncfish recommend the person setting up the source system described in this guide discusses this particular task with their ServiceNow system administrator.
A ServiceNow administrator will need to perform these steps.
Syncfish recommend following these instructions in your non-production ServiceNow environment for testing synchronization jobs.
Only once exhaustive testing in non-production is complete, repeat this process in your ServiceNow production environment.
In this section your ServiceNow SME will assess various updates to ServiceNow to support this CI Sync connector:
-
Task 4a: Assess if the CMDB CI Class Models plug-in is required
-
Task 4b: Assess if additional permissions are required
-
Task 4c: (Optional though recommended) Assess your ServiceNow CI forms and update to include additional Related Lists
Task 4a: Assess if the CMDB CI Class Models plug-in is required
Context
A number of record sets (asset types/resource types) available to sync using the GCP Connector rely upon CMDB CI Classes that are only available via the CMDB CI Class Models plug-in.
You therefore need to install the CMDB CI Class Models plug-in to your ServiceNow instance.
If you already have the plug-in you may want to upgrade it to the latest version (as ServiceNow occasionally updates the plug-in to include extra CI Classes/tables).
|
Source System |
Specific Record Sets that require the CMDB CI Class Models plug-in |
|
GCP |
|
Instructions
Follow these steps to add this plug-in (and similar steps to locate it and upgrade it if required):
-
Assess the use/inclusion of this plug-in within your ServiceNow (ensure you are comfortable installing this plug-in).
-
Search for Plugins via the ServiceNow navigation menu.
-
Locate the CMDB CI Class Models plug-in.
-
Click Add -> Install and follow the instructions provided.
Task 4b: Assess if additional permissions are required
Use Case - If you are planning to use CI Sync to write GCP Labels to the CMDB
Context
CI Sync writes GCP Labels to the cmdb_key_value table in ServiceNow.
The standard/out-of-the-box roles provided by ServiceNow (and recommended by Syncfish during S3 - Configure ServiceNow for CI Sync) do not provide access to the cmdb_key_value table. Therefore, the CI Sync Integration User account created during S3 - Configure ServiceNow for CI Sync requires additional permissions to write to the cmdb_key_value table.
Syncfish provides a ServiceNow updateset to prepare your ServiceNow instance for CI Sync. The updateset does the following:
-
Creates a read/write ACL on the cmdb_key_value table.
-
Applies the ACL on the cmdb_key_value table and assigns the ACL to the ServiceNow role called “Asset” (which is one of the roles granted to the CI Sync Integration Account created during S3 - Configure ServiceNow for CI Sync).
Instructions
Follow these steps to apply the updateset provided by Syncfish:
-
Download the update set from Syncfish at the below URL:
https://downloads.syncfish.app/servicenow/cisync-cmdb-key-value.xml -
Login to your ServiceNow instance with Admin permissions.
-
Open a browser and navigate to your ServiceNow instance
-
In the left nav menu search for “Retrieved Update Sets” and click to open
-
Right click on the column heading row and select “Import XML”
-
Select “Choose File”
-
Select the downloaded file “cisync-cmdb-key-value.xml”
-
Click to open the Update Set
-
Click “Preview Update Set”
-
If there are no preview errors, Click “Close”.
-
Click “Commit Update Set”.
-
Your ServiceNow instance is now ready to receive Label data from GCP via sync jobs from CI Sync.
Task 4c: (Optional though recommended) Assess your ServiceNow CI forms and update to include additional Related Lists
Context
CI Sync populates various child tables (related lists) associated with parent CIs. The following table shows the Related Lists (per CI Class) populated by the CI Sync GCP Connector.
|
CI Class |
Related List
|
Related List Name as it appears in the ServiceNow UI when adding it to a CI Form |
|---|---|---|
|
Network |
Key Values (Labels) |
Key Value → Configuration Item |
|
Projects |
Key Values (Labels) |
Key Value → Configuration Item |
|
Redis |
Key Values (Labels) |
Key Value → Configuration Item |
|
Storage Bucket |
Key Values (Labels) |
Key Value → Configuration Item |
|
Subnet |
Key Values (Labels) |
Key Value → Configuration Item |
|
VM Instance |
Key Values (Labels) |
Key Value → Configuration Item |
Instructions
Below are the steps to modify a ServiceNow CI form to expose a new Related List.
-
Login to your ServiceNow instance with Admin permissions.
-
Navigate to any CI in the relevant CI Class (i.e. one/all of those listed in the table in the Context section above). For example, navigate to a Windows Server CI).
-
Right-click in the heading area of the form, then click Configure and then Related Lists from the sub-menus.
-
Identify the Related List you want to expose on the CI form using the table in the Context section above.
-
Find the Related List in the left hand column which lists all Available Related Lists.
-
Click the Related List and then click add (the selection arrow) to move the item to the Selected column and then click Save.
-
Repeat for each additional CI Class listed in the table in the Context section above.