Microsoft Azure resource inventory discovery
Summarize
Summary of Microsoft Azure resource inventory discovery
The ServiceNow Discovery application leverages the Azure Resource Inventory (LP) pattern to identify Azure resources that lack dedicated discovery patterns. This enables comprehensive visibility into Azure assets, supporting up to 10,000 resources per discovery run. To utilize this functionality effectively, customers may need to update to the latest Discovery and Service Mapping Patterns application available on the ServiceNow Store.
Show less
Prerequisites
- Azure service principal: Ensure that an Azure service principal is properly configured to allow access for discovery.
- Privileges: Assign the Azure API Management Service Reader role to a user with permissions to execute specific REST API calls. For versions 1.3.0 and later, a REST POST request to the Azure Resource Graph endpoint is required. For earlier versions, a REST GET request to the subscription resources endpoint is used.
Configuration and Optimization
- Create a Cloud Discovery schedule: Schedule discovery runs for your Azure service account following ServiceNow’s standard cloud resource discovery scheduling practices.
- Resource Inclusion List: Use the Cloud Inventory Resource Inclusion List to fine-tune which Azure resource types the pattern discovers, preventing duplicate discovery if custom patterns exist. This list contains common resource types by default but can be customized to meet specific needs.
- Maintain customizations: Modifications to the inclusion list are not automatically updated with application upgrades, so customers must manage these changes themselves.
- Application scope: Ensure the Discovery and Service Mapping Patterns application scope is selected when configuring the inclusion list.
Modifying ServiceNow Related Entries
To support Azure resource inventory discovery, update related entries by adding the identifier cmdbcicmpresource with the related table Key Value [cmdbkeyvalue]. This allows ServiceNow to properly map Azure tags as key-value pairs within the CMDB.
Data Captured During Discovery
- Cloud Resource [cmdbcicmpresource]: Stores key details such as resource name, type (e.g., network, load balancer), Azure object ID, and a description indicating the resource’s Azure origin.
- Key Value [cmdbkeyvalue]: Captures Azure tag keys and values associated with resources for enhanced metadata management.
Configuration Item (CI) Relationships
Discovery creates relationships to represent hosting and resource hierarchy, such as linking Azure cloud resources to their hosting Azure datacenters (cmdbciazuredatacenter), facilitating clearer infrastructure mapping within the CMDB.
The ServiceNow Discovery application uses the Azure Resource Inventory (LP) pattern to find resources available through Azure that don’t have a dedicated pattern. Discovering some of these resources may require updating to the latest version of the Discovery and Service Mapping Patterns application from the ServiceNow Store.
You can discover up to 10 thousand resources using the Azure Resource Inventory (LP) pattern.
Request apps on the Store
Visit the ServiceNow Store website to view all the available apps and for information about submitting requests to the store. For cumulative release notes information for all released apps, see the ServiceNow Store version history release notes.
Prerequisites
- Azure service principal
- Verify the Azure service principal is configured. For more information, see Azure Cloud Discovery
- Privileges
- For versions 1.3.0 and later:
On the Microsoft Azure Console, provide a user with the API Management Service Reader role with permissions to run the following REST POST request:
"https://management.<resource url>/providers/microsoft.resourcegraph/resources?api-version=2022-10-01"<resource url> – The URL varies based on the Azure account type, like "azure.com" or government site address.
- Create a Cloud Discovery schedule
- Create a schedule for the relevant Azure service account as described in Create discovery schedules for cloud resources
- Fine-tune Azure inventory discovery using the Resource Inclusion List
- If your deployment has custom patterns for Azure discovery, ensure that you don’t discover Azure resources twice.Note:Leaving the [pre_resource_whitelist] table empty causes the Pattern to populate all resources and it might cause performance issues.
- Ensure that the application scope is Discovery and Service Mapping Patterns:
- Navigate to .
- Select Discovery and Service Mapping Patterns from the Application list.
- Navigate to .
- Open the Cloud Inventory Resource Inclusion List [sa_cloud_inventory_resource_whitelist] table.
- Under Related Links, click Show List.
- Select resource types for which you have custom patterns, and select Delete from the Actions on selected rows list.
- Ensure that the application scope is Discovery and Service Mapping Patterns:
- Modify the ServiceNow related entries
- Navigate to Related Entries.
- Click New.
- For the identifier, enter cmdb_ci_cmp_resource.
- For the related table, select Key Value [cmdb_key_value].
- For the referenced field, select Configuration Item.
- For the criterion attributes, add Key and Value.
You may need to click the lock icon
to view and change the criterion attributes.
Data collected by Discovery during horizontal discovery
| Table and field | Additional information |
|---|---|
| Cloud Resource [cmdb_ci_cmp_resource] | |
| Name | A descriptive name used to identify the Azure resource. |
| Resource type | The type of the resource, for example network, load balancer. |
| Object ID | The ID of the Azure resource. |
| Description | The text populated during discovery that specifies that this resource is available from Azure. |
| Key Value [cmdb_key_value] | |
| Key | The Azure tag key name. |
| Value | The Azure tag value name. |
CI relationships
| CI | Relationship | CI |
|---|---|---|
| Cloud Resource [cmdb_ci_cmp_resource] | Hosted on:Hosts |
Azure datacenter [cmdb_ci_azure_datacenter] |