Connect an Azure Subscription to an Existing LCS Project and Deploy a Development VM
Developer series · Episode 4

In episode 3, we built a checklist for a development VM. This time, we'll connect an Azure subscription to an existing LCS project and use that checklist to deploy a Microsoft Dynamics 365 Finance & Operations development VM.
Key points
- This guide is for existing customers using an active LCS project. For new development environments, consider a PPAC-based UDE first.
- Connecting Azure takes three steps: admin consent → assign the Contributor role → add a connector.
- You deploy by choosing version → topology → connector → VM size. When you're done, deallocate and then delete the VM.
- Route
- Project and version
- Azure connection
- VM deployment
- Access and clean-up
- Checklist
01First, confirm how your development environment is managed

JGS explanatory diagram
- PPAC + UDE: the default route for new customers. Microsoft says UDE replaces the cloud-hosted developer VMs that LCS used to deploy.
- Existing LCS + cloud-hosted VM: the route this article covers. Since February 16, 2026, new customers can't create LCS cloud implementation projects, but existing active projects can still be used.
- Downloadable VHD: build a development VM on your PC from a VHD you download from LCS. We'll cover that in the next episode.
- Cloud-hosted development environments deployed through LCS: according to Microsoft documentation, Copilot and AI agent features aren't supported.
Source: Microsoft Learn · Unified environment types and templates · LCS project creation freeze · Deploy and access development environments · Migrate LCS environments to PPAC (preview)
Caution · The self-service migration from LCS to the Power Platform admin center (preview) doesn't support cloud-hosted developer environments. If you plan to keep a development environment for a long time, consider moving to UDE too.
· Cloud-hosted environment: a development or test VM environment that LCS creates in your Azure subscription
· UDE (unified developer environment): a Power Platform environment for X++ development by one developer, used with Visual Studio 2022 on your PC
· PPAC (Power Platform admin center): the newer admin center for Dynamics 365 and Power Platform environments
02Check the existing LCS project and version
- On the LCS home page, open the implementation project you'll use.
- Under Environments on the right of the project page, check the list of production (PRODUCTION) and sandbox environments.
- In the sandbox's Full details, check the application and platform versions, then record them in your checklist as the basis for choosing the development VM version.
Project and version check on real screens
These are real screens JGS captured in LCS in September 2024, so they may differ from what you see today.
Order ① Open project → ② Environment list → ③ Version information

① Open the implementation project from the home page

② Open Full details for the sandbox under Environments

③ Version information · 10.0.40, PU64 (as of September 2024)
Real screens · 3 real screenshots · September 2024
Point · These versions are from September 2024. When you deploy, pick from the version list LCS shows you that day.
· Application version: the version of the business functionality (for example, 10.0.40)
· Platform update (PU): the update number of the runtime underneath the application (for example, PU64)
03Connect the Azure subscription to the LCS project
What you need: the subscription ID to deploy to, the subscription owner (or their help), a tenant administrator to give admin consent, and permission to deploy environments in the LCS project
Organization type: prospect organizations can't create Azure connectors. Check your organization type under your name in the upper-right corner of LCS.
① Admin consent: on the Azure connectors tab, select Authorize so the LCS deployment service can deploy to your subscription.
② Contributor role: in the subscription's IAM in the Azure portal, assign the Contributor role to the Dynamics Deployment Services [wsfed-enabled] app.
③ Add a connector: under Add, enter a name, the subscription ID, and the subscription's Microsoft Entra tenant domain, set Azure Resource Manager to Yes, and select Next.
Next, in the subscription's IAM in the Azure portal, also assign the Contributor role to the LCS user (assign the user directly; groups aren't supported). Then select the deployment region, select Connect, and confirm that the list shows ARM Enabled.
You can create only one connector per subscription and region combination.
· Azure connector: LCS project › Microsoft Azure settings in the Environments area › Project settings › Azure connectors tab
· Role assignment: Azure portal › Subscriptions › Access control (IAM) › Add › Add role assignment

JGS explanatory diagram

Microsoft original · Contributor role for the deployment service app
OneNote has no capture for this step, so we use an official Microsoft screen
Source: Microsoft Learn · Deploy a demo environment
Point · There are two ways to authorize subscription access: add an LCS user as Contributor, or upload a management certificate. A certificate has an expiration date. The user method keeps working as long as that user has access to the subscription.
· Azure connector: the LCS project setting that lets it deploy resources to your Azure subscription
· Admin consent: a tenant administrator granting an app organization-wide permission in one step
· Contributor: an Azure role that manages all resources but can't assign roles to others
· ARM (Azure Resource Manager): the Azure layer that creates and manages resources
04Deploy the development VM with your checklist values
Under Environments in the project, select + and choose the application and platform version.
Choose the environment topology. For a cloud-hosted environment, also choose the Azure connector you'll use.
Enter the environment name (it has to be unique within the subscription) and the VM size from your episode 3 checklist. Microsoft's demo deployment article says to use Ev5-series sizes for finance and operations workloads. For the regional vCPU quota, see 'Quota' in episode 3.
Agree to the terms, select Deploy, and check progress on Cloud-hosted environments.
· Start deployment: LCS project › + in the Environments area
· Deployment status: LCS project menu › Cloud-hosted environments

Microsoft original · Historical LCS screen · the date, topology and D13 size are old examples, not current guidance
Source: Microsoft Learn
Caution · An environment's tenant follows the user who deploys it. If you deploy a Tier 1 environment through LCS, you can't change its tenant settings afterward. So deploy with an account from the tenant you'll actually use.
· Topology: the type of VM setup for the environment (demo, developer/test, and so on)
· Ev5-series: a memory-optimized family of Azure VM sizes
05Sign in, and clean up when you're done
App access: in Cloud-hosted environments, select the environment and then Login › Log on to finance and operations. The user who requested the environment is its administrator.
Remote Desktop: connect with the accounts shown on the environment page. If the environment was deployed on or after Platform update 12, it has separate developer and admin accounts. Microsoft didn't test or support these environments with Azure Bastion.
Password visibility: set a user's project role to Project team member, and local account passwords are hidden from them. You can't hide them from an Environment manager or Project owner.
Hours of use: while you're not using the VM, Deallocate it to power it down.
Clean-up: Deallocate, then Delete. If deletion fails and you end up removing only the LCS metadata, go to Azure and delete the resource group with the same name as the environment yourself.

Microsoft original · Historical LCS screen · Cloud-hosted environments list (2016–2017 example)
Source: Microsoft Learn
Point · Microsoft treats development environments as disposable. Keep business-critical data out of them. If troubleshooting drags on, it's better to delete and redeploy.
· Local account: a Windows account used only inside the VM
· Deallocate: stopping a VM and releasing its compute resources. LCS can delete the environment only in this state.
06Checklist before deployment
We grouped the items most likely to cause problems during deployment by prerequisite. Check them after your episode 3 checklist.
| Where it gets stuck | Check before deploying |
|---|---|
| Route | Do you have an active LCS project, or should you start with UDE? |
| Access | Admin consent, Contributor role for the deployment service app, LCS project role |
| Connector | ARM Enabled, one per subscription and region, expiration date if certificate-based |
| Deployment values | Application and platform version, topology, environment name, VM size, regional vCPU quota |
| Tenant | Are you deploying with an account from the tenant you'll use? |
| Access and cost | Allowed IPs for RDP, usage hours, who deallocates and deletes the VM |
Documentation checked: 2026-10-27
This article is based on Microsoft documentation and real screens from September 2024. We didn't create a connector or deploy a VM for this article.
Source documents · Microsoft Learn
- Deploy and access development environments
- Complete the Azure Resource Manager onboarding process
- Deploy a demo environment
- Lifecycle Services project creation freeze
- Migrate Lifecycle Services environments to Power Platform admin center (preview)
- Lifecycle Services (LCS) user guide
- Enable Power Platform integration
- Finance and operations apps in Power Platform admin center
- Unified environment types and templates
- Unified developer experience for finance and operations apps
- Install and configure development tools
- Assign Azure roles using the Azure portal
- Azure built-in roles
- Ev5 sizes series
The JGS Consulting team has been part of the journey from Dynamics AX 2009 and AX 2012 to Dynamics 365 Finance & Operations.
Specialists in finance, cost management, and tax, the core of ERP work, are part of the team too.
We handle logistics, manufacturing, and distribution systems as one team, from process design through development and operations, and we bring system and development architecture expertise.
We'll keep going with our Microsoft ERP (MS ERP) system development series.
Contact JGS about development environments
#Dynamics365 #D365 #D365FO #MSERP #MicrosoftERP #JGS #LCS #AzureVM #DevelopmentEnvironment #ERPDevelopment
한국어 글은 네이버 블로그에서 보실 수 있습니다: https://blog.naver.com/jgsconsulting
Comments
Post a Comment