Skip to content

Commit 80d12c5

Browse files
author
RoseHJM
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into mdb-customizations-agentic-workflow
2 parents f8ddab6 + 82d6ab0 commit 80d12c5

40 files changed

+171
-44
lines changed
3.79 KB
Loading

articles/azure-functions/dotnet-isolated-in-process-differences.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ms.custom:
66
- devx-track-dotnet
77
- ignite-2023
88
ms.topic: conceptual
9-
ms.date: 08/03/2023
9+
ms.date: 05/06/2025
1010
recommendations: false
1111
#Customer intent: As a developer, I need to understand the differences between running in-process and running in an isolated worker process so that I can choose the best process model for my functions.
1212
---
@@ -37,7 +37,7 @@ Use the following table to compare feature and functional differences between th
3737
| Imperative bindings<sup>1</sup> | Not supported - instead [work with SDK types directly](./dotnet-isolated-process-guide.md#register-azure-clients) | [Supported](functions-dotnet-class-library.md#binding-at-runtime) |
3838
| Dependency injection | [Supported](dotnet-isolated-process-guide.md#dependency-injection) (improved model consistent with .NET ecosystem) | [Supported](functions-dotnet-dependency-injection.md) |
3939
| Middleware | [Supported](dotnet-isolated-process-guide.md#middleware) | Not supported |
40-
| Logging | [`ILogger<T>`]/[`ILogger`] obtained from [FunctionContext](/dotnet/api/microsoft.azure.functions.worker.functioncontext) or via [dependency injection](dotnet-isolated-process-guide.md#dependency-injection)| [`ILogger`] passed to the function<br/>[`ILogger<T>`] via [dependency injection](functions-dotnet-dependency-injection.md) |
40+
| Logging | [`ILogger<T>`]/[`ILogger`] obtained from [FunctionContext](/dotnet/api/microsoft.azure.functions.worker.functioncontext) or by using [dependency injection](dotnet-isolated-process-guide.md#dependency-injection)| [`ILogger`] passed to the function<br/>[`ILogger<T>`] by using [dependency injection](functions-dotnet-dependency-injection.md) |
4141
| Application Insights dependencies | [Supported](./dotnet-isolated-process-guide.md#application-insights) | [Supported](functions-monitoring.md#dependencies) |
4242
| Cancellation tokens | [Supported](dotnet-isolated-process-guide.md#cancellation-tokens) | [Supported](functions-dotnet-class-library.md#cancellation-tokens) |
4343
| Cold start times<sup>2</sup> | [Configurable optimizations](./dotnet-isolated-process-guide.md#performance-optimizations) | Optimized |
@@ -47,13 +47,13 @@ Use the following table to compare feature and functional differences between th
4747

4848
<sup>1</sup> When you need to interact with a service using parameters determined at runtime, using the corresponding service SDKs directly is recommended over using imperative bindings. The SDKs are less verbose, cover more scenarios, and have advantages for error handling and debugging purposes. This recommendation applies to both models.
4949

50-
<sup>2</sup> Cold start times could be additionally impacted on Windows when using some preview versions of .NET due to just-in-time loading of preview frameworks. This impact applies to both the in-process and out-of-process models but can be noticeable when comparing across different versions. This delay for preview versions isn't present on Linux plans.
50+
<sup>2</sup> Cold start times could be additionally affected on Windows when using some preview versions of .NET due to just-in-time loading of preview frameworks. This impact applies to both the in-process and out-of-process models but can be noticeable when comparing across different versions. This delay for preview versions isn't present on Linux plans.
5151

5252
<sup>3</sup> C# Script functions also run in-process and use the same libraries as in-process class library functions. For more information, see the [Azure Functions C# script (.csx) developer reference](functions-reference-csharp.md).
5353

5454
<sup>4</sup> Service SDK types include types from the [Azure SDK for .NET](/dotnet/azure/sdk/azure-sdk-for-dotnet) such as [BlobClient](/dotnet/api/azure.storage.blobs.blobclient).
5555

56-
<sup>5</sup> ASP.NET Core types are not supported for .NET Framework.
56+
<sup>5</sup> ASP.NET Core types aren't supported for .NET Framework.
5757

5858
[HttpRequest]: /dotnet/api/microsoft.aspnetcore.http.httprequest
5959
[IActionResult]: /dotnet/api/microsoft.aspnetcore.mvc.iactionresult
Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,50 @@
11
---
2-
title: Use key vault secrets in customization files
3-
description: Learn how to use Azure Key Vault secrets in team and user customization files to clone private repositories.
2+
title: Fetch Azure Key Vault Secrets from Dev Box Customizations Files
3+
description: Discover how to fetch Azure Key Vault secrets by using team and user customization files to enhance security and simplify workflows.
4+
#customer intent: As a platform engineer, I want to configure Azure Key Vault secrets so that my development teams can securely access private repositories during Dev Box customization.
45
author: RoseHJM
56
ms.author: rosemalcolm
67
ms.service: dev-box
78
ms.custom:
89
- ignite-2024
10+
- ai-gen-docs-bap
11+
- ai-gen-title
12+
- ai-seo-date:05/10/2025
13+
- ai-gen-description
914
ms.topic: how-to
10-
ms.date: 04/20/2025
11-
12-
#customer intent: As a Dev Center Admin or Project Admin, I want to create image definition files so that my development teams can create customized dev boxes.
15+
ms.date: 05/10/2025
1316
---
1417

15-
# Clone a private repository by using a customization file
18+
# Use Azure Key Vault secrets in customization files
1619

1720
[!INCLUDE [note-build-2025](includes/note-build-2025.md)]
1821

1922

20-
You can use secrets from your Azure key vault in your YAML customizations to clone private repositories, or with any custom task you author that requires an access token. In a team customization file, you can use a personal access token (PAT) stored in a key vault to access a private repository.
23+
You can use secrets from your Azure key vault in your YAML customizations to clone private repositories, or with any task you author that requires an access token. For example, in a team customization file, you can use a personal access token (PAT) stored in a key vault to access a private repository.
24+
25+
## Use key vault secrets in customization files
2126

22-
## Use key vault secrets in team customization files
27+
To use a secret, like a PAT, in your customization files, store your PAT as a key vault secret.
2328

24-
To clone a private repository, store your PAT as a key vault secret. See [Grant the managed identity access to the key vault secret](../deployment-environments/how-to-configure-managed-identity.md#grant-the-managed-identity-access-to-the-key-vault-secret), and use it when you invoke the `git-clone` task in your customization.
29+
Both team and user customizations support fetching secrets from a key vault. Team customizations, also known as image definition files, define the base image for the dev box with the `image` parameter, and list the tasks that run when a dev box is created. User customizations list the tasks that run when a dev box is created. The following examples show how to use a key vault secret in both types of customizations.
2530

26-
To configure your key vault secrets for use in your YAML customizations:
31+
To configure key vault secrets for use in your YAML customizations:
2732

2833
1. Ensure that your dev center project's managed identity has the Key Vault Reader role and the Key Vault Secrets User role on your key vault.
2934
2. Grant the Key Vault Secrets User role for the key vault secret to each user or user group that should be able to consume the secret during the customization of a dev box. The user or group granted the role must include the managed identity for the dev center, the admin's user account, and any user or group that needs the secret during dev box customization.
3035

31-
For more information, see:
36+
You can use a key vault secret in-line with the built-in PowerShell task:
3237

33-
- [Configure a managed identity for a dev center](../deployment-environments/how-to-configure-managed-identity.md#configure-a-managed-identity-for-a-dev-center)
34-
- [Grant the managed identity access to the key vault secret](../deployment-environments/how-to-configure-managed-identity.md#grant-the-managed-identity-access-to-the-key-vault-secret)
38+
```yml
39+
$schema: "1.0"
40+
image: microsoftwindowsdesktop_windows-ent-cpc_win11-24H2-ent-cpc
41+
tasks:
42+
- name: git-clone
43+
description: Clone this repository into C:\Workspaces
44+
parameters:
45+
command: MyCommand –MyParam '{{KEY_VAULT_SECRET_URI}}'
46+
```
47+
This example shows an image definition file. The `KEY_VAULT_SECRET_URI` is the URI of the secret in your key vault.
3548

3649
You can reference the secret in your YAML customization in the following format, which uses the `git-clone` task as an example:
3750

@@ -45,37 +58,34 @@ tasks:
4558
directory: C:\Workspaces
4659
pat: '{{KEY_VAULT_SECRET_URI}}'
4760
```
61+
This example shows a user customization file. There is no `image` specified.
4862

49-
## Use key vault secrets in user customization files
50-
51-
To clone a private Azure Repos repository from a user customization file, you don't need to configure a secret in Azure Key Vault. If you want to clone a private Azure Repos repository from a user customization file, you don't need to configure a secret in Azure Key Vault. Instead, you can use `{{ado}}` or `{{ado://your-ado-organization-name}}` as a parameter. This parameter fetches an access token on your behalf when you're creating a dev box. The access token has read-only permission to your repository.
52-
53-
The `git-clone` task in the quickstart catalog uses the access token to clone your repository. Here's an example:
63+
User customizations let you obtain an Azure DevOps token to clone private repositories without explicitly specifying a PAT from the key vault. The service automatically exchanges your Azure token for an Azure DevOps token at run time.
5464

5565
```yml
56-
tasks:
57-
- name: git-clone
58-
description: Clone this repository into C:\Workspaces
59-
parameters:
60-
repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
61-
directory: C:\Workspaces
62-
pat: '{{ado://YOUR_ADO_ORG}}'
63-
```
66+
$schema: "1.0"
67+
tasks:
68+
- name: git-clone
69+
description: Clone this repository into C:\Workspaces
70+
parameters:
71+
repositoryUrl: https://myazdo.visualstudio.com/MyProject/_git/myrepo
72+
directory: C:\Workspaces
73+
pat: '{{ado://YOUR_ORG_NAME}}'
74+
```
6475

65-
The dev center needs access to your key vault. Dev centers don't support service tags, so if your key vault is private, allow trusted Microsoft services to bypass the firewall.
76+
The Dev Box VS Code extension and Dev Box CLI don't support hydrating secrets in the inner-loop testing workflow for customizations.
6677

67-
Dev centers don't support service tags, so if the key vault is private, allow trusted Microsoft services to bypass the firewall.
78+
## Configure key vault access
6879

69-
:::image type="content" source="media/how-to-use-secrets-customization-files/trusted-services-bypass-firewall.png" alt-text="Screenshot that shows the option to allow trusted Microsoft services to bypass the firewall in Azure Key Vault settings." lightbox="media/how-to-use-secrets-customization-files/trusted-services-bypass-firewall.png":::
80+
The dev center needs access to your key vault. Because dev centers don't support service tags, if your key vault is private, let trusted Microsoft services bypass the firewall.
7081

71-
To learn how to allow trusted Microsoft services to bypass the firewall, see [Configure Azure Key Vault networking settings](/azure/key-vault/general/how-to-azure-key-vault-network-security).
82+
:::image type="content" source="media/how-to-use-secrets-customization-files/trusted-services-bypass-firewall.png" alt-text="Screenshot that shows the option to allow trusted Microsoft services to bypass the firewall in Azure Key Vault settings." lightbox="media/how-to-use-secrets-customization-files/trusted-services-bypass-firewall.png":::
7283

73-
## Share a customization file from a code repository
84+
To learn how to let trusted Microsoft services bypass the firewall, see [Configure Azure Key Vault networking settings](/azure/key-vault/general/how-to-azure-key-vault-network-security).
7485

75-
Make the customization file available to dev box pools by naming it *imagedefinition.yaml* and uploading it to the repository that hosts the catalog. When you create a dev box pool, you can select the customization file from the catalog to apply to the dev boxes in the pool.
7686

7787
## Related content
7888

7989
- [Microsoft Dev Box team customizations](concept-what-are-team-customizations.md)
8090
- [Configure imaging for Dev Box team customizations](how-to-configure-customization-imaging.md)
81-
- [Add and configure a catalog from GitHub or Azure Repos](../deployment-environments/how-to-configure-catalog.md)
91+
- Learn how to [add and configure a catalog from GitHub or Azure Repos](../deployment-environments/how-to-configure-catalog.md).

articles/frontdoor/apex-domain.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ ms.date: 03/31/2024
1010

1111
# Apex domains in Azure Front Door
1212

13+
**Applies to:** :heavy_check_mark: Front Door Standard :heavy_check_mark: Front Door Premium
14+
1315
Apex domains, also called *root domains*, or *naked domains*, are at the root of a Domain Name System (DNS) zone and don't contain subdomains. For example, `contoso.com` is an apex domain.
1416

1517
Azure Front Door supports apex domains, but requires special considerations. This article describes how apex domains work in Azure Front Door.

articles/frontdoor/billing.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ ms.date: 12/28/2023
1010

1111
# Understand Azure Front Door billing
1212

13+
**Applies to:** :heavy_check_mark: Front Door Standard :heavy_check_mark: Front Door Premium
14+
1315
Azure Front Door provides a rich set of features for your internet-facing workloads. Front Door helps you to accelerate your application's performance, improves your security, and provides you with tools to inspect and modify your HTTP traffic.
1416

1517
Front Door's billing model includes several components. Front Door charges a base fee for each profile that you deploy. You're also charged for requests and data transfer based on your usage. *Billing meters* collect information about your Front Door usage. Your monthly Azure bill aggregates the billing information across the month and applies the pricing to determine the amount you need to pay.

articles/frontdoor/domain.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ ms.author: jodowns
1010

1111
# Domains in Azure Front Door
1212

13+
**Applies to:** :heavy_check_mark: Front Door Standard :heavy_check_mark: Front Door Premium
14+
1315
A *domain* represents a custom domain name that Azure Front Door uses to receive your application's traffic. Azure Front Door supports adding three types of domain names:
1416

1517
- **Subdomains** are the most common type of custom domain name. An example subdomain is `myapplication.contoso.com`.

articles/frontdoor/endpoint.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ In Azure Front Door, an *endpoint* is a logical grouping of one or more routes a
1414

1515
## How many endpoints should I create?
1616

17+
**Applies to:** :heavy_check_mark: Front Door Standard :heavy_check_mark: Front Door Premium
18+
1719
A Front Door profile can contain multiple endpoints, but in many cases, a single endpoint might suffice.
1820

1921
Consider the following factors when planning your endpoints:

articles/frontdoor/how-to-enable-private-link-application-gateway.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ zone_pivot_groups: front-door-dev-exp-portal-ps-cli
1313

1414
# Connect Azure Front Door Premium to an Azure Application Gateway with Private Link
1515

16+
**Applies to:** :heavy_check_mark: Front Door Premium
17+
1618
This article guides you through the steps to configure an Azure Front Door Premium to connect privately to your Azure Application Gateway using Azure Private Link.
1719

1820
::: zone pivot="front-door-portal"

articles/frontdoor/how-to-enable-private-link-storage-static-website.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ zone_pivot_groups: front-door-dev-exp-portal-cli
1212

1313
# Connect Azure Front Door Premium to a storage static website with Private Link
1414

15+
**Applies to:** :heavy_check_mark: Front Door Premium
16+
1517
::: zone pivot="front-door-portal"
1618

1719
This article guides you through how to configure Azure Front Door Premium tier to connect to your storage static website privately using the Azure Private Link service.

articles/frontdoor/manager.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ ms.date: 11/13/2024
1010

1111
# What is Azure Front Door Manager?
1212

13+
**Applies to:** :heavy_check_mark: Front Door Standard :heavy_check_mark: Front Door Premium
14+
1315
Azure Front Door Manager in Azure Front Door Standard and Premium provides an overview of the endpoints configured for your Azure Front Door profile. With Front Door Manager, you can manage your collection of endpoints, configure routing rules, domains, origin groups, and apply security policies to protect your web application.
1416

1517
:::image type="content" source="./media/manager/manager.png" alt-text="Screenshot of the Azure Front Door Manager page." lightbox="./media/manager/manager-expanded.png":::

0 commit comments

Comments
 (0)