This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Getting Started

Start now the Developer Experience journey of your team

1 - Prerequisites

All prerequisites to start using the Dev Box accelerator.

1.1 - Organization roles and responsabilities requirements

Dev Box accelerator – Organization roles and responsabilities for: Platform engineers, development team leads, and developers.

Learn more about Microsoft Dev Box Organizational roles and responsibilities for the deployment, access the official Learn more… site.

Overview

The Dev Box accelerator aligns with the requirements and responsibilities for each organizational role involved in deploying and using Microsoft Dev Box, with a focus on RBAC permissions and configuration prerequisites.

The roles covered include:

  • Platform Engineers
  • Development Team Leads
  • Developers

Dev Box Roles

Each role has distinct requirements to ensure a secure, scalable, and successful Dev Box deployment.


Platform Engineer Requirements

Platform Engineers are responsible for deploying and governing the core infrastructure that powers Microsoft Dev Box, including Dev Centers, network connections, and governance policies.

Responsibilities

  • Create and configure Dev Centers and Projects
  • Set up network connections (Microsoft-hosted or custom VNETs)
  • Define Dev Box definitions (SKUs, base images)
  • Apply RBAC roles and enforce policies
  • Enable monitoring and diagnostics

Required Azure Roles

Role NamePurposeLearn more…
Owner / ContributorGrants full control of resource deployment and access managementOwner Role
Managed Identity ContributorRequired to Create, Read, Update, and Delete User Assigned IdentityManaged Identity Contributor
Network ContributorRequired to manage virtual networks and DNS for custom connectivityNetwork Contributor

Additional Requirements

ComponentDescriptionLearn more…
Azure SubscriptionMust have access to a valid Azure subscriptionManage subscriptions
Microsoft Entra IDConfigured for managing access and identityWhat is Microsoft Entra ID?

Development Team Lead Requirements

Development Team Leads manage the Dev Box experience for their teams by defining image configurations, Dev Box pools, and assigning users to environments.

Responsibilities

  • Define Dev Box pools per team or project
  • Customize and manage Dev Box definitions
  • Assign users to Dev Box environments via Microsoft Entra ID groups
  • Validate Dev Box readiness and configurations

Required Azure Roles

Role NamePurposeLearn more…
DevCenter Project AdminAllows creation and management of projects, Dev Box pools, and user assignmentsDevCenter Project Admin Role
Contributor (Optional)Required for managing custom images or shared galleriesContributor Role

Additional Requirements

ComponentDescriptionLearn more…
Azure Compute Gallery (Optional)Required if using custom images across environmentsAzure Compute Gallery
Azure Image Builder (Optional)Used to automate creation of custom Dev Box imagesImage Builder

Developer Requirements

Developers are end users of Microsoft Dev Box and require access to preconfigured environments that match their team’s development stack.

Responsibilities

  • Access and manage assigned Dev Boxes via the portal
  • Use the Dev Box to develop, build, and test code
  • Customize environment (if permitted) within constraints

Required Azure Roles

Role NamePurposeLearn more…
Dev Box UserGrants the ability to view, start, and use Dev Boxes assigned through Dev Box poolsDev Box User Role
Deployment Environments UserGrants the ability to view, start, and use Dev Boxes assigned through Dev Box poolsDeployment Environments User Role

Summary

Before deploying or using the Dev Box accelerator, ensure each role has the following:

  • Platform Engineers: Subscription access, network configuration, Dev Center ownership, and monitoring setup
  • Team Leads: RBAC permissions, Dev Box definitions and pools, image strategy, and group assignments
  • Developers: Assigned Entra ID group, portal access, and an understanding of the configured environment

For RBAC setup instructions, see:
Assign roles using Azure portal

1.2 - Framework and Tools requirements

Dev Box accelerator – Framework and Tools for development and deployment.

Overview

This document provides a reference table for key Azure development tools, along with direct links to their official documentation and installation guides.

TitleDescriptionOfficial Documentation LinkHow to Install Link
Microsoft Azure CLICommand-line tools for managing Azure resourcesAzure CLI DocumentationHow to install
Microsoft Azure Developer CLICommand-line tools for developers working with AzureAzure Dev CLI DocumentationHow to install
BicepDomain-specific language for deploying Azure resourcesBicep DocumentationHow to install
VS CodeSource-code editor developed by MicrosoftVS Code DocsHow to install

How to Install

Windows (via PowerShell and winget)

# Azure CLI
winget install --id Microsoft.AzureCLI

# Azure Developer CLI
winget install --id Microsoft.AzureDeveloperCLI

# Bicep CLI (requires Azure CLI)
az bicep install

# Visual Studio Code
winget install --id Microsoft.VisualStudioCode

Ubuntu (via Bash)

# Azure CLI
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

# Azure Developer CLI
curl -fsSL https://aka.ms/install-azd.sh | bash

# Bicep CLI (requires Azure CLI)
az bicep install

# Visual Studio Code
sudo apt update
sudo apt install wget gpg -y
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/
sudo sh -c 'echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
sudo apt update
sudo apt install code -y

2 - Quick Start

Deploy the Dev Box accelerator for demo and test environments

Before starting

This guide will help you quickly deploy the Dev Box accelerator in your Azure environment for evaluation and testing purposes.

Installation

Step 1: Fork the Required GitHub Repositories

Begin by forking the necessary GitHub repositories to your account.

# Dev Box accelerator repository
gh repo fork Evilazaro/DevExp-DevBox --clone --remote

# Identity Provider solution demo repository
gh repo fork Evilazaro/IdentityProvider --clone --remote

# eShop solution demo repository
gh repo fork Evilazaro/eShop --clone --remote

Step 2: Initialize Your Local Environment

Navigate to your cloned Dev Box repository directory and initialize the environment:

Windows (PowerShell)

# Change to recommended region for your location
$location = "eastus2"
$envName = "prod"

# Verify GitHub authentication
if (-not (gh auth status 2>&1 | Select-String "Logged in")) {
    Write-Host "Please login to GitHub first with 'gh auth login'" -ForegroundColor Red
    exit 1
}

# Create Azure Developer CLI environment
azd env new $envName --no-prompt

# Configure environment settings
Set-Content -Path ".\.azure\$envName\.env" -Value "AZURE_ENV_NAME='$envName'"

# Securely retrieve GitHub token
$pat = gh auth token
Add-Content -Path ".\.azure\$envName\.env" -Value "KEY_VAULT_SECRET='$pat'"
Add-Content -Path ".\.azure\$envName\.env" -Value "AZURE_LOCATION='$location'"

# Show current configuration (validates setup)
azd config show

Linux/macOS (Bash)

# Change to recommended region for your location
location="eastus2"
envName="prod"

# Verify GitHub authentication
if ! gh auth status &>/dev/null; then
    echo "Please login to GitHub first with 'gh auth login'"
    exit 1
fi

# Create Azure Developer CLI environment
azd env new "$envName" --no-prompt

# Configure environment settings
mkdir -p .azure/"$envName"
echo "AZURE_ENV_NAME='$envName'" > .azure/"$envName"/.env
pat=$(gh auth token)
echo "KEY_VAULT_SECRET='$pat'" >> .azure/"$envName"/.env
echo "AZURE_LOCATION='$location'" >> .azure/"$envName"/.env

# Show current configuration (validates setup)
azd config show

Step 3: Deploy the Accelerator

Once your environment is configured, deploy the accelerator:

# Deploy the accelerator
azd provision -e $envName