Skip to content

Commit 23018e6

Browse files
authored
Merge branch 'MicrosoftDocs:main' into toc-final
2 parents a82acd3 + 3406d8a commit 23018e6

109 files changed

Lines changed: 1490 additions & 879 deletions

File tree

Some content is hidden

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

articles/active-directory-b2c/add-password-reset-policy.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.subservice: b2c
1212
zone_pivot_groups: b2c-policy-type
1313
ms.custom: sfi-image-nochange
1414

15-
#Customer Intent: As an Azure AD B2C administrator, I want to set up a password reset flow for local accounts, so that users can reset their passwords if they forget them.
15+
# Customer Intent: As an Azure AD B2C administrator, I want to set up a password reset flow for local accounts, so that users can reset their passwords if they forget them.
1616
---
1717

1818
# Set up a password reset flow in Azure Active Directory B2C
@@ -43,7 +43,7 @@ The default name of the **Change email** button in *selfAsserted.html* is **chan
4343
[!INCLUDE [active-directory-b2c-customization-prerequisites](../../includes/active-directory-b2c-customization-prerequisites.md)]
4444

4545

46-
- The B2C Users need to have an authentication method specified for self-service password reset. Select the B2C User, in the left menu under **Manage**, select **Authentication methods**. Ensure **Authentication contact info** is set. B2C users created via a Sign-up flow has this set by default. For users created via Azure Portal or by Graph API, you need to set **Authentication contact info** for SSPR to work.
46+
- The B2C users need to have an authentication method specified for self-service password reset. Select the B2C User, in the left menu under **Manage**, select **Authentication methods**. Ensure **Authentication contact info** is set. B2C users created via a Sign-up flow has this set by default. For users created via Azure Portal or by Graph API, you need to set **Authentication contact info** for SSPR to work.
4747

4848

4949
## Self-service password reset (recommended)
@@ -52,7 +52,7 @@ The new password reset experience is now part of the sign-up or sign-in policy.
5252

5353
::: zone pivot="b2c-user-flow"
5454

55-
The self-service password reset experience can be configured for the Sign in (Recommended) or Sign up and sign in (Recommended) user flows. If you don't have one of these user flows setup, create a [sign-up or sign-in](add-sign-up-and-sign-in-policy.md) user flow.
55+
The self-service password reset experience can be configured for the Sign in (Recommended) or Sign up and sign in (Recommended) user flows. If you don't have one of these user flows set up, create a [sign-up or sign-in](add-sign-up-and-sign-in-policy.md) user flow.
5656

5757
To set up self-service password reset for the sign-up or sign-in user flow:
5858

articles/application-gateway/application-gateway-faq.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,10 @@ sections:
443443
answer: |
444444
Yes, the Application Gateway v2 SKU supports Key Vault. For more information, see [TLS termination with Key Vault certificates](key-vault-certs.md).
445445
446+
- question: Why can't I select an Azure key vault from a different subscription in the Azure portal when configuring a TLS listener certificate on Application Gateway?
447+
answer: |
448+
The Azure portal currently allows selecting key vaults only from the same subscription as Application Gateway. This is a known portal limitation. However, Application Gateway does support using a key vault from a different subscription (within the same Microsoft Entra ID tenant) by configuring the certificate through the Azure CLI or PowerShell by using the key vault secret ID, provided the Application Gateway managed identity has the required permissions on the key vault.
449+
446450
- question: How do I configure HTTPS listeners for .com and .NET sites?
447451
answer: |
448452
For multiple domain-based (host-based) routing, you can create multisite listeners, set up listeners that use HTTPS as the protocol, and associate the listeners with the routing rules. For more information, see [Hosting multiple sites by using Application Gateway](./multiple-site-overview.md).

articles/application-gateway/ingress-controller-annotations.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ For AGIC to observe an ingress resource, the resource *must be annotated* with `
3838
| [appgw.ingress.kubernetes.io/use-private-ip](#use-private-ip) | `bool` | `false` ||
3939
| [appgw.ingress.kubernetes.io/override-frontend-port](#override-frontend-port) | `bool` | `false` ||
4040
| [appgw.ingress.kubernetes.io/cookie-based-affinity](#cookie-based-affinity) | `bool` | `false` ||
41-
| [appgw.ingress.kubernetes.io/request-timeout]
42-
(#request-timeout) | `int32` (seconds) | `30` ||
41+
| [appgw.ingress.kubernetes.io/request-timeout](#request-timeout) | `int32` (seconds) | `30` ||
4342
| [appgw.ingress.kubernetes.io/use-private-ip](#use-private-ip) | `bool` | `false` ||
4443
| [appgw.ingress.kubernetes.io/backend-protocol](#backend-protocol) | `string` | `http` | `http`, `https` |
4544
| [appgw.ingress.kubernetes.io/hostname-extension](#hostname-extension) | `string` | `nil` ||
Binary file not shown.

articles/application-gateway/mutual-authentication-overview.md

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This article is an overview of mutual authentication on Application
44
services: application-gateway
55
author: mbender-ms
66
ms.service: azure-application-gateway
7-
ms.date: 1/23/2026
7+
ms.date: 11/18/2025
88
ms.topic: concept-article
99
ms.author: mbender
1010

@@ -15,17 +15,20 @@ ms.author: mbender
1515
Mutual authentication, or client authentication, allows for the Application Gateway to authenticate the client sending requests. Usually, only the client is authenticating the Application Gateway; mutual authentication allows for both the client and the Application Gateway to authenticate each other.
1616

1717
> [!NOTE]
18-
> We recommend using TLS 1.2 with mutual authentication as TLS 1.2 will be mandated in the future.
18+
> We recommend using TLS 1.2 with mutual authentication as TLS 1.2 will be mandated in the future.
1919
2020
## Mutual authentication
2121

22-
Application Gateway supports certificate-based mutual authentication where you can upload a trusted client CA certificate to the Application Gateway, and the gateway uses that certificate to authenticate the client sending a request to the gateway. With the rise in IoT use cases and increased security requirements across industries, mutual authentication provides a way for you to manage and control which clients can talk to your Application Gateway.
22+
Application Gateway supports certificate-based mutual authentication where you can upload a trusted client CA certificate(s) to the Application Gateway, and the gateway uses that certificate to authenticate the client sending a request to the gateway. With the rise in IoT use cases and increased security requirements across industries, mutual authentication provides a way for you to manage and control which clients can talk to your Application Gateway.
2323

2424
Application Gateway provides following two options to validate client certificates:
2525

2626

2727
## Mutual TLS passthrough mode
28-
In mutual TLS passthrough mode, Application Gateway requests a client certificate during the TLS handshake but doesn't terminate the connection if the certificate is missing or invalid. The connection to the backend proceeds regardless of the certificate's presence or validity. If a certificate is provided, Application Gateway can forward it to the backend if required by the application. The backend service is responsible for validating the client certificate. Refer to server variables if you want to configure certificate forwarding. There's no need to upload any CA certificate when it is on Passthrough mode. To set up passthrough, follow the steps in [Configure Application Gateway with mutual authentication using ARM Template](./mutual-authentication-arm-template.md). To set up passthrough in Portal, follow the steps in [Configure mutual authentication with Application Gateway through portal](./mutual-authentication-portal.md).
28+
In mutual TLS passthrough mode, Application Gateway requests a client certificate during the TLS handshake but doesn't terminate the connection if the certificate is missing or invalid. The connection to the backend proceeds regardless of the certificate's presence or validity. If a certificate is provided, Application Gateway can forward it to the backend if required by the application. The backend service is responsible for validating the client certificate. Refer to server variables if you want to configure certificate forwarding. There's no need to upload any CA certificate when it is on Passthrough mode. To set up passthrough, follow the steps in [Configure Application Gateway with mutual authentication using ARM Template](./mutual-authentication-arm-template.md).
29+
30+
> [!NOTE]
31+
> Currently, this feature is supported only through Azure Resource Manager deployment using API version 2025-03-01.
2932
3033

3134
## Mutual TLS strict mode
@@ -40,13 +43,13 @@ For example, if your client certificate contains a root CA certificate, multiple
4043
If you're uploading a certificate chain with root CA and intermediate CA certificates, the certificate chain must be uploaded as a PEM or CER file to the gateway.
4144

4245
> [!IMPORTANT]
43-
> Make sure you upload the entire trusted client CA certificate chain to the Application Gateway when using mutual authentication.
46+
> Make sure you upload the entire trusted client CA certificate chain to the Application Gateway when using mutual authentication.
4447
4548
Each SSL profile can support up to 100 trusted client CA certificate chains. A single Application Gateway can support a total of 200 trusted client CA certificate chains.
4649

47-
> [!NOTE]
50+
> [!NOTE]
4851
> * Mutual authentication is only available on Standard_v2 and WAF_v2 SKUs.
49-
> * Configuration of Mutual authentication for [TLS protocol listeners (preview)](tcp-tls-proxy-overview.md) is currently available through REST API, PowerShell, and CLI.
52+
> * Configuration of Mutual authentication for [TLS protocol listeners (preview)](tcp-tls-proxy-overview.md) is currently available through REST API, PowerShell, and CLI.
5053
5154
### Certificates supported for mutual TLS strict mode authentication
5255

@@ -62,32 +65,32 @@ Application Gateway supports certificates issued from both public and privately
6265

6366
### Verify client certificate DN
6467

65-
You can verify the client certificate's immediate issuer and only allow the Application Gateway to trust that issuer. This option is off by default but you can enable this through Portal, PowerShell, or Azure CLI.
68+
You have the option to verify the client certificate's immediate issuer and only allow the Application Gateway to trust that issuer. This option is off by default but you can enable this through Portal, PowerShell, or Azure CLI.
6669

6770
If you choose to enable the Application Gateway to verify the client certificate's immediate issuer, here's how to determine what client certificate issuer DN will be extracted from the certificates uploaded.
6871
* **Scenario 1:** Certificate chain includes: root certificate - intermediate certificate - leaf certificate
69-
* *Intermediate certificate's* subject name is what Application Gateway extracts as the client certificate issuer DN and will be verified against.
72+
* *Intermediate certificate's* subject name is what Application Gateway will extract as the client certificate issuer DN and will be verified against.
7073
* **Scenario 2:** Certificate chain includes: root certificate - intermediate1 certificate - intermediate2 certificate - leaf certificate
7174
* *Intermediate2 certificate's* subject name is what's extracted as the client certificate issuer DN and will be verified against.
7275
* **Scenario 3:** Certificate chain includes: root certificate - leaf certificate
7376
* *Root certificate's* subject name is extracted as client certificate issuer DN.
7477
* **Scenario 4:** Multiple certificate chains of the same length in the same file. Chain 1 includes: root certificate - intermediate1 certificate - leaf certificate. Chain 2 includes: root certificate - intermediate2 certificate - leaf certificate.
75-
* *Intermediate1 certificate's* subject name is extracted as client certificate issuer DN.
78+
* *Intermediate1 certificate's* subject name is extracted as client certificate issuer DN.
7679
* **Scenario 5:** Multiple certificate chains of different lengths in the same file. Chain 1 includes: root certificate - intermediate1 certificate - leaf certificate. Chain 2 includes root certificate - intermediate2 certificate - intermediate3 certificate - leaf certificate.
7780
* *Intermediate3 certificate's* subject name is extracted as client certificate issuer DN.
7881

7982
> [!IMPORTANT]
80-
> We recommend only uploading one certificate chain per file. This is especially important if you enable verify client certificate DN. By uploading multiple certificate chains in one file, you end up in scenario four or five and can run into issues later down the line when the client certificate presented doesn't match the client certificate issuer DN Application Gateway extracted from the chains.
83+
> We recommend only uploading one certificate chain per file. This is especially important if you enable verify client certificate DN. By uploading multiple certificate chains in one file, you'll end up in scenario four or five and may run into issues later down the line when the client certificate presented doesn't match the client certificate issuer DN Application Gateway extracted from the chains.
8184
8285
For more information on how to extract trusted client CA certificate chains, see [how to extract trusted client CA certificate chains](./mutual-authentication-certificate-management.md).
8386

8487
## Server variables
8588

86-
With mutual TLS authentication, there are other server variables that you can use to pass information about the client certificate to the backend servers behind the Application Gateway. For more information about which server variables are available and how to use them, check out [server variables](/azure/application-gateway/rewrite-http-headers-url#mutual-authentication-server-variables).
89+
With mutual TLS authentication, there are additional server variables that you can use to pass information about the client certificate to the backend servers behind the Application Gateway. For more information about which server variables are available and how to use them, check out [server variables](./rewrite-http-headers-url.md#mutual-authentication-server-variables).
8790

8891
## Certificate revocation
8992

90-
When a client initiates a connection to an Application Gateway configured with mutual TLS authentication, not only can the certificate chain and issuer's distinguished name be validated, but revocation status of the client certificate can be checked with OCSP (Online Certificate Status Protocol). During validation, the certificate presented by the client will be looked up via the defined OCSP responder defined in its Authority Information Access (AIA) extension. In the event the client certificate has been revoked, the application gateway responds to the client with an HTTP 400 status code and reason. If the certificate is valid, the request continues to be processed by application gateway and forwarded on to the defined backend pool.
93+
When a client initiates a connection to an Application Gateway configured with mutual TLS authentication, not only can the certificate chain and issuer's distinguished name be validated, but revocation status of the client certificate can be checked with OCSP (Online Certificate Status Protocol). During validation, the certificate presented by the client will be looked up via the defined OCSP responder defined in its Authority Information Access (AIA) extension. In the event the client certificate has been revoked, the application gateway responds to the client with an HTTP 400 status code and reason. If the certificate is valid, the request will continue to be processed by application gateway and forwarded on to the defined backend pool.
9194

9295
Client certificate revocation can be enabled via REST API, ARM template, Bicep, CLI, or PowerShell.
9396

@@ -127,17 +130,18 @@ Azure portal support is currently not available.
127130

128131
---
129132

130-
To verify OCSP revocation status has been evaluated for the client request, [access logs](monitor-application-gateway-reference.md#access-log-category) contain a property called "sslClientVerify," with the status of the OCSP response.
133+
To verify OCSP revocation status has been evaluated for the client request, [access logs](monitor-application-gateway-reference.md#access-log-category) will contain a property called "sslClientVerify", with the status of the OCSP response.
131134

132135
It's critical that the OCSP responder is highly available and network connectivity between Application Gateway and the responder is possible. In the event Application Gateway is unable to resolve the fully qualified domain name (FQDN) of the defined responder or network connectivity is blocked to/from the responder, certificate revocation status fails and Application Gateway will return a 400 HTTP response to the requesting client.
133136

134137
> [!NOTE]
135-
> OCSP checks are validated via local cache based on the nextUpdate time defined by a previous OCSP response. If the OCSP cache hasn't been populated from a previous request, the first response can fail. Upon retry of the client, the response should be found in the cache and the request will be processed as expected.
138+
> OCSP checks are validated via local cache based on the nextUpdate time defined by a previous OCSP response. If the OCSP cache hasn't been populated from a previous request, the first response may fail. Upon retry of the client, the response should be found in the cache and the request will be processed as expected.
136139
137140
## Notes
138141
- Revocation check via CRL isn't supported
139142
- Client revocation check was introduced in API version 2022-05-01
140143

141144
## Next steps
142145

143-
After learning about mutual authentication, go to [Configure Application Gateway with mutual authentication in PowerShell](./mutual-authentication-powershell.md) to create an Application Gateway using mutual authentication.
146+
After learning about mutual authentication, go to [Configure Application Gateway with mutual authentication in PowerShell](./mutual-authentication-powershell.md) to create an Application Gateway using mutual authentication.
147+

0 commit comments

Comments
 (0)