Skip to content

Commit 1810159

Browse files
author
gitName
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into awsc
2 parents 621804e + a9e147f commit 1810159

File tree

157 files changed

+1200
-899
lines changed

Some content is hidden

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

157 files changed

+1200
-899
lines changed

articles/app-service/app-service-web-configure-tls-mutual-auth.md

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.custom: devx-track-csharp, devx-track-extended-java, devx-track-js, devx-trac
1212
---
1313
# Configure TLS mutual authentication for Azure App Service
1414

15-
You can restrict access to your Azure App Service app by enabling different types of authentication for it. One way to do it is to request a client certificate when the client request is over TLS/SSL and validate the certificate. This mechanism is called TLS mutual authentication or client certificate authentication. This article shows how to set up your app to use client certificate authentication.
15+
You can restrict access to your Azure App Service app by enabling different types of authentication for it. One way to do it is to request a client certificate when the client request is over TLS/SSL and validate the certificate. This mechanism is called Transport Layer Security (TLS) mutual authentication or client certificate authentication. This article shows how to set up your app to use client certificate authentication.
1616

1717
> [!NOTE]
1818
> Your app code is responsible for validating the client certificate. App Service doesn't do anything with this client certificate other than forwarding it to your app.
@@ -22,27 +22,28 @@ You can restrict access to your Azure App Service app by enabling different type
2222
[!INCLUDE [Prepare your web app](../../includes/app-service-ssl-prepare-app.md)]
2323

2424
## Enable client certificates
25-
26-
To set up your app to require client certificates:
27-
28-
1. From the left navigation of your app's management page, select **Configuration** > **General Settings**.
29-
30-
1. Select **Client certificate mode** of choice. Select **Save** at the top of the page.
25+
When you enable client certificate for your app, you should select your choice of client certificate mode. Each mode defines how your app handles incoming client certificates:
3126

3227
|Client certificate modes|Description|
3328
|-|-|
3429
|Required|All requests require a client certificate.|
35-
|Optional|Requests may or may not use a client certificate. Clients will be prompted for a certificate by default. For example, browser clients will show a prompt to select a certificate for authentication.|
36-
|Optional Interactive User|Requests may or may not use a client certificate. Clients will not be prompted for a certificate by default. For example, browser clients will not show a prompt to select a certificate for authentication.|
30+
|Optional|Requests may or may not use a client certificate and clients are prompted for a certificate by default. For example, browser clients will show a prompt to select a certificate for authentication.|
31+
|Optional Interactive User|Requests may or may not use a client certificate and clients are not prompted for a certificate by default. For example, browser clients won't show a prompt to select a certificate for authentication.|
32+
33+
### [Azure portal](#tab/azureportal)
34+
To set up your app to require client certificates in Azure portal:
35+
1. Navigate to your app's management page.
36+
1. From the left navigation of your app's management page, select **Configuration** > **General Settings**.
37+
1. Select **Client certificate mode** of choice. Select **Save** at the top of the page.
3738

3839
### [Azure CLI](#tab/azurecli)
39-
To do the same with Azure CLI, run the following command in the [Cloud Shell](https://shell.azure.com):
40+
With Azure CLI, run the following command in the [Cloud Shell](https://shell.azure.com):
4041

4142
```azurecli-interactive
4243
az webapp update --set clientCertEnabled=true --name <app-name> --resource-group <group-name>
4344
```
44-
### [Bicep](#tab/bicep)
4545

46+
### [Bicep](#tab/bicep)
4647
For Bicep, modify the properties `clientCertEnabled`, `clientCertMode`, and `clientCertExclusionPaths`. A sample Bicep snippet is provided for you:
4748

4849
```bicep
@@ -63,7 +64,6 @@ resource appService 'Microsoft.Web/sites@2020-06-01' = {
6364
```
6465

6566
### [ARM template](#tab/arm)
66-
6767
For ARM templates, modify the properties `clientCertEnabled`, `clientCertMode`, and `clientCertExclusionPaths`. A sample ARM template snippet is provided for you:
6868

6969
```ARM
@@ -93,6 +93,9 @@ For ARM templates, modify the properties `clientCertEnabled`, `clientCertMode`,
9393

9494
When you enable mutual auth for your application, all paths under the root of your app require a client certificate for access. To remove this requirement for certain paths, define exclusion paths as part of your application configuration.
9595

96+
> [!NOTE]
97+
> Using any client certificate exclusion path triggers TLS renegotiation for incoming requests to the app.
98+
9699
1. From the left navigation of your app's management page, select **Configuration** > **General Settings**.
97100

98101
1. Next to **Certificate exclusion paths**, select the edit icon.
@@ -105,6 +108,29 @@ In the following screenshot, any path for your app that starts with `/public` do
105108

106109
![Certificate Exclusion Paths][exclusion-paths]
107110

111+
## Client certificate and TLS renegotiation
112+
App Service requires TLS renegotiation to read a request before knowing whether to prompt for a client certificate. Any of the following settings triggers TLS renegotiation:
113+
1. Using "Optional Interactive User" client certificate mode.
114+
1. Using [client certificate exclusion path](#exclude-paths-from-requiring-authentication).
115+
116+
> [!NOTE]
117+
> TLS 1.3 and HTTP 2.0 don't support TLS renegotiation. These protocols will not work if your app is configured with client certificate settings that use TLS renegotiation.
118+
119+
To disable TLS renegotiation and to have the app negotiate client certificates during TLS handshake, you must configure your app with *all* these settings:
120+
1. Set client certificate mode to "Required" or "Optional"
121+
2. Remove all client certificate exclusion paths
122+
123+
### Uploading large files with TLS renegotiation
124+
Client certificate configurations that use TLS renegotiation cannot support incoming requests with large files greater than 100 kb due to buffer size limitations. In this scenario, any POST or PUT requests over 100 kb will fail with a 403 error. This limit isn't configurable and can't be increased.
125+
126+
To address the 100 kb limit, consider these alternative solutions:
127+
128+
1. Update your app's client certificate configurations with _all_ these settings:
129+
- Set client certificate mode to either "Required" or "Optional"
130+
- Remove all client certificate exclusion paths
131+
1. Send a HEAD request before the PUT/POST request. The HEAD request handles the client certificate.
132+
1. Add the header `Expect: 100-Continue` to your request. This causes the client to wait until the server responds with a `100 Continue` before sending the request body, which bypasses the buffers.
133+
108134
## Access client certificate
109135

110136
In App Service, TLS termination of the request happens at the frontend load balancer. When App Service forwards the request to your app code with [client certificates enabled](#enable-client-certificates), it injects an `X-ARR-ClientCert` request header with the client certificate. App Service doesn't do anything with this client certificate other than forwarding it to your app. Your app code is responsible for validating the client certificate.

articles/azure-resource-manager/templates/template-functions-logical.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,8 @@ Returns second parameter when first parameter is **True**; otherwise, returns th
144144

145145
When the condition is **True**, only the true value is evaluated. When the condition is **False**, only the false value is evaluated. With the `if` function, you can include expressions that are only conditionally valid. For example, you can reference a resource that exists under one condition but not under the other condition. An example of conditionally evaluating expressions is shown in the following section.
146146

147+
Note that the above **only** applies when the condition can be evaluated at template start, for example you cannot use a `reference()` in the condition.
148+
147149
### Examples
148150

149151
The following example shows how to use the `if` function.

articles/azure-vmware/azure-vmware-solution-horizon.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Deploy Horizon on Azure VMware Solution
33
description: Learn how to deploy VMware Horizon on Azure VMware Solution.
44
ms.topic: how-to
55
ms.service: azure-vmware
6-
ms.date: 4/1/2024
6+
ms.date: 01/09/2025
77
ms.custom: engagement-fy23
88
---
99

@@ -12,27 +12,27 @@ ms.custom: engagement-fy23
1212
>[!NOTE]
1313
>This document focuses on the VMware Horizon product, formerly known as Horizon 7. Horizon is a different solution than Horizon Cloud on Azure, although there are some shared components. Key advantages of the Azure VMware Solution include both a more straightforward sizing method and the integration of Software-Defined Data Center (SDDC) private cloud management into the Azure portal.
1414
15-
[VMware Horizon](https://www.vmware.com/products/horizon.html)®, a virtual desktop and applications platform, runs in the data center and provides simple and centralized management. It delivers virtual desktops and applications on any device, anywhere. Horizon lets you create, and broker connections to Windows and Linux virtual desktops, Remote Desktop Server (RDS) hosted applications, desktops, and physical machines.
15+
[VMware Horizon](https://www.omnissa.com/products/horizon-8/)®, a virtual desktop and applications platform, runs in the data center and provides simple and centralized management. It delivers virtual desktops and applications on any device, anywhere. Horizon lets you create, and broker connections to Windows and Linux virtual desktops, Remote Desktop Server (RDS) hosted applications, desktops, and physical machines.
1616

1717
Here, we focus specifically on deploying Horizon on Azure VMware Solution. For general information on VMware Horizon, refer to the Horizon production documentation:
1818

19-
* [What is VMware Horizon?](https://www.vmware.com/products/horizon.html)
19+
* [What is VMware Horizon?](https://www.omnissa.com/products/horizon-8/)
2020

21-
* [Learn more about VMware Horizon](https://docs.vmware.com/en/VMware-Horizon/index.html)
21+
* [Learn more about VMware Horizon](https://docs.omnissa.com/category/Horizon_8)
2222

23-
* [Horizon Reference Architecture](https://techzone.vmware.com/resource/workspace-one-and-horizon-reference-architecture)
23+
* [Horizon Reference Architecture](https://techzone.omnissa.com/reference-architecture)
2424

2525
With Horizon's introduction on Azure VMware Solution, there are now two Virtual Desktop Infrastructure (VDI) solutions on the Azure platform:
2626

2727
* VMware Horizon on Azure VMware Solution
2828

2929
* VMware Horizon Cloud (Desktop-as-a-Service Model)
3030

31-
Horizon 2006 and later versions on the Horizon 8 release line supports both on-premises and Azure VMware Solution deployment. There are a few Horizon features that are supported on-premises but not on Azure VMware Solution. Other products in the Horizon ecosystem are also supported. For more information, see [feature parity and interoperability](https://kb.vmware.com/s/article/80850).
31+
Horizon 2006 and later versions on the Horizon 8 release line supports both on-premises and Azure VMware Solution deployment. There are a few Horizon features that are supported on-premises but not on Azure VMware Solution. Other products in the Horizon ecosystem are also supported. For more information, see [feature parity and interoperability](https://kb.omnissa.com/s/article/80850).
3232

3333
## Deploy Horizon in a hybrid cloud
3434

35-
You can deploy Horizon in a hybrid cloud environment by using Horizon Cloud Pod Architecture (CPA) to interconnect on-premises and Azure data centers. CPA scales up your deployment, builds a hybrid cloud, and provides redundancy for Business Continuity and Disaster Recovery. For more information, see [Expanding Existing Horizon 7 Environments](https://techzone.vmware.com/resource/business-continuity-vmware-horizon#_Toc41650874).
35+
You can deploy Horizon in a hybrid cloud environment by using Horizon Cloud Pod Architecture (CPA) to interconnect on-premises and Azure data centers. CPA scales up your deployment, builds a hybrid cloud, and provides redundancy for Business Continuity and Disaster Recovery. For more information, see [Expanding Existing Horizon 7 Environments](https://techzone.omnissa.com/resource/horizon-8-azure-vmware-solution-architecture#cloud-pod-architecture).
3636

3737
>[!IMPORTANT]
3838
>CPA is not a stretched deployment; each Horizon pod is distinct, and all Connection Servers that belong to each of the individual pods are required to be located in a single location and run on the same broadcast domain from a network perspective.
@@ -210,7 +210,8 @@ Work with your VMware EUC sales team to determine the Horizon licensing cost bas
210210

211211
### Azure Instance Types
212212

213-
To understand the Azure virtual machine sizes that are required for the Horizon Infrastructure, see [Horizon Installation on Azure VMware Solution](https://techzone.vmware.com/resource/horizon-on-azure-vmware-solution-configuration#horizon-installation-on-azure-vmware-solution).
213+
To understand the Azure virtual machine sizes that are required for the Horizon Infrastructure, see [Horizon Installation on Azure VMware Solution](https://techzone.omnissa.com/resource/horizon-8-azure-vmware-solution-configuration#instance-types-for-federated-deployment).
214214

215215
## References
216-
[System Requirements For Horizon Agent for Linux](https://docs.vmware.com/en/VMware-Horizon/2012/linux-desktops-setup/GUID-E268BDBF-1D89-492B-8563-88936FD6607A.html)
216+
[System Requirements For Horizon Agent for Linux](https://docs.omnissa.com/bundle/Desktops-and-Applications-in-HorizonV2406/page/SystemRequirementsforHorizonAgentforLinux.html)
217+
[Horizon 8 on Azure VMware Solution Architecture](https://techzone.omnissa.com/resource/horizon-8-azure-vmware-solution-architecture)

articles/azure-vmware/deploy-vmware-cloud-director-availability-in-azure-vmware-solution.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ description: Learn how to install and configure VMware Cloud Director Availabili
44
author: suzuber
55
ms.topic: how-to
66
ms.service: azure-vmware
7-
ms.date: 4/15/2024
7+
ms.date: 01/09/2025
88
---
99

1010
# Deploy VMware Cloud Director Availability in Azure VMware Solution
1111

1212
In this article, learn how to deploy VMware Cloud Director Availability in Azure VMware Solution.
1313

14-
Customers can use [VMware Cloud Director Availability](https://docs.vmware.com/en/VMware-Cloud-Director-Availability/index.html), a Disaster Recovery as a Service (DRaaS) solution, to protect and migrate workloads both to and from the VMware Cloud Director service associated with Azure VMware Solution. The native integration of VMware Cloud Director Availability with VMware Cloud Director and VMware Cloud Director service (CDS) enables provider and their tenants to efficiently manage migration and disaster recovery for workloads through the VMware Cloud Director Availability provider and tenant portal.
14+
Customers can use [VMware Cloud Director Availability](https://techdocs.broadcom.com/us/en/vmware-cis/cloud-director/availability/4-7/what-is-vcda.html), a Disaster Recovery as a Service (DRaaS) solution, to protect and migrate workloads both to and from the VMware Cloud Director service associated with Azure VMware Solution. The native integration of VMware Cloud Director Availability with VMware Cloud Director and VMware Cloud Director service (CDS) enables provider and their tenants to efficiently manage migration and disaster recovery for workloads through the VMware Cloud Director Availability provider and tenant portal.
1515

1616
## VMware Cloud Director Availability scenarios on Azure VMware Solution
1717

@@ -98,13 +98,13 @@ The following image shows the Run commands that are available under **VMware.VCD
9898

9999
:::image type="content" source="media/deploy-vmware-cloud-director-availability/vmware-cloud-director-availability-run-command.png" alt-text="Screenshot shows multiple VMware Cloud Director Availability Run commands available within the VMware Cloud Director Availability Run command package."lightbox="media/deploy-vmware-cloud-director-availability/vmware-cloud-director-availability-run-command.png":::
100100

101-
Refer to [VMware Cloud Director Availability in Azure VMware Solution](https://docs.vmware.com/en/VMware-Cloud-Director-Availability/4.7/VMware-Cloud-Director-Availability-in-AVS/GUID-2BF88B54-5775-4414-8213-D3B41BCDE3EB.html) for detailed instructions on utilizing the Run commands to effectively install and manage VMware Cloud Director Availability within your Azure solution private cloud.
101+
Refer to [VMware Cloud Director Availability in Azure VMware Solution](https://techdocs.broadcom.com/us/en/vmware-cis/cloud-director/availability/4-7/availability-in-avs-4-7.html) for detailed instructions on utilizing the Run commands to effectively install and manage VMware Cloud Director Availability within your Azure solution private cloud.
102102

103103
## FAQs
104104

105105
### How do I install and configure VMware Cloud Director Availability in Azure VMware Solution and what are the prerequisites?
106106

107-
Deploy VMware Cloud Director Availability using Run commands to enable classic engines and to access Disaster Recovery functionality. See prerequisites and procedures in [Run command in Azure VMware Solution](https://docs.vmware.com/en/VMware-Cloud-Director-Availability/4.7/VMware-Cloud-Director-Availability-in-AVS/GUID-6D0E6E0B-74BC-4669-9A26-5ACC46B2B296.html).
107+
Deploy VMware Cloud Director Availability using Run commands to enable classic engines and to access Disaster Recovery functionality. See prerequisites and procedures in [Run command in Azure VMware Solution](https://techdocs.broadcom.com/us/en/vmware-cis/cloud-director/availability/4-7/availability-in-avs-4-7/availability-run-commands-in-avs.html).
108108

109109
### How is VMware Cloud Director Availability supported?
110110

@@ -120,8 +120,8 @@ You can use Run Command **Install-VCDAReplicator** to install and configure new
120120

121121
### How can I upgrade VMware Cloud Director availability?
122122

123-
VMware Cloud Director Availability can be upgraded using [Appliances upgrade sequence and prerequisites](https://docs.vmware.com/en/VMware-Cloud-Director-Availability/4.7/VMware-Cloud-Director-Availability-Install-Config-Upgrade-Cloud/GUID-51B25D13-8224-43F1-AE54-65EDDA9E5FAD.html).
123+
VMware Cloud Director Availability can be upgraded using [Appliances upgrade sequence and prerequisites](https://techdocs.broadcom.com/us/en/vmware-cis/cloud-director/availability/4-7/cloud-availability-install-config-and-upgrade-guide-4-7/upgrading-in-the-cloud-director-site/vcav-upgrade-sequence.html).
124124

125125
## Next steps
126126

127-
Learn more about VMware Cloud Director Availability Run commands in Azure VMware Solution, [VMware Cloud Director availability](https://docs.vmware.com/en/VMware-Cloud-Director-Availability/index.html).
127+
Learn more about VMware Cloud Director Availability Run commands in Azure VMware Solution, [VMware Cloud Director availability](https://techdocs.broadcom.com/us/en/vmware-cis/cloud-director/availability/4-7/what-is-vcda.html).

0 commit comments

Comments
 (0)