On-board a Company

  • Release version: Zurich
  • Updated July 31, 2025
  • 9 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 On-board a Company

    This guide outlines the process and considerations for Service Providers to on-board companies or customers in a domain-separated ServiceNow instance using Cloud Provisioning and Governance. Domain separation enables multi-tenant architecture, ensuring secure, efficient, and governed delivery of cloud services to multiple clients within a single ServiceNow environment.

    Show full answer Show less

    Key Features

    • Domain Separation Architecture: Each company/domain is managed with dedicated MID Servers, which handle discovery, provisioning, and orchestration while ensuring Config Items (CIs) are assigned correctly within domains.
    • MID Server Setup: Requires creating a MID Server user with the midserver role in the global domain to enable communication between ServiceNow and external systems. MID Servers are crucial for integrating with cloud resources across domains.
    • Resource Blocks and Profiles: Resource Blocks, created only in the global domain, act as middleware linking catalog items, Cloud API, and the CMDB. Resource Profiles define allowed attributes for cloud resources and are created globally with mappings in child domains.
    • Cloud Scripts and OS Profiles: Scripts support automation in provisioning and can be mapped to OS profiles to run on virtual machines during provisioning.
    • Governance Components: Includes quotas (resource usage limits), policies (rules for approvals, field control, IP reservations, script execution), resource pools (filtered resource selections), and permissions (user group access controls). Most governance settings are managed in the global domain but can be targeted to specific domains for customized enforcement.
    • Cloud Catalog Items and Templates: Global or domain-specific catalog items can be created based on templates for provisioning cloud resources. Deployment and lifecycle operations are domain-separated to ensure data and process isolation per company.
    • Capacity and Quota Management: Set limits on cloud resource attributes per user/group and per domain to prevent resource overuse.
    • IP Address Management (IPAM) Integration: Supports domain separation and integration with IPAM tools like Infoblox for managing IP addresses, networks, and subnets within cloud catalogs.
    • Business Hours Scheduling: Allows scheduling of start, stop, and deprovisioning actions on virtual machine stacks based on business hours and holidays. Global schedules apply to all domains; domain-specific schedules can be configured only if no active global schedules exist.

    Key Outcomes

    • Service Providers can securely manage multiple companies within a single ServiceNow instance using domain separation, ensuring data and process isolation.
    • Automated provisioning and lifecycle management of cloud resources are enabled with domain-specific governance and quota controls.
    • Centralized administration of MID Servers, resource blocks, policies, and permissions streamlines multi-tenant operations while allowing domain-specific customizations where necessary.
    • Cloud catalog items and templates enable flexible service offerings tailored globally or per domain, with deployment and post-provisioning operations isolated by domain.
    • Integration with IPAM tools and business scheduling enhances operational control over cloud resource management and cost optimization.

    Review the following considerations to on-board customers or companies in a domain separated instance, for Cloud Provisioning and Governance services.

    Domain separation for Cloud Provisioning and Governance overview

    Domain separation for Cloud Provisioning and Governance is designed to give Service Providers a multi-tenant instance architecture that delivers offerings efficiently and securely to their clients. Strong universal process standards, data-driven process design, strict governance, and centralized administration maximize these benefits.

    Customer On-boarding by Service Providers

    • Create the MID Server user and grant the role.
      Domain Separation in Cloud Provisioning and Governance is achieved by installing and configuring one or more dedicated MID Servers for each company/ domain that you are managing in your instance. Specifying a MID Server for each domain/company, ensures that Config Items (CIs) are assigned to the intended domain. Each domain has one or more MID Servers setup for cloud discovery, provisioning, and other orchestration.
      Note:
      Create a MID Server in the global domain so that you can explore targets in other domains. For more information, see Set up domain separation for MID servers

      The Management, Instrumentation, and Discovery (MID) Server is a Java application that runs as a Windows service or UNIX daemon on a server in your local network. The MID Server enables communication and the movement of data between a ServiceNow® instance and external applications, data sources, and services.

      To communicate with the instance, MID Servers need a user ID and the appropriate role. Create the user ID for a MID Server and grant the ID the mid_server role. To prevent MID Server validation failure, the system runs business rules to monitor the settings selected for MID Server users.

    • Setting up the MID Server.
      For more information on setting up the MID Server, see:
    • Resource Blocks in Cloud Provisioning and Governance

      Create Resource Blocks in global domain as there is a 1:1 relationship between CI and resource block. Do not create resource blocks in any of the child or leaf domains. Resource blocks act as a process record, so any template of a parent domain is visible and works in the child domain.

      Resource blocks act as a type of middleware component between catalog items, the Cloud API (CAPI), and the CMDB.

        • If the blocks in the base system do not provide the cloud resources that you need to provision, you can create a custom resource block.
        • In the Cloud Provisioning and Governance application, script execution is divided into cloud scripts and cloud script templates. Use scripts in catalog items, resource blocks, OS profiles, and use policy scripts to set request form attributes. Policy scripts cannot override user data. For more information, see Cloud scripts and cloud script templates.
        • Map a script to an OS profile

          To execute scripted actions during VM provisioning, you can map a script to an OS profile. The script runs on VMs that are created based on the image template in the OS profile.

      • Define Resource Profile

        Create resource profile definitions in the global domain, and create mappings to these definitions in the child (leaf) domains. Do not delete resource profiles without checking with all impacted companies. You can create domain-specific resource pools and pools filters for all supported cloud providers. As a Domain admin you can see global, domain and custom resource pools specific to sub-domains. A resource pool is a query or script that filters a table. You configure a resource pool to limit the values that are available to users when they request a catalog item. For domain separated resource pools only records of the relevant domain are returned.

        Resource profiles are cloud provider-agnostic definitions that specify the allowed attribute values for a resource. Resource profiles enable you to control the choices that the user sees when requesting a cloud resource. As a result, you do not need to define a unique blueprint for each variation of the resource.

    • Administer and set up Cloud Provisioning and Governance for Quota, Policies, Pools, Permissions. Governance refers to the limitations that you can set on available cloud resources. As an SP you could manage process separation in Cloud Provisioning and Governance policies, and permissions for each company or domain you are managing in your instance. Policies are recommended to be set up in global domain only. Process separation at a domain level is achievable for governance and policies. For customized policy enforcement, use company field in the policy rule condition to target a policy towards the particular domain.

      Type Description
      Quotas Quotas are limitations or requirements for groups and users on CIs or cloud resources. Use quotas to prevent wasteful resource usage in your cloud environment.
      Policies A cloud policy can override a property value set by a user, create an approval task, reserve an IP address, pre-populate or hide form fields, execute custom scripts, call the Cloud API, or start or abort subflows. A cloud policy gives you system-wide control over approvals, resource operations, blueprint operations, or catalog item settings.
      Pools A resource pool is a query or script that filters a table. You configure a resource pool to limit the values that are available to users when they request a catalog item.
      Permissions Permissions are user group-level access rights to features in the Cloud Provisioning and Governance application and to specific records in the instance, such as blueprints or cloud accounts.

      Permissions are user group-level access rights to features in the Cloud Provisioning and Governance application and to specific records in the instance, such as catalog items or cloud accounts. You could also set up basic governance policies, quotas, pools, and allow the cloud admin user to further customize them based on their needs. Create a user-group representing the domain users and associate permission to this user group, to set up permissions at a domain level. For more information on managing permissions for Cloud Provisioning and Governance roles, see Manage Cloud Permissions.

    • Configure and manage policies and manage lease for provisioned stack. A policy rule is a collection of conditions and actions. ​If all conditions evaluate to true, the policy engine performs the actions. If any condition evaluates to false, the policy engine does not perform the actions.

      Set up policies in global domain only when you want the policies to apply to all domains. You can customize Cloud Provisioning and Governance and set policies specific to a customer or a domain, if you don't want global policies to apply to a domain. Use the domain field in policy rule condition to target policy towards the particular domain, to enable customized policy enforcement. When global and domain policies co-exist, both policies are executed in the sequence of the order configured for each policy. In case the values set in the order columns are same, the sequence in which the policy is executed is undetermined. Ensure that policy actions are domain separated, that is all action rules are within a single domain, and do not depend on rules in other domains.

      For more information, see:

    • Create a cloud catalog item

      Create a cloud catalog item for provisioning, based on a template and publish the catalog item to provide a service.

      You can create common or global catalogs items based on templates, at the SP domain, making it available for all domains you're managing. You can also create custom catalog items for each domain/company based on your requirements. A user with domain admin/cloud designer roles, can update or delete cloud scripts and cloud script templates belongs to domain and sub-domains. You cannot use common catalogs with different pool-filter for each domain. Create a custom catalog for each domain instead.

      Deployment, post-provisioning, and Day-2 operations are domain separated. For example, if a cloud portal user from a specific company orders a VM, the stack, the request, virtual machine, and all components in the stack are stored in its respective domain. Subsequent operations for a domain are also handled in same manner. You can generate a catalog item based on Terraform configuration management template, or use Azure Resource Manager and AWS CloudFormation templates.

    • Create Cloud Templates

      Do not add sensitive and private information such as CIDR values, IP addresses, credentials, etc, to the template content, if setting up the catalog item as a global catalog item. The sensitive information could be exposed to other cloud admins.

      Create a cloud template and associate the template with a catalog item. Once you've created a template, you can reuse the template to create additional catalog items for the services you want to provision.

    • Set capacity limits on user requests for resources

      Capacity limits place restrictions on the attributes of cloud resources such as the number of virtual machines, virtual CPUs, or aggregate storage. You can set limits on resources separately for each logical datacenter in a cloud account.

    • Create a cloud quota definition

      You can set up separate quota definitions for each domain you're managing in an instance.

      You apply quotas to a resource, such as a virtual server, datacenter, or a generic cloud resource, and to users of a particular group. You can set a per-user limit, and a total limit for the group for the resource. A cloud quota definition specifies the limitations on a resource block. You can use templates or manually create different types of configurations for each quota definition.

    • Using the IPAM integration

      IP address management (IPAM) in Cloud Provisioning and Governance supports domain separation.

      If you use an IP address management (IPAM) tool such as Infoblox, you can manage cloud IP addresses, networks, and subnets in your cloud catalog offerings.

    • Business hours scheduling

      Set up business hour scheduling on all virtual machines in a stack. Business hour scheduling can be set up on stacks at the time of provisioning or on existing stacks. Schedules can be set for when a stack should be started, stopped, and/or deprovisioned by defining parameters such as business hours, holidays, long weekends.

      You map a schedule profile to an instance schedule. The schedule profile applies to all newly provisioned resources that use the profile. For example, a schedule profile can specify the days of the week and times of day when a stack should start and stop.

      Note:
      Global Business schedules apply to all domains. You cannot set up domain-specific schedules if an active global schedule exists.
    • Create a schedule profile

      To set up domain-specific lease schedules ensure that no global lease schedules exist. You can only create a domain-specific lease or schedule when no active global policies exist. While you can have multiple leases or schedules in draft state, only one lease or schedule can be active.

    Next Steps

    For more information on provisioning cloud resources, and making Cloud Provisioning and Governance life-cycle operations available for each domain that you are managing in your instance for, see Domain admin considerations.