Azure or BYO-AZURE (Bring Your Own Azure Account)
This guide explains the Azure permissions and configuration required for customers who want to deploy Elestio services in their own Azure subscription. By connecting your Azure account, Elestio will create and manage resources directly in your Azure environment.
Prerequisites
Before connecting your Azure subscription to Elestio, ensure you have:
-
An active Azure subscription
-
Global
Administrator,Administrator, Privileged RoleAdministrator,Administrator, or Application Administrator role in Azure AD -
Contributor role on the target Azure subscription (or ability to assign it)
Required Azure Permissions
Minimum Required Role
-
Role:
`Contributor` -
Scope: Subscription level
Contributor
Why:
This role allows Elestio to create, manage, and delete resources in your subscription while preventing it from modifying access controls or role assignments.
Alternative: Custom Role (Advanced)
If your organization requires granular permissions, you can create a custom role with thesethe specificfollowing permissions:
{What Resources Will Elestio Create?
When you deploy services through Elestio using your Azure subscription, the following resources will beare created:
| Resource Type | Purpose |
|---|---|
| Resource |
Logical containers for all resources (elestio-{region}) |
| Virtual |
Compute instances for your applications |
| Managed |
OS and data |
| Virtual |
Network isolation |
| Network |
VM |
| Public IP |
IPv4 and IPv6 |
| Network Security |
Firewall rules |
| Storage |
Backups and |
| Recovery Services |
Backup and disaster recovery |
| Resource |
Prevent accidental deletion |
OAuth Scope Required
Elestio uses the following OAuth 2.0 scopescope:
https://management.azure.com/user_impersonationThis scope allows Elestio to perform actionsact on your behalf through thevia Azure Resource ManagerManager.
Step-by-Step Setup Guide
Step 1: Assign Contributor Role
-
User Account
Sign in to the [Azure Portal](https://portal.azure.com)
Go to **Subscriptions**
Select theyour subscription
Open use with Elestio
Click **+ Add**Add → **Add role assignment**
Select **User,Contributor
Assign principal**
Click **Select**
Verification:
Your - Review the settings
Step 2: Register Elestio Application in Azure AD
-
you connect your Azure account through the Elestio dashboard: -
toSelect
yourSoftwareprojectinsidesettings -
Go to
**CloudProviders**Providers →**Azure** -
**Connect Azure Account** -
Click Authenticate with Azure
AD -
clicking Authorize, you'll see the Microsoft permissions consent screen: -
- **Access Azure Service Management as
you**you (`user_impersonation`user_impersonation)scope) -
This allows Elestio to manage Azure resources on your behalf -
3.Click
**Accept**Accepttograntconsent**Note**Note: If you
don't have sufficientlack privileges,contactyour Azure AD administratortomust grant consent.---
###Step 4: Select Subscription
-
After authorization, you'll returnReturn to the Elestio dashboard
-
Select the Azure
subscriptionsubscription.where -
dedicated Azure subscription for Elestio-managed resources. This provides: -
-Workload
IsolationisolationfromotherworkloadsEasier
- Simplified auditingaudits and compliance -
Assign Contributor at
thesubscriptionlevel,levelnot -
group level -
→ Enterprise applications → Elestio → Permissions
1.2.youwant to deploy resources3. Click **Save**Your Azure account is now
connectedconnected.to
Elestio!---##Security Best Practices
### 1.Use Dedicated Subscriptions
Recommended
Forfor productionenvironments,toconsiderensure:usinga-Clear cost tracking
andbilling###2.
Enable Azure Activity LogMonitor all Elestio actions in your subscription:1. Go to **Azure Monitor** → **Activity Log**2. Set up alerts for critical operations:- Resource deletion- Role assignment changes- Network security group modifications### 3. Review Resource LocksElestio automatically creates resource locks on VMs to prevent accidental deletion. To view them:1. Navigate to your VM resource2. Click **Locks** in the left sidebar3. You'll see a lock named after your VM### 4. Regular Access ReviewsPeriodically review who has access to your Azure subscription:1. Go to **Subscriptions** → **Access control (IAM)**2. Click **Role assignments**3. Verify that only authorized users have Contributor or higher roles---## UnderstandingResource Naming Conventions
ElestiousesconsistentResource namingPattern patternsExample forcreatedresources:| Resource | Naming Pattern | Example ||----------|----------------|---------||Resource Group | `elestio-{region}`|elestio-eastus`elestio-eastus`||VM VM | `{service-name}`| `my-postgres-db`db||Public IPv4 | `{service-name}_ipv4`_ipv4| `my-postgres-db_ipv4`db_ipv4||Public IPv6 | `{service-name}_ipv6`_ipv6| `my-postgres-db_ipv6`db_ipv6||Network Interface | `{service-name}` | `my-postgres-db` || Network Security Group | `{service-name}` | `my-postgres-db` ||Virtual Network | `elestio_{region}_vnet`_vnet|elestio_eastus_vnet`elestio_eastus_vnet`|| Recovery Vault | `{display-name}` | Service display name ||Backup Policy |elestioBackup`elestioBackup`elestioBackup|`elestioBackup`|
---Troubleshooting
Insufficient
##PermissionsBackup and Recovery### Automatic BackupsElestio automatically enables Azure Backup for services with support levels 2 and 3:- **Daily backups** are configured using Azure Recovery Services- **Backup retention**Cause:
Configurable based on your backup policy- **Recovery points** are stored in Recovery Services Vaults### Manual Backups (Snapshots)You can trigger manual snapshots through the Elestio dashboard. These are:- Created using Azure Backup on-demand- Stored in the same Recovery Services Vault- Default retention: 2 days (configurable)### Backup CostsAzure Backup costs are charged directly to your Azure subscription based on:- Protected instance size- Storage consumed by recovery points- Refer to [Azure Backup Pricing](https://azure.microsoft.com/en-us/pricing/details/backup/) for details---## Cost Management### Viewing Costs1. Navigate to **Cost Management + Billing** in Azure Portal2. Select your subscription3. Go to **Cost analysis**4. Filter by resource group: `elestio-*`### Cost Optimization Tips1. **Right-size VMs**: Choose the appropriate VM size for your workload2. **Use Reserved Instances**: For long-running services, consider Azure Reserved VM Instances (up to 72% savings)3. **Stop Unused VMs**: Deallocate VMs when not in use to avoid compute charges4. **Monitor Backup Storage**: Review and delete old recovery points if not needed---## Troubleshooting### Error: "Insufficient permissions"**Cause**: Your user account doesn't have the required Contributor role.**Solution**:1. Verify role assignment in Subscriptions → Access control (IAM)2. Ensure theMissing Contributor role
Fix:isassignedresource3.Wait
5-5–10 minutes forpermissionspropagationtopropagate
---Required### Error: "Admin
consentConsentrequired"**Cause**Cause:
The Elestio application requires admin consent for the `user_impersonation` scope.**Solution**:1. Contact yourAzure ADadministrator2. Ask them to grant adminconsentthroughmissing
Fix:AzureAD3. Alternatively, haveAsk an admin
completetotheapproveauthorizationpermissionsflow -
-
`Microsoft.RecoveryServices` resource provider is not registered in your subscription. -
`Register
Microsoft.RecoveryServices` -
subscriptionCheck
has reached the limit for a specific resource type (e.g., CPU cores, public IPs). -
current usage and limits
Log in to yourthe Elestio account
Enter your **Azure Tenant ID**ID
You will be redirected to the Microsoft login page.
Step 3: Grant Admin Consent
Review the requested permissions:
Sign in with an admin account thatif hasrequired
Provider notNot registered"
Fix:
Subscriptions → Select your subscription
Quota exceeded"
Fix:
Request a quotaan increase through **Support** → **New support request**