Security & API Access Overview
Prepared for customer security assessment.Integration Summary
1. Purpose of This Document
This document is provided to support your organisation’s security assessment of the nOps Azure integration. It enumerates every Azure API call nOps makes, the exact RBAC permissions required, the resources created in your environment, and what nOps explicitly does not access. nOps offers two integration tiers:- Savings Analysis: Read-only cost visibility, commitment inventory, and optimisation recommendations.
- Commitment Management: Automated purchasing and lifecycle management of Azure Reservations and Savings Plans. This tier builds on Savings Analysis and requires additional write-level roles scoped to commitment purchasing only.
Supported Agreement TypesnOps supports Enterprise Agreement (EA) and Microsoft Customer Agreement (MCA) only. Cloud
Solution Provider (CSP) subscriptions are not supported.
2. Authentication Model
nOps registers a multi-tenant Azure AD application. During onboarding a Global Administrator grants admin consent via Microsoft’s standard OAuth 2.0 flow. This creates a service principal in your tenant, an identity managed entirely by Azure AD. nOps never stores your credentials; it authenticates using its own app registration against the service principal that lives in your tenant.3. Azure APIs Called
The following tables document every API endpoint nOps calls, grouped by service area. All calls use the base URL https://management.azure.com.3.1 Subscriptions & Resource Discovery
Baseline calls to enumerate accessible subscriptions and retrieve cost optimization recommendations.3.2 Cost Management
Used to query cost data and manage FOCUS exports. The PUT export call (#6) runs once during customer setup. The POST run call (#7) is customer-initiated for backfill only.FOCUS Export Data FlowThe FOCUS export (nops-clara-focus-export) writes daily Parquet files to focus-exports/nops-clara
inside the dedicated storage account. The nOps data ingestion service reads these files from outside Azure using static IPs 44.246.45.84, 52.11.53.164, and 52.39.155.200. If you enforce storage firewalls, only these three IPs need to be whitelisted.
3.3 Billing Account Discovery
Used to discover billing account structure and validate/assign billing roles. The PUT call (#11) assigns the EnrollmentReader or EA Purchaser role and runs only during the customer- executed setup script.3.4 Monitoring (Activity Log)
Called once per subscription to validate Monitoring Reader access. The query is intentionally minimal for the last 1 hour, top 1 event only. Also used as a rightsizing signal.3.5 Storage Account Access
Scoped exclusively to the nopsfocus dedicated storage account. listKeys (#14) is used during setup validation, not in ongoing runtime operations.3.6 Lighthouse Delegations
Used to verify the Lighthouse delegation is active. nOps deploys an Azure Lighthouse ARM template at the management group scope for Savings Analysis, and additionally at the dedicated subscription scope for Commitment Management.Lighthouse Visibility & RevocationAll Lighthouse delegations are fully visible in Azure Portal under Service Providers > Service provider
offers and can be removed at any time. Removal immediately terminates nOps access.
3.7 Reservations API
Read calls are Savings Analysis. The PUT purchase call (#19) is Commitment Management only and creates a new reservation — no existing resources are modified or deleted.3.8 Savings Plans API
Read calls are Savings Analysis. The PUT purchase call (#22) is Commitment Management only and creates a new savings plan — no existing resources are modified or deleted.4. Required RBAC Permissions (Savings Analysis)
The following roles are assigned during the Savings Analysis onboarding process. Roles at the Management Group scope cascade to all subscriptions underneath. The two storage-account roles are scoped exclusively to the single dedicated nopsfocus storage account.4.1 Management Group Scope
4.2 Storage Account Scope (Dedicated Only)
4.3 Tenant Scope
4.4 Billing Account Scope
5. Additional Permissions (Commitment Management)
Commitment Management is an optional tier that enables nOps to autonomously purchase and manage Reservations and Savings Plans on your behalf. The following roles are assigned in addition to all Savings Analysis roles.5.1 Tenant Scope (Additional)
5.2 Dedicated Subscription Scope (via Lighthouse)
5.3 Billing Account Scope (Additional)
6. Resources Created in Your Environment
During onboarding, nOps creates the following resources in the Azure subscription you designate. No resources are created in any other subscription.6.1 Service Principal
An App Registration is created automatically by Azure AD when you grant admin consent for the nOps application. This is the identity used for all API access described in this document.6.2 FOCUS Export Resources
These resources incur minimal cost — only standard Azure Blob Storage fees for the exported
cost data.
6.3 Lighthouse Delegations
What is a Lighthouse Delegation?Azure Lighthouse allows nOps to access your resources from the nOps tenant without requiring you
to create credentials in nOps’s environment. The delegation is read-only for Savings Analysis. For
Commitment Management, a separate delegation on a dedicated subscription enables purchasing.
You can review and revoke any Lighthouse delegation at any time from the Azure portal under
Managed Services.
6.4 Required Resource Providers
7. What nOps Does Not Access
The following are explicitly out of scope for the nOps integration. These restrictions are enforced by the RBAC permissions listed in Section 4 — nOps has no path to access any of the following.8. Network Requirements
If your organisation enforces firewalls on storage accounts, the following nOps IP addresses must be whitelisted on the FOCUS export storage account. Additionally, ensure Allow Azure services on the trusted services list is enabled on the storage account firewall. If your storage account allows public network access (the default), no firewall configuration is needed.9. Billing Policy Requirements
The following billing policies apply only to Commitment Management. Savings Analysis has no billing policy dependencies.10. Security Summary
The table below summarises the key security properties of the nOps Azure integration for Savings Analysis.For security questions, contact your nOps account team.