Aimably Documentation > Data Integrations > Integration Instructions for Clients of Azure Resellers
When purchasing Azure through a reseller, clients typically do not have tenant-level management, nor access to invoices and their detailed billing data. Therefore, you will need to request integration assistance from your reseller. Please do not follow the Azure integration instructions in our other guides, and instead follow the instructions below.
Please file a support ticket directing the reseller to this page and all instructions below.
This analysis should be performed on all Azure Subscriptions related to this resold customer, including those Subscriptions that are accessed through an unaffiliated Microsoft Entra ID accounts.
This analysis covers the last 12 months of usage data. Please grant access to every Subscription that has had activity in the last 12 months, even if not currently active.
Create a scope list of every Azure Subscription associated with the resold customer. This list will be used to verify Aimably access.
Sign in to the Azure portal as the Account Administrator.
Search for and select “Microsoft Entra ID” from any page. (Azure Active Directory was recently renamed to “Microsoft Entra ID”. If Microsoft Entra ID cannot be found, search for Users)
Under “Manage,” select “Users” from the left-panel menu.
Select “+ New user” from the top of the page, then select “Invite external user.” (Or, if you're using the legacy experience, select “New guest user”).
On the New user page:
Complete the following required fields:
Email Address: azureintegration@aimably.com
Display Name: Aimably Integration
Check the box labeled “Send invite message” and complete the additional fields:
Message: Invitation for Aimably Integration guest user
Cc: Leave Blank or use your own email to confirm the message is sent
Do not adjust any other fields, then click the “Review + Invite” button
Repeat this process for any other Microsoft Entra Directories in use.
Sign in to the Azure portal as the Account Administrator.
Search for and select “Subscriptions” from any page.
Click on the first Subscription on the list
Select “Access control (IAM)” from the left-panel menu.
To add “Reader” access,
Select “Add” from the top of the page, then select “Add role assignment”
From the Roles list, search for and select “Reader”
Select “Members” at the top of the page. Confirm “Reader” is entered at the “Selected role” line and “User, group, or service principal” is selected at the “Assign access to” line, then click “Select Members”
Enter azureintegration@aimably.com in the selection window and select the Aimably Integration user, then click “Select”
Select “Review + assign” at the top of the page. Confirm all data matches your expectations, then click “Review + assign” at the bottom of the page.
To add “Reader and Data Access”
Select “Add” from the top of the page, then select “Add role assignment”
From the Roles list, search for and select “Reader and Data Access”
Select “Members” at the top of the page. Confirm “Reader” is entered at the “Selected role” line and “User, group, or service principal” is selected at the “Assign access to” line, then click “Select Members”
Enter azureintegration@aimably.com in the selection window and select the Aimably Integration user, then click “Select”
Select “Review + assign” at the top of the page. Confirm all data matches your expectations, then click “Review + assign” at the bottom of the page.
Repeat this process for every Subscription on the Subscriptions list, then sign into any other Microsoft Entra Directories and repeat this for the Subscriptions therein.
Alternatively, you can use the CLI to perform these two steps faster:
List the current subscriptions
az account list --query "[].{Name:name, ID:id, State:state}" --output table
Assign the roles to the Aimably user for each subscription:
az role assignment create --assignee azureintegration@aimably.com --role "Reader" --scope /subscriptions/{subscriptionId}
az role assignment create --assignee azureintegration@aimably.com --role "Reader and Data Access" --scope /subscriptions/{subscriptionId}
Note: Only proceed with this step if the customer is being billed at Pay-As-You-Go rates. Otherwise, please skip to the CloudHealth steps at the bottom of this guide.
Confirm you are signed in as an Admin Agent.
Navigate to the Partner Tenant in the Azure Portal
Select Cost Management & Billing
Select the relevant billing scope in the Billing Scope area, and then select Customers.
If you do not see a list of customers for the billing account, please confirm you are signed into the Partner Tenant and not a Customer Tenant
Select the relevant Customer
Under Settings, select Policies
Flip the toggle to Yes for the policy which states: "Users in <Customer Name> with Access to an Azure subscription can view its charges at pay-as-you-go price."
For more information on this policy, please reference the following Microsoft Guide: https://learn.microsoft.com/en-us/azure/cost-management-billing/costs/get-started-partners#enable-the-policy-to-view-azure-usage-charges
Sign in to the Azure portal as the Account Administrator.
Search for and select “Users” from any page.
Select the “Aimably Integration” user from the Users list.
Select “Azure role assignments” from the left-panel menu.
Review all entries to ensure Reader and Billing Reader access has been granted to all known Azure subscriptions.
Repeat this process by signing into any other Microsoft Entra Directories and repeat this process for the Aimably Integration user therein.
Repeat the process from the top if any Reader permissions are missing for any known Subscriptions.
When this process is completed, please email your project lead to confirm that integration has been configured and request a review of your setup.
If the customer does not pay for Azure at Pay-As-You-Go rates or you have chosen not to toggle Usage and Charges access from within the Azure portal, please configure your preferred billing platform to deliver Usage & Charges data to Aimably. Linked below is guidance for Partners who use CloudHealth for this purpose: