Skip to main content

Azure Cloud Account Permission Required Warnings

Fix this error

Spotto shows Azure cloud account Permission required warnings when a tenant or subscription sync step cannot collect a dataset because required Azure access is missing.

Use the warning text shown in the portal to find the Azure role, consent, or billing policy that needs to be added.

Find the missing permission in Spotto

  1. Open Connectors -> Connectors -> Cloud Accounts.
  2. Open the affected Azure cloud account.
  3. Open Sync diagnostics.
  4. Select the affected tenant or subscription row.
  5. In Sync Step Details, find the warning in the Detail column. It looks like <permission name> required.
  6. Hover or open the info icon and note the Missing permission and Assign at fields.

Fix the warning in Azure

These are the same warning labels and tooltip fields shown in the front end.

What Spotto showsMissing permission in tooltipAssign atWhat to fixWhat is affected
Resource Groups Reader requiredReaderSubscription or inherited management groupAssign Reader to the Spotto app.Resource grouping and subscription inventory context
Resource Inventory Reader requiredReaderSubscription or inherited management groupAssign Reader to the Spotto app.Resource inventory, recommendations, relationship graphs, and resource views
Activity Log Reader requiredReaderSubscriptionAssign Reader to the Spotto app on the subscription.Activity-aware refresh, operational context, and cost-impacting change detection
Resource Graph Reader requiredReaderSubscription or inherited management groupAssign Reader to the Spotto app.Resource Graph queries used by recommendations, governance, reliability, and security checks
Cost Management Reader requiredCost Management Reader + ReaderSubscriptionAssign Cost Management Reader and confirm Reader.Cost trends, budgets, savings calculations, and cost overlays
Consumption Usage Reader requiredCost Management Reader + ReaderSubscriptionAssign Cost Management Reader and confirm Reader.Usage attribution, commitment analysis, and cost decomposition
Billing export storage access requiredStorage Blob Data Reader + active Cost Management exportsExport storage container or storage account, plus subscription export scopeConfigure Cost Management exports and assign Storage Blob Data Reader to the Spotto app on the export container or storage account.Cost Analysis, Cost Tree, dashboard spend widgets, and billing history ingestion
Azure Cost Management visibility requiredCSP Azure Usage visibility + ReaderCSP partner billing account customer policy and subscriptionAsk the CSP partner to enable Azure Usage for the customer and confirm Spotto has Reader.Cost Analysis, Cost Tree, dashboard spend widgets, and billing overlays
Monitoring Reader requiredMonitoring ReaderSubscription or monitored resource scopeAssign Monitoring Reader.Azure Monitor metrics, rightsizing, performance evidence, alerts, and diagnostics
Log Analytics Data Reader requiredLog Analytics ReaderSubscription or Log Analytics workspaceAssign Log Analytics Reader at the subscription, workspace, or inherited scope.Log Analytics queries, Application Insights evidence, and reliability diagnostics
Security Reader requiredSecurity Reader + ReaderSubscriptionAssign Security Reader and confirm Reader.Defender for Cloud assessments, secure score, and security posture summaries
Advisor Recommendations Reader requiredReaderSubscriptionAssign Reader to the Spotto app.Azure Advisor recommendation import and optimization workflows
Management Group Reader requiredManagement Group ReaderRoot management groupAssign Management Group Reader at the tenant root or root management group.Management group hierarchy and tenant-level governance context
Reservations Reader requiredReservations ReaderReservations provider scopeAssign Reservations Reader from the Azure Reservations area.Reserved Instance inventory, coverage, utilization, and commitment opportunities
Reservations Contributor requiredReservations ContributorReservations provider scopeAssign Reservations Contributor from the Azure Reservations area.Reservation refund quote calculation and reservation management workflows
Savings Plan Reader requiredSavings plan ReaderSavings plans provider scopeAssign Savings plan Reader from the Azure Savings plans area.Savings Plan inventory, coverage, utilization, and missed savings
Graph governance permissions requiredMicrosoft Graph governance permissionsMicrosoft Graph application permission with admin consentAdd the Spotto Graph governance application permissions and grant admin consent.Application registration, service principal, Global Admin/PIM, group membership, user, and audit diagnostics

Some cloud account form warnings are not subscription sync steps, but they use the same Missing permission pattern:

What Spotto showsMissing permission in tooltipAssign atWhat to fix
Advisor suppressions requiredCustom role with Advisor suppression actionsSubscriptionAssign a custom role with the Advisor suppression actions documented in the write-permissions guide.
Storage inventory write requiredCustom role with storage inventory policy read/write actionsSelected storage accountAssign the storage inventory policy read/write custom role if that automation is enabled.

Retry the affected sync

After the Azure change:

  1. Wait 5-15 minutes for Azure RBAC or Microsoft Graph consent to propagate.
  2. Return to the affected Azure cloud account in Spotto.
  3. Rerun the tenant sync or subscription sync.
  4. Reopen Sync diagnostics and confirm the warning is gone.

What this error means

Error type: capabilityMissing

The Azure account can authenticate, but a specific dataset is unavailable. Spotto keeps the rest of the sync moving where it can and marks the affected tenant or subscription step with the missing permission.

This is why credential validation can succeed while one feature still looks empty. Authentication worked. The narrower read path did not.

Why it happens

Azure uses different access models for different data sources:

  • Subscription inventory, resource groups, Activity Log, Resource Graph, and Advisor data usually depend on subscription Reader.
  • Billing data depends on Cost Management Reader, Reader, Cost Management exports to customer-owned storage, Storage Blob Data Reader on the export container or storage account, and sometimes CSP partner-side Azure Usage visibility.
  • Management group governance depends on root management group access.
  • Reservations and Savings Plans use provider-scope roles. Reservation refund quote and management workflows need Reservations Contributor, not just Reservations Reader.
  • Microsoft Graph application, service principal, Global Admin/PIM, group membership, user, and audit data require Graph application permissions and admin consent.
  • Monitoring and Log Analytics data can require roles at subscription, workspace, or monitored-resource scope.

Who can fix it

The person who can fix the warning depends on the missing permission. In Spotto, the warning tooltip shows Assign at to identify the Azure scope. If the scope is outside your access, send this page to the Azure owner for that scope.

For CSP billing visibility, the customer tenant administrator may not be able to fix the partner policy. The CSP partner or billing administrator must enable Azure Usage visibility.

For Enterprise Agreement billing visibility, an Enterprise Administrator must enable Account owners can view charges (AO view charges). Subscription RBAC cannot override that enrollment policy.

Important notes

  • Spotto onboarding scripts and Terraform can assign Azure RBAC, but they cannot enable CSP partner-side billing visibility.
  • Billing export setup has two sides: Azure must write Cost Management exports to storage, and the Spotto service principal must be able to read those blobs with Storage Blob Data Reader. If the export is at billing scope, Spotto also needs read access at that billing scope to discover it.
  • Azure RBAC, management group permissions, and Microsoft Graph admin consent can take several minutes to propagate.
  • If the warning remains after the permission is granted, confirm the role was assigned to the same app registration/client ID configured in Spotto.
  • If multiple subscriptions show the same warning, check whether the role should be assigned at an inherited management group scope instead of one subscription at a time.