Prerequisites
- An Azure subscription with Owner or User Access Administrator access.
- Permission to create app registrations in Azure Active Directory.
- Permission to assign roles on the target subscriptions.
The Reader role is sufficient for cost analysis, security audits, and resource inspection. Grant write-level roles only if you need agents to take actions on Azure resources.
Setup
1
Register an application
Navigate to Azure Portal and go to Azure Active Directory → App registrations → New registration:
- Name:
CloudThinker-ReadOnly - Supported account types: Accounts in this organizational directory only
- Click Register
2
Note application details
Copy and save these values from the app overview:
- Application (client) ID
- Directory (tenant) ID
3
Create a client secret
In your app registration, go to Certificates & secrets → New client secret. Add a description, set expiration (recommended: 12 months), and click Add. Copy the secret value immediately — it won’t be shown again.
4
Assign the Reader role
Go to Subscriptions → Your Subscription → Access control (IAM) → Add → Add role assignment. Select the Reader role, search for and select your app registration, and click Save.
5
Add the connection in CloudThinker
Navigate to Connections → Azure and enter:
- Client ID (Application ID)
- Client Secret (the secret value you copied)
- Tenant ID (Directory ID)
- Subscription ID
Multi-subscription setup
For organizations with multiple Azure subscriptions:1
Use Management Group access
Assign the Reader role at the Management Group level to cover all subscriptions in scope.
2
Add Cost Management access
Grant Cost Management Reader at the billing account level for cross-subscription cost analysis.
3
Configure in CloudThinker
Add all subscription IDs or select “All Subscriptions” in the connection settings.
Connection details
Required permissions
Minimum (read-only analysis)
Recommended (full analysis)
Agent capabilities
Once connected, agents can analyze and optimize your Azure resources.Verify the connection
Example prompts
Troubleshooting
Authentication failed
Authentication failed
Verify the Tenant ID, Client ID, and Client Secret are correct. Check that the client secret hasn’t expired and that the app registration is in the correct Azure AD tenant. Ensure no conditional access policies are blocking authentication.
Client secret expired
Client secret expired
Go to Azure AD → App registrations → Your app → Certificates & secrets, create a new client secret, and update the secret in the CloudThinker connection settings.
Missing resources
Missing resources
Verify the Reader role is assigned to the correct subscription(s). Check if resources are in a different subscription and ensure the app has access to all required subscriptions.
No cost data
No cost data
Verify the Cost Management Reader role is assigned. Check Cost Management + Billing access and ensure EA/MCA billing account access is configured if applicable.
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Set secret expiration — always set an expiration on client secrets (avoid “Never”); set a calendar reminder to rotate before expiry.
- Use Reader role — assign Reader rather than Contributor; CloudThinker’s read operations never require write access.
Related
AWS Connection
Connect Amazon Web Services
Oliver Agent
Security-focused agent for Azure compliance