Connect Microsoft Azure Account
Connect your Azure account to OEC.sh using secure OAuth authentication.
What You'll Get
After connecting your Azure account, OEC.sh can:
| Capability | What It Enables |
|---|---|
| Compute | Auto-provision Azure VMs for Odoo hosting |
| Storage | Use Blob Storage for automated backups |
| DNS | Manage Azure DNS zones for your domains |
Prerequisites
Before you begin, ensure you have:
- Active Azure subscription (Sign up here (opens in a new tab))
- Global Administrator or Owner role on the subscription
- Azure Active Directory (Entra ID) access
Connection Method
Azure uses OAuth 2.0 authentication. You'll authorize OEC.sh to access your Azure resources through Microsoft's secure login.
Note: OAuth means you don't share passwords or secrets with OEC.sh. Microsoft handles the authentication.
Step-by-Step Connection
Step 1: Navigate to Cloud Accounts
- Log in to app.oec.sh (opens in a new tab)
- Click Settings in the left sidebar
- Click the Cloud Accounts tab
Step 2: Start Connection
- Click the Add Account button
- Under One-Click Connect (OAuth), find Microsoft Azure
- Click the Microsoft Azure card
Step 3: Sign in to Microsoft
A new browser tab opens to Microsoft:
- Sign in with your Azure account
- Use an account with Owner or Contributor access to the subscription
- If your organization uses SSO, complete that flow
Step 4: Review and Consent
Microsoft shows you what OEC.sh is requesting:
Permissions requested:
Azure Service Management - user_impersonation- Allows OEC.sh to manage Azure resources on your behalf
Review the consent screen carefully:
- Verify the app name shows "OEC.sh" or your configured app name
- Confirm the permissions match expected scope
- Click Accept to authorize
First time only: If you see "Admin consent required", your Azure AD admin needs to approve the app first. Contact your IT team.
Step 5: Confirm Connection
After authorization:
- Browser redirects back to OEC.sh
- Your Azure account appears in the list
- Status shows Active with a green badge
- Capability badges display: Compute, Storage, DNS
Verify Your Connection
Check Account Status
Your connected account should display:
- Name: "Microsoft Azure" (you can rename it)
- Status: Active (green)
- Capabilities: Compute, Storage, DNS badges
- Account: Your Azure email/account name
Test the Connection
- Find your account in the list
- Click the refresh icon (circular arrow)
- Status should remain "Active"
- If validation fails, see Troubleshooting
What Permissions Does OEC.sh Request?
When you authorize OEC.sh, we request these Azure scopes:
| Scope | Purpose |
|---|---|
https://management.azure.com/user_impersonation | Manage Azure resources (VMs, storage, DNS) |
offline_access | Refresh tokens automatically without re-login |
We can access:
- Virtual Machines in your subscriptions
- Storage Accounts and Blob containers
- DNS Zones and records
We never:
- Access your Azure AD user data
- Modify billing or subscription settings
- Access resources you don't grant us
Azure Subscription Requirements
OEC.sh needs access to at least one Azure subscription with:
Resource Providers (Enable if needed)
- Go to Azure Portal > Subscriptions > Your subscription
- Click Resource providers
- Ensure these are registered:
Microsoft.Compute(Virtual Machines)Microsoft.Storage(Storage Accounts)Microsoft.Network(Networking)
Role Requirements
The Azure account used must have one of these roles on the subscription:
| Role | Can Do |
|---|---|
| Owner | Full access (recommended for initial setup) |
| Contributor | Create/manage resources, cannot manage access |
| Custom Role | Specific permissions (advanced) |
Using Your Azure Account
For Server Provisioning
- Go to Servers > Add Server
- Choose Provision from Cloud
- Select your Azure account
- Choose:
- Subscription (if multiple)
- Region (e.g.,
East US) - VM Size (e.g.,
Standard_B2s)
- Click Provision
For Backup Storage
- Go to Settings > Storage
- Click Quick Setup on your Azure account
- Select or create a Storage Account
- Choose/create a Blob container
- Configure backup settings
For DNS Management
- Go to Settings > DNS Providers
- Click Quick Setup on your Azure account
- Select an Azure DNS zone
- OEC.sh will manage A records automatically
Managing Your Connection
Refresh Token
OAuth tokens expire periodically. OEC.sh auto-refreshes them, but if issues occur:
- Click the refresh icon on your account
- OEC.sh will attempt token refresh
- Status should update
Reconnect Account
If refresh fails (e.g., password changed, MFA reset):
- Click the Reconnect button
- Sign in to Microsoft again
- Re-authorize OEC.sh
Disconnect Account
- In OEC.sh: Delete the cloud account
- In Azure: Go to Azure AD > Enterprise Applications
- Find and revoke OEC.sh access if needed
Troubleshooting
"Admin consent required" Message
Cause: Your Azure AD requires admin approval for new apps.
Solution:
- Contact your Azure AD Global Administrator
- They need to approve OEC.sh in Enterprise Applications
- Or, ask them to enable user consent for apps
"Authorization Denied" Error
Cause: You clicked "Deny" or closed the window.
Solution:
- Click Add Account again
- Complete the authorization flow
- Click Accept when prompted
Account Shows "Expired"
Cause: OAuth tokens expired and couldn't auto-refresh.
Possible reasons:
- Password was changed
- MFA was reset
- Azure AD policy expired the session
Solution:
- Click Reconnect on the account
- Sign in with Microsoft
- Re-authorize OEC.sh
"No subscriptions found" Error
Cause: The Azure account has no subscriptions or you lack access.
Solution:
- Verify you have at least one Azure subscription
- Check you have Owner or Contributor role on it
- Try a different Azure account with subscription access
VM Creation Fails
Cause: Could be quota limits, region capacity, or permissions.
Solutions:
- Quota: Check Subscription > Usage + quotas
- Region: Try a different Azure region
- Permissions: Verify Contributor access on the subscription
- Resource Providers: Ensure Microsoft.Compute is registered
Cannot Access Storage Account
Cause: Network rules or permissions blocking access.
Solution:
- Check Storage Account network settings
- Verify "Allow access from all networks" or add OEC.sh IPs
- Check the account has Storage Blob Contributor access
Azure Regions
OEC.sh supports major Azure regions:
| Region | Location |
|---|---|
eastus | East US (Virginia) |
westus2 | West US 2 (Washington) |
westeurope | West Europe (Netherlands) |
northeurope | North Europe (Ireland) |
southeastasia | Southeast Asia (Singapore) |
australiaeast | Australia East (Sydney) |
Cost Considerations
Azure charges for resources created by OEC.sh:
| Resource | Billing |
|---|---|
| Virtual Machines | Per-hour based on VM size |
| Storage Accounts | Per GB stored + transactions |
| Azure DNS | Per zone per month + queries |
| Data Transfer | Outbound data charges |
Tips to minimize costs:
- Use Azure Hybrid Benefit if you have Windows licenses
- Enable Reserved VM Instances for production
- Use lifecycle management for storage
- Stop VMs when not in use (use OEC.sh scheduling)