Skip to content

Commit a6f23aa

Browse files
author
JiayueHu
authored
Merge pull request #207860 from MicrosoftDocs/release-preview-dev-box
Release preview dev box--scheduled release at 7AM of 8/15
2 parents a460d4d + f1ae4d9 commit a6f23aa

File tree

81 files changed

+1044
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1044
-1
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: Microsoft Dev Box key concepts
3+
titleSuffix: Microsoft dev box
4+
description: Learn key concepts and terminology for Microsoft Dev Box.
5+
services: dev-box
6+
ms.service: dev-box
7+
author: RoseHJM
8+
ms.author: rosemalcolm
9+
ms.topic: conceptual
10+
ms.date: 08/10/2022
11+
ms.custom: template-concept
12+
---
13+
14+
<!--
15+
Customer intent:
16+
As a developer I want to understand Dev Box concepts and terminology so that I can set up Dev Box environment.
17+
-->
18+
# Microsoft Dev Box key concepts
19+
20+
This article describes the key concepts and components of Microsoft Dev Box.
21+
22+
## Dev center
23+
24+
A dev center is a collection of projects that require similar settings. Dev centers enable dev infrastructure managers to manage the images and SKUs available to the projects using [dev box definitions](concept-dev-box-concepts.md#dev-box-definition), and configure the networks the development teams consume using [network connections](./concept-dev-box-concepts.md#network-connection).
25+
26+
## Projects
27+
28+
A project is the point of access for the development team members. When you associate a project with a dev center, all the settings at the dev center level will be applied to the project automatically. Each project can be associated with only one dev center. Dev managers can configure the dev boxes available for the project by specifying the [dev box definitions](./concept-dev-box-concepts.md#dev-box-definition) appropriate for their workloads.
29+
30+
## Dev box definition
31+
32+
A dev box definition specifies a source image and size, including compute size and storage size. You can use a source image from the marketplace, or a custom image from your own [Azure Compute Gallery](./how-to-configure-azure-compute-gallery.md). You can use dev box definitions across multiple projects in a dev center.
33+
34+
## Network connection
35+
36+
IT administrators and dev infrastructure managers configure the network used for dev box creation in accordance with their organizational policies. Network connections store configuration information like Active Directory join type and virtual network that dev boxes use to connect to network resources.
37+
38+
When creating a network connection, you must choose whether to use a native Azure Active Directory (Azure AD) join or a hybrid Azure AD join. If your dev boxes need to connect exclusively to cloud-based resources, use a native Azure AD join. Use a hybrid Azure AD join if your dev boxes need to connect to on-premises resources and cloud-based resources. To learn more about Azure AD and hybrid Azure AD joined devices, [Plan your Azure Active Directory device deployment](/azure/active-directory/devices/plan-device-deployment).
39+
40+
The virtual network specified in a network connection also determines the region for the dev box. You can create multiple network connections based on the regions where you support developers and use them when creating different dev box pools to ensure dev box users create a dev box in a region close to them. Using a region close to the dev box user provides the best experience.
41+
42+
## Dev box pool
43+
A dev box pool is a collection of dev boxes that you manage together that you manage together and to which you apply similar settings. You can create multiple dev box pools to support the needs of hybrid teams working in different regions or on different workloads.
44+
45+
## Dev box
46+
A dev box is a preconfigured ready-to-code workstation that you create through the self-service developer portal. The new dev box has all the tools, binaries, and configuration required for a dev box user to be productive immediately. You can create and manage multiple dev boxes to work on multiple work streams. As a dev box user you have control over your own dev boxes - you can create more as you need them, and delete them when you have finished using them.
Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
---
2+
title: Configure an Azure Compute Gallery
3+
titleSuffix: Microsoft Dev Box
4+
description: 'Learn how to create a repository for managing and sharing Dev Box images.'
5+
services: dev-box
6+
ms.service: dev-box
7+
author: RoseHJM
8+
ms.author: rosemalcolm
9+
ms.date: 07/28/2022
10+
ms.topic: how-to
11+
---
12+
13+
# Configure an Azure Compute Gallery
14+
15+
An Azure Compute Gallery is a repository in Azure for managing and sharing images. It's stored in your Azure subscription and helps you build structure and organization around your image resources. You can use Azure Compute Gallery to provide custom images for your dev box users.
16+
17+
Advantages of using a gallery include:
18+
- You maintain the images in a single location and use them across dev centers, projects, and pools.
19+
- Development teams can use the *latest* image version of an image definition to ensure they always receive the most recent image when creating dev boxes.
20+
- Development teams can use a specific image version to standardize on a supported image version until a newer version is validated.
21+
22+
23+
You can learn more about Azure Compute Galleries and how to create them here:
24+
- [Store and share images in an Azure Compute Gallery](../virtual-machines/shared-image-galleries.md)
25+
- [Create a gallery for storing and sharing resources](../virtual-machines/create-gallery.md#create-a-gallery-for-storing-and-sharing-resources)
26+
27+
## Pre-requisites
28+
- A dev center. If don't have an available dev center, follow these steps: [Create a dev center](./quickstart-configure-dev-box-service.md#create-a-dev-center).
29+
- An Azure Compute Gallery. In order to use this gallery to configure Dev Box definitions, it must have at least [one image definition and one image version](../virtual-machines/image-version.md).
30+
- The image definition must have [Trusted Launch enabled as the Security Type](../virtual-machines/trusted-launch.md). You configure the security type when creating the image definition.
31+
- The image version must meet the [Windows 365 image requirements](/windows-365/enterprise/device-images#image-requirements).
32+
- Generation 2
33+
- Hyper-V v2
34+
- Windows OS
35+
- Generalized image
36+
37+
:::image type="content" source="media/how-to-configure-azure-compute-gallery/image-definition.png" alt-text="Screenshot showing the Windows 365 image requirement settings.":::
38+
39+
> [!IMPORTANT]
40+
> If you have existing images that do not meet the Windows 365 image requirements, those images will not be listed for image creation.
41+
42+
## Provide permissions for services to access the gallery
43+
When using an Azure Compute Gallery image to create a dev box definition, the Windows 365 service validates the image to ensure that it meets the requirements to be provisioned for a dev box. In addition, the Dev Box service replicates the image to the regions specified in the attached network connections so the images are present in the region required for dev box creation.
44+
45+
To allow the services to perform these actions, you must provide permissions to your gallery as follows:
46+
47+
### Add a user assigned identity to dev center
48+
1. Use these steps to [Create a user-assigned managed identity](/azure/active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp#create-a-user-assigned-managed-identity).
49+
1. Sign in to the [Azure portal](https://portal.azure.com).
50+
1. In the search box, type *Dev box* and select **Dev centers** from the list.
51+
1. Open your DevCenter and select **Identity** from the left menu.
52+
1. On the **User assigned** tab, select **+ Add**.
53+
1. In Add user assigned managed identity, select the user-assigned managed identity that you created in step 1 and then select **Add**.
54+
55+
:::image type="content" source="media/how-to-configure-azure-compute-gallery/assign-managed-id.png" alt-text="Screenshot showing the Add user assigned managed identity pane, with the managed ID highlighted.":::
56+
57+
### How does the Dev Box service assign permissions?
58+
The Dev Box service behaves differently depending how you attach your gallery.
59+
- When you use the Azure portal to attach the gallery to your Dev center, the Dev Box service creates the necessary role assignments automatically when you attach the gallery.
60+
- When you use the CLI to attach the gallery to your Dev center, you must manually create the Windows 365 Service Principal and dev center Managed Identity role assignments before attempting to attach the gallery.
61+
62+
Follow these steps to manually assign each role:
63+
64+
#### Windows 365 Service Principal
65+
1. Sign in to the [Azure portal](https://portal.azure.com).
66+
67+
1. In the search box, type *Azure Compute Gallery* and select the gallery you want to attach to the dev center.
68+
69+
1. Select the **Access Control (IAM)** menu item.
70+
71+
1. Select **+ Add** > **Add role assignment**.
72+
73+
1. On the Role tab, select **Reader**, and then select **Next**.
74+
75+
1. On the Members tab, select **+ Select Members**.
76+
77+
1. In Select members, search for and select **Cloud PC**, and then select **Select**.
78+
79+
1. On the Members tab, select **Next**.
80+
81+
1. On the Review + assign tab, select **Review + assign**.
82+
83+
#### Dev center Managed Identity
84+
1. Open the gallery you want to attach to the dev center from the [Azure portal](https://ms.portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Compute%2Fgalleries). You can also search for Azure Compute Galleries to find your gallery.
85+
86+
1. Select **Access Control (IAM)** from the left menu.
87+
88+
1. Select **+ Add** > **Add role assignment**.
89+
90+
1. On the Role tab, select the **Owner** role, and then select **Next**.
91+
92+
1. On the Members tab, under **Assign access to**, select **Managed Identity**, and then select **+ Select Members**.
93+
94+
1. In Select managed identities, search for and select the user assigned managed identity you created in "Create a Dev center Managed Identity" and then select
95+
**Select**.
96+
97+
1. On the Members tab, select **Next**.
98+
99+
1. On the Review + assign tab, select **Review + assign**.
100+
101+
You can use the same managed identity in multiple DevCenters and Azure Compute Galleries. Any DevCenter with the managed identity added will have the necessary permissions to the images in the Azure Compute Gallery you've added the owner role assignment to.
102+
103+
## Attach a gallery to a dev center
104+
In order to use the images from a gallery in dev box definitions, you must first associate it with the dev center.
105+
106+
1. Sign in to the [Azure portal](https://portal.azure.com).
107+
108+
2. In the search box, type *Dev box* and select **Dev centers** from the list.
109+
110+
3. Select the dev center you want to attach the gallery to.
111+
112+
:::image type="content" source="media/how-to-configure-azure-compute-gallery/devcenter-grid.png" alt-text="Screenshot showing the list of existing dev centers.":::
113+
114+
4. From the left menu, select **Azure compute galleries** to list the galleries attached to this dev center.
115+
116+
:::image type="content" source="media/how-to-configure-azure-compute-gallery/gallery-grid-empty.png" alt-text="Screenshot showing the Azure compute galleries page. There are no existing Azure compute galleries.":::
117+
118+
5. Select **+ Add** to select a gallery to attach.
119+
120+
6. In Add Azure compute gallery, select your gallery. If you have access to more than one gallery with the same name, the subscription name is shown in parentheses.
121+
122+
:::image type="content" source="media/how-to-configure-azure-compute-gallery/gallery-add.png" alt-text="Screenshot showing the Select a Gallery to add option.":::
123+
124+
7. If there's a name conflict in the dev center, then you must provide a unique name to use for this gallery.
125+
126+
8. Select **Add**.
127+
128+
:::image type="content" source="media/how-to-configure-azure-compute-gallery/gallery-grid.png" alt-text="Screenshot showing the Azure compute galleries page with example galleries listed.":::
129+
130+
After successful addition, the images in the gallery will be available to select from when creating and updating dev box definitions.
131+
132+
## Remove a gallery from a dev center
133+
You can detach galleries from dev centers so that their images can no longer be used to create dev box definitions in the dev center. Galleries that are being actively used in dev box definitions cannot be removed from the dev center. The associated dev box definition must be deleted or updated to use an image from a different gallery before you can remove the gallery.
134+
135+
1. Sign in to the [Azure portal](https://portal.azure.com).
136+
137+
2. In the search box, type *Dev box* and select **Dev centers** from the list.
138+
139+
3. Select the dev center you want to remove the gallery from.
140+
141+
4. From the left menu, select **Azure compute galleries** to list the galleries attached to this dev center.
142+
143+
5. Select the gallery you want to remove, and then select **Remove**.
144+
145+
:::image type="content" source="media/how-to-configure-azure-compute-gallery/remove-gallery-from-devcenter.png" alt-text="Screenshot showing the Azure compute galleries page with a gallery selected and the Remove button highlighted.":::
146+
147+
6. Select **Continue** from the confirmation dialog.
148+
149+
The gallery will be detached from the dev center. The gallery and its images won't be deleted, and you can reattach it if necessary.
150+
151+
## Next steps
152+
Learn more about Microsoft Dev Box:
153+
- [Microsoft Dev Box key concepts](./concept-dev-box-concepts.md)
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
title: Provide access to dev box users
3+
titleSuffix: Microsoft Dev Box
4+
description: Learn how to provide access to projects for dev box users so that they can create and manage dev boxes.
5+
services: dev-box
6+
ms.service: dev-box
7+
author: RoseHJM
8+
ms.author: rosemalcolm
9+
ms.date: 04/15/2022
10+
ms.topic: how-to
11+
---
12+
13+
# Provide access to projects for dev box users
14+
15+
Team members must have access to a specific Dev Box project before they can create dev boxes. By using the built-in DevCenter Dev Box User role, you can assign permissions to Active Directory Users or Groups at the project level.
16+
17+
A DevCenter Dev Box User can:
18+
19+
- View pools within a project.
20+
- Create dev boxes.
21+
- Connect to a dev box.
22+
- Manage dev boxes that they created.
23+
- Delete dev boxes that they created.
24+
25+
## Assign permissions to dev box users
26+
27+
1. Sign in to the [Azure portal](https://portal.azure.com).
28+
29+
1. In the search box, type *Dev box* and select **Projects**.
30+
31+
1. Select the project you want to provide your team members access to.
32+
33+
:::image type="content" source="./media/how-to-dev-box-user/projects-grid.png" alt-text="Screenshot showing the list of existing projects.":::
34+
35+
1. Select **Access Control (IAM)** from the left menu.
36+
37+
:::image type="content" source="./media/how-to-dev-box-user/access-control-tab.png " alt-text="Screenshot showing the Project Access control page with the Access Control link highlighted.":::
38+
39+
1. Select **Add** > **Add role assignment**.
40+
41+
:::image type="content" source="./media/how-to-dev-box-user/add-role-assignment.png" alt-text="Screenshot showing the Add menu with Add role assignment highlighted.":::
42+
43+
1. On the Add role assignment page, on the Role tab, search for *devcenter dev box user*, select the **DevCenter Dev Box User** built-in role, and then select **Next**.
44+
45+
:::image type="content" source="./media/how-to-dev-box-user/dev-box-user-role.png" alt-text="Screenshot showing the search box.":::
46+
47+
1. On the Members tab, select **+ Select Members**.
48+
49+
:::image type="content" source="./media/how-to-dev-box-user/dev-box-user-select-members.png" alt-text="Screenshot showing the Members tab with Select members highlighted.":::
50+
51+
1. In **Select members**, select the Active Directory Users or Groups you want to add, and then select **Select**.
52+
53+
:::image type="content" source="./media/how-to-dev-box-user/select-members-search.png" alt-text="Screenshot showing the Select members pane with a user account highlighted.":::
54+
55+
1. On the Members tab, select **Review + assign**.
56+
57+
The user will now be able to view the project and all the pools within it. Dev box users can create dev boxes from any of the pools and manage those dev boxes from the [developer portal](https://aka.ms/devbox-portal).
58+
59+
[!INCLUDE [dev box runs on creation note](./includes/note-dev-box-runs-on-creation.md)]
60+
## Next steps
61+
62+
- [Quickstart: Create a dev box by using the developer portal](quickstart-create-dev-box.md)
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
title: Manage Dev Box projects
3+
titleSuffix: Microsoft Dev Box
4+
description: Learn how to manage multiple projects by delegating permissions to project admins.
5+
services: dev-box
6+
ms.service: dev-box
7+
author: RoseHJM
8+
ms.author: rosemalcolm
9+
ms.date: 07/29/2022
10+
ms.topic: how-to
11+
---
12+
13+
# Provide access to projects for project admins
14+
15+
You can create multiple projects in the dev center to align with each team's specific requirements. By using the built-in DevCenter Project Admin role, you can delegate project administration to a member of a team. Project Admins can use the network connections and dev box definitions configured at the dev center level to create and manage dev box pools within their project.
16+
17+
A Dev Center Project Admin can manage a project by:
18+
19+
- Viewing the network connections attached to the dev center.
20+
- Viewing the dev box definitions attached to the dev center.
21+
- Creating, viewing, updating, deleting dev box pools in the project.
22+
23+
## Assign permissions to project admins
24+
25+
Follow the instructions below to add role assignments for this role.
26+
27+
1. Sign in to the [Azure portal](https://portal.azure.com).
28+
29+
1. In the search box, type *Dev box* and select **Projects**.
30+
31+
1. Select the project you want to provide your team members access to.
32+
33+
:::image type="content" source="./media/how-to-project-admin/projects-grid.png" alt-text="Screenshot showing the list of existing projects.":::
34+
35+
1. Select **Access Control (IAM)** from the left menu.
36+
37+
:::image type="content" source="./media/how-to-project-admin/access-control-tab.png" alt-text="Screenshot showing the Project Access control page with the Access Control link highlighted.":::
38+
39+
1. Select **Add** > **Add role assignment**.
40+
41+
:::image type="content" source="./media/how-to-project-admin/add-role-assignment.png" alt-text="Screenshot showing the Add menu with Add role assignment highlighted.":::
42+
43+
1. On the Add role assignment page, on the Role tab, search for *devcenter project admin*, select the **DevCenter Project Admin** built-in role, and then select **Next**.
44+
45+
:::image type="content" source="./media/how-to-project-admin/project-admin-role.png" alt-text="Screenshot showing the search box highlighted.":::
46+
47+
1. On the Members tab, select **+ Select Members**.
48+
49+
:::image type="content" source="./media/how-to-project-admin/project-admin-select-members.png" alt-text="Screenshot showing the Members tab with Select members highlighted.":::
50+
51+
1. In **Select members**, select the Active Directory Users or Groups you want to add, and then select **Select**.
52+
53+
:::image type="content" source="./media/how-to-project-admin/select-members-search.png" alt-text="Screenshot showing the Select members pane with a user account highlighted.":::
54+
55+
1. On the Members tab, select **Review + assign**.
56+
57+
The user will now be able to manage the project and create dev box pools within it.
58+
59+
[!INCLUDE [permissions note](./includes/note-permission-to-create-dev-box.md)]
60+
## Next steps
61+
62+
- [Quickstart: Configure the Microsoft Dev Box service](quickstart-configure-dev-box-service.md)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
author: RoseHJM
3+
ms.author: rosemalcolm
4+
ms.date: 08/11/2022
5+
ms.topic: include
6+
ms.service: dev-box
7+
---
8+
9+
> [!IMPORTANT]
10+
> A dev box is automatically started and running when the creation process completes. Dev boxes incur costs whenever they are running.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
author: RoseHJM
3+
ms.author: rosemalcolm
4+
ms.date: 07/29/2022
5+
ms.topic: include
6+
ms.service: dev-box
7+
---
8+
9+
> [!IMPORTANT]
10+
> Users assigned the Dev Box User role or Project Admin role can create dev boxes.

0 commit comments

Comments
 (0)