Task List
|
Task # |
Task |
Performed by |
|---|---|---|
|
1 |
Prepare Azure for use with CI Sync |
Azure Admin |
|
2 |
Understand the CI Sync RecVer Database |
SQL DBA
|
|
3
|
Create a Source System Connection using the CI Sync Agent Config Utility with a SQL RecVer DB |
Infrastructure SME
|
|
3
|
Or, Create a Source System Connection using the CI Sync Agent Config Utility with a MongoDB RecVer DB (if supported) |
Infrastructure SME
|
|
4 |
Finalise Settings in the CI Sync SaaS UI |
CI Sync Admin |
|
5 |
Perform Updates in ServiceNow (if required) |
ServiceNow Admin |
Task 1: Prepare Azure for use with CI Sync
Context Notes
In Azure ADD (AAD) an App Registration is used to define a Service Principal for the purpose of authenticating a source application to a destination system/application.
The App Registration created in this section relates to the Azure Source Connection created within the CI Sync Agent.
This Azure specific App Registration is different (and unrelated) to the App Registration for the CI Sync Agent itself that was create in S3 - Create an Entra ID App Registration for CI Sync Agent Authentication)
-
In the Azure Portal, navigate to Azure Active Directory -> App Registrations and click New Registration
-
On the Register an application form complete as follows:
-
Enter the Name (Note: Syncfish recommend using “CI Sync Agent Connector for Azure”)
-
Under Supported account types select “Accounts in this organizational directory only ({Your Domain/Tenant Name} only - Single tenant)”
-
Click Register
-
-
Using the left-hand menu, navigate and select Certificates & secrets. Select “Client secrets (0)” in the middle of the form and then click the “New client secret” button.
-
Enter a unique Description for the secret associated with this CI Sync Agent Connector for Azure App Registration (e.g. “CI Sync Agent Connector for Azure Client Secret”).
-
Then, select a suitable Expires duration based on your organisational policy. Finally click the Add button
Guidance Note
It is recommended you set a reminder prior to the expiry date of the Secret (i.e. a reminder to regenerate and update the Secret in the CI Sync Agent configuration.
-
The form now displays the generated secret value (shown in the Value field). Use the copy option to make a copy of the value in the Value field.
Data Capture Note
-
The Value is only available while you remain on this screen. You must make a copy of the Value before leaving this form.
-
Make sure you copy the “Value” and NOT the “Secret ID”.
Make sure the secret stored securely and in a way that can be shared with the CI Sync Admin so they can use it when the follow the instructions later in this page.
-
Return to the Overview page for the App Registration. Use the copy option to make a copy of the “Application (client) ID” GUID value and the “Directory (tenant) ID” GUID value.
Data Capture Summary
As a reminder, you should have captured the following information when completing the above steps.
-
The Secret Value (from Step 6 above). This is the Client Secret value.
-
The Application (client) ID (from Step 7 above).
-
The Directory (tenant) ID (also from Step 7 above).
Make sure any secrets or sensitive information is stored securely and in a way that can be shared with the CI Sync Admin.
The above information will be needed by the CI Sync Admin when they follow the instructions in Task 3 further below.
Now proceed with the remaining steps below.
Access Permisssions Context for the Subsequent Steps
Based on the preceding steps a new App Registration has been created (i.e. the new App Registration which provides authentication of the CI Sync Agent Source Connection to Azure).
The subsequent steps below are required to grant the App Registration permissions to read Azure Resources (i.e. objects such as subscriptions, resource groups, virtual networks and so on).
The subsequent steps should be repeated for each Azure Subscription you want to grant read access to the CI Sync Agent Source Connection to Azure.
By granting read access to a given Azure Subscription (or multiple Azure Subscriptions) you can synchronize all supported resource types within the Subscription.
-
In the Azure Portal, navigate to Subscriptions and select/click into the particular Azure Subscription you wish to grant access to the CI Sync Agent Source Connection to Azure.
-
Select Access control (IAM) from the left hand menu, click the Add button and then select Add role assignment from the drop down menu.
-
On the Role tab, select the Reader role and click the Next button.
-
On the Members tab, click the “+ Select members” link, then use the Filter/Select box enter as sufficient amount of text to locate the App Registration created earlier (the one that represents the CI Sync Agent Connector for Azure), then the Select button (to select the App Registration) and finally the Next button.
-
On the Review + assign tab, click the Review + assign button.
You have now granted the App Registration object (i.e. the CI Sync Agent Connector for Azure) read permissions to an Azure Subscription which will allow you to use the CI Sync User Interface to schedule synchronization jobs using that same Azure Subscription as a synchronization source.
Task 2: Understand the CI Sync RecVer Database
This “task” is solely about understanding the purpose of the CI Sync RecVer database and making decisions on where to host it and how the CI Sync Agent will authenticate to it.
You may also need to make a decision on which database technology to use for the RecVer Database. The CI Sync Agent supports both MS SQL and MongoDB for the RecVer database (however there are some restirctions on which database technology you can use depending on the source system itself).
Understanding the above topics and making the relevant decisions before you create the source system connection (via the CI Sync Agent Config Utility) will make it quicker/easier to execute the remaining tasks in this guide.
Task 3 (SQL): Create a Source System Connection using the CI Sync Agent Config Utility with a SQL RecVer DB
As explained in the Guidance Notes above there are two options to facilitate the creation of the RecVer database and assigning permissions to it for the CI Sync (Agent). The table below elaborates the two options.
|
Option |
Description |
Details |
|
MS SQL Setup Option 1 |
Automatically using the CI Sync Agent Config Utility |
|
|
MS SQL Setup Option 2 |
Manually via a SQL Database Administrator (DBA) |
|
Expand the instructions below for either Option 1 or Option 2.
Option 1: Use the Config Utility to automatically create the RecVer database
Expand the instructions below if your SQL DBA will manually setup the RecVer database (and set the required permissions to the RecVer SQL DB).
Option 2: Use your SQL Database Administrator (DBA) to manually create the RecVer database in advance
Expand the instructions below if your SQL DBA will manually setup the RecVer database (and set the required permissions to the RecVer SQL DB).
Task 3 (Mongo): Or, Create a Source System Connection using the CI Sync Agent Config Utility with a MongoDB RecVer DB (if supported)
Task 3 (Optional): Supplementary Instructions for Certificate Based Authentication
Task 4: Finalise Settings in 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 new source system connection you just added in the list of Source Connections (the screen shot above is a sample only).
-
Find your specific Source System Connection in the list and click the Update hyperlink (on the right hand side of the screen).
-
The connection Settings Form is presented. Update as follows:
-
Enter an Alias (optional) - the alias is only used in the CI Sync SaaS UI to show a friendly name in various UI forms.
-
Set the Environment/s the new source connection can be used for.
-
In most cases a Source System Connection is used for both Test and Production sync jobs (as distinct from the Destination Connections which can only be either Test or Production).
-
The Environment value is used to filter the connections dropdown list when you are creating a sync job.
-
-
-
While you are on this page you can/should check whether there are any connection specific settings you may want to adjust either now or at some point in the future. Connection specific settings (or just Connection Settings) allow you to override the default data sync rules for your CI Sync instance.
-
Read the following details to understand more about CI Sync Connection Settings:
-
Scroll further down to the Additional Settings section on the page to see any available Connection Settings. Below is an example of the sorts of settings you might notice.
-
The settings are specific to each source connection so the screen shot is an example only.
-
Syncfish recommend you read the following documentation before overriding any of the default settings:
-
Read the CI SyncDefault Configuration Guides. The pages in that tree provide comprehensive information about the default behaviour of the CI Sync data sync rules, the options available for overriding those rules and typical reasons why you might want to do this.
-
Read Understanding the use of CI Sync Connection Settings. This page explains how the Connection Settings should be used, how to modify settings via the CI Sync UI and how to test any setting changes in non-production prior to production.
-
-
Finally, if you are ready to modify any of the Connection Settings, visit Connection Setting Guides and locate the specific Source System page/s in that tree. The individual pages in that tree provide detailed information about each setting.
-
-
After making any changes on this page, scroll to the bottom of the page, Check the consent checkbox and Click the Save connection button.
You have now completed all tasks to add your new Source Connection in the CI Sync Agent.
Please do one of the following:
-
Either add any additional source connections (using the relevant pages under Add Source Systems to On-Prem Agent)
-
Or if you haven’t do so already, then follow the instructions inS6 - Configure your ServiceNow for CI Sync.
Task 5: Perform Updates in ServiceNow (if required)
In this section your ServiceNow SME will assess various updates to ServiceNow to support this CI Sync connector:
-
Task 5a: Assess if the CMDB CI Class Models plug-in is required
-
Task 5b: Assess if additional permissions are required
-
Task 5c: (Optional though recommended) Assess your ServiceNow CI forms and update to include additional Related Lists
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.
Task 5a: 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 Azure 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 |
|
Azure |
|
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 5b: Assess if additional permissions are required
Use Case #1 - If you are planning to use CI Sync to write Azure Tags to the CMDB
Context
CI Sync writes Azure Tags to the cmdb_key_value table in ServiceNow.
The standard/out-of-the-box roles provided by ServiceNow (and recommended by Syncfish during S6 - Configure your ServiceNow for CI Sync) do not provide access to the cmdb_key_value table. Therefore, the CI Sync Integration User account created during S6 - Configure your 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 S6 - Configure your 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 Tag data from Azure via sync jobs from CI Sync.
Use Case #2 - If you are planning to use CI Sync to create Application Service Mapping relationships in ServiceNow
Context
CI Sync needs additional permissions to create/update Application Service relationships in ServiceNow.
The ServiceNow out-of-the-box role described in the instructions below provides the required permissions and therefore this role needs to be applied to your CI Sync Integration User if you intended to use CI Sync’s Application Service Mapping feature.
Please contact Syncfish if a custom role is preferred over this out-of-the-box role.
Instructions
-
Navigate to the cisync user account (e.g. “cisync.integration” or the name you used earlier in this page).
-
Select the Roles tab and click the Edit… button
-
Filter/Select the roles below and click the Save button
-
app_service_admin
-
-
Click Save. Then use the “Roles” tab to check the above role has been applied.
Task 5c: (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 Azure Connector.
|
CI Class |
Related List
|
Related List Name as it appears in the ServiceNow UI when adding it to a CI Form |
|
Subscription |
Key Values (Tags) |
Key Value → Configuration Item |
|
Resource Group |
Key Values (Tags) |
Key Value → Configuration Item |
|
Cosmosdb (Mongodb) |
Key Values (Tags) |
Key Value → Configuration Item |
|
DNS Zone |
Key Values (Tags) |
Key Value → Configuration Item |
|
Frontdoor |
Key Values (Tags) |
Key Value → Configuration Item |
|
Load Balancer |
Key Values (Tags) |
Key Value → Configuration Item |
|
NAT Gateway |
Key Values (Tags) |
Key Value → Configuration Item |
|
Network Security Group |
Key Values (Tags) |
Key Value → Configuration Item |
|
Private DNS Zone |
Key Values (Tags) |
Key Value → Configuration Item |
|
Private Endpoint |
Key Values (Tags) |
Key Value → Configuration Item |
|
Public IP Address |
Key Values (Tags) |
Key Value → Configuration Item |
|
Virtual Network |
Key Values (Tags) |
Key Value → Configuration Item |
|
Virtual Machine |
Key Values (Tags) |
Key Value → Configuration Item |
|
Virtual Machine Scale Set |
Key Values (Tags) |
Key Value → Configuration Item |
|
Storage Account |
Key Values (Tags) |
Key Value → Configuration Item |
|
Application Service |
Key Values (Tags) |
Key Value → Configuration Item |
|
Application Service Plan |
Key Values (Tags) |
Key Value → Configuration Item |
|
CDN Profile |
Key Values (Tags) |
Key Value → Configuration Item |
|
Kubernetes Service |
Key Values (Tags) |
Key Value → Configuration Item |
|
Logic App |
Key Values (Tags) |
Key Value → Configuration Item |
|
Event Hub |
Key Values (Tags) |
Key Value → Configuration Item |
|
Application Gateway |
Key Values (Tags) |
Key Value → Configuration Item |
|
Key Vault |
Key Values (Tags) |
Key Value → Configuration Item |
|
API Management Service |
Key Values (Tags) |
Key Value → Configuration Item |
CI Sync populates a number of additional relationships/related record sets for Azure. Please contact Syncfish support for further information on exposing these additional records in the ServiceNow UI.
-
A-Records (as related records of DNS Records)
-
CNAMEs (as related records of DNS Zones)
-
Frontends/Cloud Load Balancer IP Addresses (as related records of Frontdoors)
-
A-Records (as related records of Private DNS Records)
-
CNAMEs (as related records of Private DNS Records)
-
Subnets (as related records of Virtual Networks)
-
Subnets (as related records of Virtual Machines)
-
Storage Account Endpoints (as related records of Storage Accounts)
-
CDN Endpoints (as related records of CDN Profiles)
-
Backend IP Addresses (as related records of Application Gateways)
-
Routing Rules (as related records of Application Gateways)
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.