Documentation

Cloud Service Import

Live import of SaaS, PaaS, and IaaS inventory, licenses, and cost from Azure, AWS, GCP, and other clouds.

Cloud Service Import

Import live SaaS, PaaS, and IaaS inventory — including licensing and cost — from Azure, AWS, GCP, IBM Cloud, DigitalOcean, Oracle Cloud, or a generic REST catalog into Ops Management → IT Assets.

Who this is for

Operations and architecture teams that want the IT asset catalog to reflect what is actually running in the cloud, not only CMDB exports or hand-entered rows.

How to open it

In the workspace, go to Tools → Cloud Service Import. From the IT Assets list you can also choose Cloud Import.

What is imported

Each discovered service is mapped onto the existing IT asset record. Extra cloud fields are stored in new columns; existing columns are not renamed or removed.

Source dataIT Asset field
Resource / SKU nameAsset Name
SaaS, PaaS, or IaaSAsset Type and Cloud Service Model
ProviderProvider and Cloud Provider
ARM ID, ARN, CRN, or resource nameSerial / Reference ID and Cloud Resource ID
RegionDeployment Environment and Cloud Region
SKU / planCloud SKU
License SKU, seats, consumedLicense Type, License SKU, No. of Licenses, Installed Licenses
Prior-month spendAsset Cost (monthly), billing currency, cost period
TagsCloud Tags
Last successful pullLast Cloud Sync

Matching for updates uses cloud resource ID, then asset code, then name + provider.

Azure app registration

The Azure connector uses a Microsoft Entra app registration (service principal) with subscription RBAC, not only API permissions on the app.

If discovery returns *No Azure subscriptions were returned*, the client ID and secret are usually valid, but the app has not been granted a role on any subscription.

1. Create the app

  1. Open Azure Portal → Microsoft Entra ID → App registrations → New registration.
  2. Name it (for example PlexArch Cloud Import).
  3. Supported account types: Accounts in this organizational directory only.
  4. Redirect URI is not required. Register.

Copy:

PlanIT fieldWhere it is in Azure
Azure Tenant IDApp registration Overview → Directory (tenant) ID
Azure Client IDOverview → Application (client) ID
Azure Subscription IDOptional. Subscriptions blade → Subscription ID. Leave blank to pull every subscription the app can see.

2. Create a client secret

  1. App registration → Certificates & secrets → New client secret.
  2. Copy the Value immediately into Azure Client Secret. Azure does not show it again.

3. Grant subscription access (required)

API permissions on the app registration are not enough. Assign an Azure role to the enterprise application (same name as the app):

  1. Azure Portal → Subscriptions → select the subscription that holds the resources.
  2. Access control (IAM) → Add → Add role assignment.
  3. Role: Reader.
  4. Members: User, group, or service principal → find the app name (PlexArch Cloud Import).
  5. Review + assign.

For monthly cost, add a second assignment: Cost Management Reader on the same subscription (or Cost Management Contributor if Reader is not available in your tenant).

To cover several subscriptions at once, assign the same roles at a management group instead of each subscription.

Role assignments can take a minute to appear. If the list is still empty, confirm you used the tenant where the subscription lives, not a personal Microsoft account tenant.

4. Optional Microsoft 365 / Entra licenses (SaaS)

For Graph subscribedSkus (M365 license SKUs):

  1. App registration → API permissions → Add a permission → Microsoft Graph → Application permissions.
  2. Add Organization.Read.All (or Directory.Read.All).
  3. Grant admin consent.

Without this, IaaS/PaaS resources still import; the preview shows a Graph warning.

5. Optional Resource Graph

Resource Graph is used first for inventory. If it is denied, PlanIT falls back to the ARM resource list. No extra role is required beyond Reader.

Values to paste into Tools → Cloud Service Import

Select Microsoft Azure, keep SaaS/PaaS/IaaS as needed, paste Tenant ID, Client ID, Client Secret, optionally Subscription ID, then Discover Live Services.

Supported providers

ProviderLive APIs usedCredentials (not stored)
Microsoft AzureARM / Resource Graph, Cost Management, Microsoft Graph subscribedSkusTenant ID, client ID, client secret. Optional subscription ID.
Amazon Web ServicesCost Explorer, Resource Groups Tagging, License ManagerAccess key, secret, region.
Google CloudCloud Asset Inventory. Optional Workspace SKUsProject ID plus access token or service account JSON.
IBM CloudResource ControllerIAM API key. Optional account ID.
DigitalOceanDroplets, Apps, Databases, Kubernetes, VolumesPersonal access token.
Oracle CloudCompute instances, Autonomous DatabasesAPI signing key (tenancy, user, fingerprint, PEM) and compartment OCID.
Other cloud / RESTAny HTTPS JSON arrayEndpoint URL, optional bearer token, optional JSON array path (value, items, resources).

Choose SaaS, PaaS, and/or IaaS before you discover. At least one model must stay selected.

How to use it

  1. Select a provider card.
  2. Enter credentials for that provider. They are used only for this call.
  3. Choose Discover Live Services.
  4. Review the preview (name, model, region, license, seats, monthly cost, create vs update).
  5. Choose Import N Services. Created and updated counts are shown, then View IT Assets.

If Cost Management, Graph, License Manager, or Workspace APIs are denied, inventory still imports and the page lists those APIs under Partial data.

After import

Open Ops Management → IT Assets. Filter by Cloud Provider or SaaS / PaaS / IaaS. Asset detail shows a Cloud, License & Cost section.

For on-prem or CMDB hardware, continue to use CMDB Asset Import.