There are following two ways to onboard Azure CSP using a Root Tenant as the billing scope.
Why this matters: a CSP relationship is managed by a partner through a Root Tenant / Management Group, not a standard billing account ID — so the app registration and role assignments here happen at that management-group scope rather than at a single subscription.
Steps to onboard through CLI
To manage a Microsoft Entra ID app and create a client secret, the Microsoft Entra ID Application Administrator role is required
Create Microsoft Entra ID app
az ad sp create-for-rbac --display-name "<APP_NAME>" --years=2 -o table
-
<APP_NAME>: Enter the unique name. Recommended (mavvrik_management_group)
-
Capture App id, Password and Tenant id which will be used in subsequent steps
To assign permissions to the Microsoft Entra ID app, it is recommended to have the Owner role. Alternatively, you can have both the Contributor and User Access Administrator roles.
Assign Permissions to the App (Mandatory)
az role assignment create --assignee "<APP_ID>" --role "Reader" --scope "/providers/Microsoft.Management/managementGroups/<MANAGEMENT_GROUP-ID>" -o table
-
<APP_ID> : Enter App id created in above step
-
<MANAGEMENT_GROUP-ID>: Enter your Root Tenant Id(To Get Root Tenant id Navigate to Azure Console > Search Root Tenant > Capture the id)
Assign Additional Permissions to the App (Mandatory for Tier2 Customers)
az role assignment create --assignee "<APP_ID>" --role "Reservations Reader" --scope "/providers/Microsoft.Capacity" -o table
az role assignment create --assignee "<APP_ID>" --role "Savings Plan Reader" --scope "/providers/Microsoft.BillingBenefits" -o table
-
<APP_ID> : Enter App id created in above step
Connect Billing Account
-
Login to Mavvrik
-
Go to Menu > Admin > Public Clouds
-
Click on +Account
-
Select CSP as Account type and Billing Scope as Root Tenant
-
Enter required details
-
Click Connect
You can use the same credentials to onboard the Root Tenant as a usage account. Azure CSP Root Tenant Manual CLI Onboarding
Steps to onboard through UI
1) Create the Microsoft Entra ID app
A. Register the app
-
Sign in to Azure Portal
-
Go to Microsoft Entra ID
-
Select App registrations → + New registration
-
Fill:
-
Name:
mavvrik_management_group(or your preferred unique name) -
Supported account types: choose Accounts in this organizational directory only (recommended for CSP tenant)
-
Redirect URI: leave blank (not required)
-
-
Click Register
B. Capture required IDs
After registration, go to the app's Overview page and copy:
-
Application (client) ID ✅ (this is your APP_ID)
-
Directory (tenant) ID ✅
C. Create the client secret
-
Inside the same app, go to Certificates & secrets
-
Under Client secrets, click + New client secret
-
Fill:
-
Description:
mavvrik_secret -
Expires: choose 24 months / 2 years (match your CLI
--years=2)
-
-
Click Add
-
Immediately copy the Value (NOT the Secret ID)
-
This copied Value is your Client Secret ✅
-
You won't be able to view it again later.
-
2) Assign Permissions to the App at the Root Tenant (Mandatory)
A. Get your Root Tenant ID
-
In Azure Portal search: Management groups
-
Select the Root Tenant you want
-
Copy the Management Group ID (not the display name)
B. Assign "Reader" role on the Root Tenant
-
Open Management groups
-
Click the Tenant root Management Group
-
Go to Access control (IAM)
-
Click + Add → Add role assignment
-
In Role: select Reader
-
In Members:
-
Click Select members
-
Search your app name (example:
mavvrik_management_group)
-
-
Select it (continued from above)
-
Click Review + assign → Assign
3) Assign Additional Permissions to the App (Mandatory for Tier2 Customers)
-
In Azure Portal search: Reservations and open it.
-
Click on Role Assignment
-
Click + Add → Add role assignment
-
Under Role, select Reservations Reader.
-
Click Next
-
Click Select members
-
Search your app name (example:
mavvrik_management_group) -
Select it
-
-
Click Review + assign → Assign
-
In Azure Portal search: Savings plans and open it.
-
Click on Role Assignment
-
Click + Add → Add role assignment
-
Under Role, select Savings Plan Reader.
-
Click Next
-
Click Select members
-
Search your app name (example:
mavvrik_management_group) -
Select it
-
-
Click Review + assign → Assign
Troubleshooting
The Root Tenant billing account does not connect
-
Confirm that the application Client ID, Directory (tenant) ID, and client secret value come from the same Microsoft Entra ID application. Use the secret Value, not the Secret ID.
-
Check that the Root Tenant identifier is the Management Group ID, not its display name.
-
Verify that Reader is assigned to that application at the intended root management-group scope.
-
In Mavvrik, confirm that Account type is CSP and Billing Scope is Root Tenant before checking the entered connection details.
Tier2 reservation or Savings Plan information is missing
-
Check the additional role assignments documented for Tier2 customers, not only the Reader assignment on the management group.
-
Verify that the same application has Reservations Reader at /providers/Microsoft.Capacity and Savings Plan Reader at /providers/Microsoft.BillingBenefits.
-
If an assignment is missing, ask an authorized administrator to complete the corresponding permission step in this guide.