Quickstart: Configure Microsoft Dev Box

In this quickstart, you'll set up all the resources in Microsoft Dev Box to enable development teams to self-service their dev boxes. Learn how to create and configure a dev center, specify a dev box definition, and create a dev box pool. After you complete this quickstart, developers can use the developer portal to create and connect to a dev box.

A dev box acts as a day-to-day cloud-based workstation for the developer. A dev box is a virtual machine (VM) preconfigured with the tools and resources the developer needs for a project.

The process of setting up Microsoft Dev Box involves two distinct phases. In the first phase, platform engineers configure the necessary Microsoft Dev Box resources through the Azure portal. After this phase is complete, users can proceed to the next phase, creating and managing their dev boxes through the developer portal. This quickstart shows you how to complete the first phase.

The following graphic shows the steps required to configure Microsoft Dev Box in the Azure portal.

Graphic showing the stages required to configure Microsoft Dev Box.

First, you create a dev center and a project to organize your dev box resources. Next, you configure network components to enable dev boxes to connect to your organizational resources. Then, you create a dev box definition that is used to create dev boxes. After that, you create a dev box pool to define the network connection and dev box definition that dev boxes to use. Users who have access to a project can create dev boxes from the pools associated with that project.

If you already have a Microsoft Dev Box configured and you want to learn how to create and connect to dev boxes, refer to: Quickstart: Create a dev box by using the developer portal.

Prerequisites

To complete this quickstart, you need:

  • An Azure account with an active subscription. If you don't have an Azure subscription, create a free account before you begin.
  • Owner or Contributor role on an Azure subscription or resource group.
  • Microsoft Entra ID. Your organization must use Microsoft Entra ID for identity and access management.
  • User licenses. To use Dev Box, each user must be licensed for Windows 11 Enterprise or Windows 10 Enterprise, Microsoft Intune, and Microsoft Entra ID P1. These licenses are available independently and are included in the following subscriptions:
    • Microsoft 365 F3
    • Microsoft 365 E3, Microsoft 365 E5
    • Microsoft 365 A3, Microsoft 365 A5
    • Microsoft 365 Business Premium
    • Microsoft 365 Education Student Use Benefit
  • If your organization routes egress traffic through a firewall, open the appropriate ports. For more information, see Network requirements.

1. Create a dev center

To get started with Microsoft Dev Box, you first create a dev center. A dev center in Microsoft Dev Box provides a centralized place to manage the collection of projects, the configuration of available dev box images and sizes, and the networking settings to enable access to organizational resources.

Use the following steps to create a dev center so that you can manage your dev box resources:

  1. Sign in to the Azure portal.

  2. In the search box, enter dev centers. In the list of results, select Dev centers.

    Screenshot that shows the Azure portal with the search box and the result for dev centers.

  3. On the Dev centers page, select Create.

    Screenshot that shows the Azure portal with the Create button on the page for dev centers.

  4. On the Create a dev center pane, on the Basics tab, enter the following values:

    Name Value
    Subscription Select the subscription in which you want to create the dev center.
    ResourceGroup Select an existing resource group, or select Create new and then enter a name for the new resource group.
    Name Enter a name for your dev center.
    Location Select the location or region where you want the dev center to be created.

    Screenshot that shows the Basics tab on the pane for creating a dev center.

    For a list of the currently supported Azure locations with capacity, see Frequently asked questions about Microsoft Dev Box.

  5. (Optional) On the Tags tab, enter a name/value pair that you want to assign.

    Screenshot that shows the Tags tab on the page for creating a dev center.

  6. Select Review + Create.

  7. On the Review tab, select Create.

  8. Track the progress of the dev center creation from any page in the Azure portal by opening the Notifications pane.

    Screenshot that shows the Notifications pane in the Azure portal.

  9. When the deployment is complete, select Go to resource. Confirm that the dev center page appears.

Create a project

Dev box projects enable you to manage team-level settings. These settings include providing access to development teams so that developers can create dev boxes. Each dev center needs at least one project.

To create and configure a project in a dev box:

  1. Sign in to the Azure portal.

  2. In the search box, enter projects. In the list of results, select Projects.

  3. On the Projects page, select Create.

  4. On the Create a project pane, on the Basics tab, enter the following values:

    Name Value
    Subscription Select the subscription in which you want to create the project.
    Resource group Select an existing resource group, or select Create new and then enter a name for the new resource group.
    Dev center Select the dev center that you want to associate with this project. All the settings at the dev center level apply to the project.
    Name Enter a name for the project.
    Description Enter a brief description of the project.

    Screenshot that shows the Basics tab on the pane for creating a dev box project.

  5. On the Dev box management tab, ensure No is selected.
    You can select Yes to limit the number of dev boxes per developer, and specify the maximum number of dev boxes that a developer can create. The default, No, means developers can create an unlimited number of dev boxes.

  6. (Optional) On the Tags tab, enter a name/value pair that you want to assign.

  7. Select Review + Create.

  8. On the Review tab, select Create.

  9. Confirm that the project is created successfully by checking the notifications. Select Go to resource.

  10. Verify that the project appears on the Projects page.

As you create a project, you might see this informational message about catalogs:

Screenshot showing an informational message that reads The dev center that contains this project does not have a catalog assigned.

Because you're not configuring Deployment Environments, you can safely ignore this message.

2. Configure a network connection

To determine in which Azure region the developer workstations are hosted, you need to add at least one network connection to the dev center in Microsoft Dev Box. The dev boxes are hosted in the region that is associated with the network connection. The network connection also enables you to connect to existing virtual networks or resources hosted on-premises from within a dev box.

The following steps show you how to create and configure a network connection in Microsoft Dev Box.

Create a virtual network and subnet

You must have a virtual network and subnet available for your network connection. To create them:

  1. Sign in to the Azure portal.

  2. In the search box, enter virtual network. In the list of results, select Virtual Network.

  3. On the Virtual Network page, select Create.

  4. On the Create virtual network pane, on the Basics tab, enter the following values:

    Setting Value
    Subscription Select your subscription.
    Resource group Select an existing resource group, or select Create new and then enter a name for the new resource group.
    Name Enter a name for your virtual network.
    Region Enter the location or region where you want the virtual network to be created.

    Screenshot that shows the Basics tab on the pane for creating a virtual network in the Azure portal.

  5. On the IP Addresses tab, note the default IP address assignment and subnet. You can accept the defaults unless they conflict with your existing configuration.

  6. Select the Review + create tab. Review the virtual network and subnet configuration.

  7. Select Create.

Create the network connection

You now need a network connection to associate the virtual network and subnet with the dev center. A network connection specifies the type of join dev boxes use to join your Microsoft Entra domain, either a Microsoft Entra join or a hybrid Active Directory join. Choose a Microsoft Entra join unless you have a specific requirement for a hybrid join, like connecting to on-premises resources.

To create the network connection, complete the steps on the relevant tab.

  1. Sign in to the Azure portal.

  2. In the search box, enter network connections. In the list of results, select Network connections.

  3. On the Network connections page, select Create.

    Screenshot that shows the page for network connections and the button for creating a connection.

  4. On the Create a network connection pane, on the Basics tab, enter the following values:

    Name Value
    Domain join type Select Microsoft Entra join.
    Subscription Select the subscription in which you want to create the network connection.
    ResourceGroup Select an existing resource group, or select Create new and then enter a name for the new resource group.
    Name Enter a descriptive name for your network connection.
    Virtual network Select the virtual network that you want the network connection to use.
    Subnet Select the subnet that you want the network connection to use.

    Screenshot that shows the Basics tab on the pane for creating a network connection, including the option for Microsoft Entra join.

  5. Select Review + Create.

  6. On the Review tab, select Create.

  7. When the deployment is complete, select Go to resource. The network connection appears on the Network connections page.

Attach a network connection to a dev center

To provide network configuration information for dev boxes, associate a network connection with a dev center:

  1. Sign in to the Azure portal.

  2. In the search box, enter dev centers. In the list of results, select Dev centers.

  3. Select the dev center that you created, and then select Networking.

  4. Select + Add.

  5. On the Add network connection pane, select the network connection that you created, and then select Add.

After you attach a network connection, the Azure portal runs several health checks on the network. You can view the status of the checks on the network connection overview page. You can add network connections that pass all health checks to a dev center and use them to create dev box pools.

Screenshot that shows the status of a network connection.

To resolve any errors, see Troubleshoot Azure network connections.

Dev boxes automatically register with Microsoft Intune when they're created. If your network connection displays a warning for the Intune Enrollment Restrictions Allow Windows Enrollment test, check the Intune Windows platform restriction policy, as it might block you from provisioning.

Intune warning

To learn more, see Step 5 – Enroll devices in Microsoft Intune: Windows enrollment methods.

3. Create a dev box definition

Next, you create a dev box definition in the dev center. A dev box definition defines the VM image and the VM SKU (compute size + storage) that's used in the creation of the dev boxes. Depending on the type of development project or developer profiles, you can create multiple dev box definitions. For example, some developers might need a specific developer tool set, whereas others need a cloud workstation that has more compute resources.

The dev box definitions you create in a dev center are available for all projects associated with that dev center. You need to add at least one dev box definition to your dev center.

To create and configure a dev box definition for your dev center:

  1. Open the dev center in which you want to create the dev box definition.

  2. Select Dev box definitions.

  3. On the Dev box definitions page, select Create.

  4. On the Create dev box definition page, enter the following values:

    Name Value Note
    Name Enter a descriptive name for your dev box definition.
    Image Select the base operating system for the dev box. You can select an image from Azure Marketplace or from Azure Compute Gallery.
    If you're creating a dev box definition for testing purposes, consider using the Visual Studio 2022 Enterprise on Windows 11 Enterprise + Microsoft 365 Apps 22H2 image.
    To access custom images when you create a dev box definition, you can use Azure Compute Gallery. For more information, see Configure Azure Compute Gallery.
    Image version Select a specific, numbered version to ensure that all the dev boxes in the pool always use the same version of the image. Select Latest to ensure that new dev boxes use the latest image available. Selecting the Latest image version enables the dev box pool to use the most recent version of your chosen image from the gallery. This way, the created dev boxes stay up to date with the latest tools and code for your image. Existing dev boxes aren't modified when an image version is updated.
    Compute Select the compute combination for your dev box definition.
    Storage Select the amount of storage for your dev box definition.

    Screenshot that shows the page for creating a dev box definition.

  5. Select Create.

4. Create a dev box pool

Now that you've defined a network connection and dev box definition in your dev center, you can create a dev box pool in the project. A dev box pool is the collection of dev boxes that have the same settings, such as the dev box definition and network connection. Developers that have access to the project in the dev center, can then choose to create a dev box from a dev box pool.

You must associate at least one dev box pool with your project before users can create a dev box.

To create a dev box pool that's associated with a project:

  1. Sign in to the Azure portal.

  2. In the search box, enter projects. In the list of results, select Projects.

  3. Open the project in which you want to create the dev box pool.

    Screenshot that shows the list of existing projects.

  4. Select Dev box pools, and then select Create.

    Screenshot of an empty list of dev box pools within a project, along with selections to start creating a pool.

  5. On the Create a dev box pool pane, enter the following values:

    Name Value
    Name Enter a name for the pool. The pool name is visible to developers to select when they're creating dev boxes. It must be unique within a project.
    Dev box definition Select an existing dev box definition. The definition determines the base image and size for the dev boxes that are created in this pool.
    Network connection Select an existing network connection. The network connection determines the region of the dev boxes that are created in this pool.
    Dev box Creator Privileges Select Local Administrator or Standard User.
    Enable Auto-stop Yes is the default. Select No to disable an auto-stop schedule. You can configure an auto-stop schedule after the pool is created.
    Stop time Select a time to shut down all the dev boxes in the pool. All dev boxes in this pool shut down at this time every day.
    Time zone Select the time zone that the stop time is in.
    Licensing Select this checkbox to confirm that your organization has Azure Hybrid Benefit licenses that you want to apply to the dev boxes in this pool.

    Screenshot of the pane for creating a dev box pool.

  6. Select Create.

  7. Verify that the new dev box pool appears in the list. You might need to refresh the screen.

The Azure portal deploys the dev box pool and runs health checks to ensure that the image and network pass the validation criteria for dev boxes. The following screenshot shows four dev box pools, each with a different status.

Screenshot that shows a list of dev box pools and status information.

5. Provide access to a dev box project

Before users can create dev boxes based on the dev box pools in a project, you must provide access for them through a role assignment. The Dev Box User role enables dev box users to create, manage, and delete their own dev boxes. You grant access for the user at the level of the project.

You must have sufficient permissions to a project before you can add users to it.

To assign roles:

  1. Sign in to the Azure portal.

  2. In the search box, enter projects. In the list of results, select Projects.

  3. Select the project that you want to give team members access to.

    Screenshot of the list of existing projects.

  4. On the left menu, select Access control (IAM).

    Screenshot that shows the page for project access control.

  5. On the command bar, select Add > Add role assignment.

  6. Assign the following role. For detailed steps, see Assign Azure roles using the Azure portal.

    Setting Value
    Role Select DevCenter Dev Box User.
    Assign access to Select User, group, or service principal.
    Members Select the users or groups that you want to be able to access to the project.

    Screenshot that shows the pane for adding a role assignment.

    The user can now view the project and all the pools within it. The user can create dev boxes from any of the pools and manage those dev boxes from the developer portal.

Note

Microsoft Dev Box supports work and school accounts. It doesn't support the use of guest accounts or personal accounts.

Project Admins

Microsoft Dev Box makes it possible for you to delegate administration of projects to a member of the project team. Project administrators can assist with the day-to-day management of projects for their teams. They can create and manage dev box pools, set dev box limits, and configure auto-stop schedules. To give users permissions to manage projects, assign the DevCenter Project Admin role to them.

You can assign the DevCenter Project Admin role by using the steps described earlier in 5. Provide access to a dev box project and select the Project Admin role instead of the Dev Box User role. For more information, see Provide access to projects for project admins.

Important

A user who is assigned the Dev Box User role or the Project Admin role can create a dev box.

Next step

In this quickstart, you configured the Microsoft Dev Box resources that are required to enable users to create their own dev boxes. To learn how to create and connect to a dev box, advance to the next quickstart: