Microsoft Azure resource inventory discovery

  • Release version: Xanadu
  • Updated August 1, 2024
  • 3 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    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 full answer 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.

    For versions 1.0.99 and earlier:

    On the Microsoft Azure Console, provide a user with the API Management Service Reader role with permissions to run the following REST GET request:

    "https://management.azure.com/subscriptions/<subscription id>/resources"

    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.
    1. Ensure that the application scope is Discovery and Service Mapping Patterns:
      1. Navigate to Settings > Developer.
      2. Select Discovery and Service Mapping Patterns from the Application list.
    2. Navigate to System Definitions > Tables.
    3. Open the Cloud Inventory Resource Inclusion List [sa_cloud_inventory_resource_whitelist] table.
    4. Under Related Links, click Show List.
    5. Select resource types for which you have custom patterns, and select Delete from the Actions on selected rows list.
    The Cloud Inventory Resource Inclusion List is predefined with common services. You can expand the inclusion list with additional resource types that you want the pattern to discover. The names of these resource types must conform to the appropriate vendor naming conventions.
    Note:
    When you modify the out-of-the-box inclusion list, it is no longer updated automatically in application updates. You must maintain the customized list on your own.
    1. Open the Cloud Inventory Resource Inclusion List [sa_cloud_inventory_resource_whitelist] table.
    2. Click New.
    3. Fill in the form, and then click Submit.
      Field Description
      Cloud Vendor The vendor of the resource type: Azure.
      Resource Type The Azure resource type value.
      Application The application scope: Discovery and Service Mapping Patterns.
    The changes are applied the next time you run the pattern.
    Modify the ServiceNow related entries
    1. Navigate to Related Entries.
    2. Click New.
    3. For the identifier, enter cmdb_ci_cmp_resource.
    4. For the related table, select Key Value [cmdb_key_value].
    5. For the referenced field, select Configuration Item.
    6. For the criterion attributes, add Key and Value.

      You may need to click the lock icon Lock icon to view and change the criterion attributes.


    Related entry form

    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

    These relationships are created to support Azure resource inventory discovery:
    CI Relationship CI
    Cloud Resource [cmdb_ci_cmp_resource] Hosted on:Hosts

    Azure datacenter [cmdb_ci_azure_datacenter]