Skip to content

Commit 7f62aa2

Browse files
Merge pull request #302036 from MicrosoftDocs/main
Merged by Learn.Build PR Management system
2 parents a3c5b1f + dafdd54 commit 7f62aa2

28 files changed

+426
-170
lines changed

articles/backup/backup-create-recovery-services-vault.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Create and configure Recovery Services vaults
33
description: Learn how to create and configure Recovery Services vaults, and how to restore in a secondary region by using Cross Region Restore.
44
ms.topic: how-to
5-
ms.date: 06/23/2025
5+
ms.date: 06/30/2025
66
ms.custom: references_regions, engagement-fy23
77
author: jyothisuri
88
ms.author: jsuri
@@ -83,6 +83,23 @@ For more information about backup and restore with Cross Region Restore, see the
8383
- [Cross Region Restore for SAP HANA databases](sap-hana-db-restore.md#cross-region-restore)
8484
- [Cross Region Restore for MARS (Preview)](about-restore-microsoft-azure-recovery-services.md#cross-region-restore)
8585

86+
## Set Cross Subscription Restore
87+
88+
Cross Subscription Restore allows you to restore data to a different subscription within the same tenant as the source subscription (as per the Azure RBAC capabilities) from restore points.
89+
90+
>[!Note]
91+
>Cross Subscription Restore is currently supported for Azure VM, SQL Server in Azure VM, SAP ASE and SAP HANA in Azure VM, and Azure Files.
92+
93+
To configure Cross Subscription Restore for the vault, follow these steps:
94+
95+
1. In the Azure portal, go to your **Recovery Services vault**.
96+
1. On the **Recovery Services vault** pane, select **Settings** > **Properties**.
97+
1. On the **Properties** pane, under **Cross Subscription Restore**, select **Update**.
98+
99+
:::image type="content" source="./media/backup-create-rs-vault/configure-cross-region-restore.png" alt-text="Screenshot shows how to enable Cross subscription restore for a vault." lightbox="./media/backup-create-rs-vault/configure-cross-region-restore.png" :::
100+
101+
1. On the **Cross Subscription Restore** pane, select **Enable Cross Subscription Restore** > **Update**.
102+
86103
## Set encryption settings
87104

88105
By default, the data in the Recovery Services vault is encrypted through platform-managed keys. You don't need to take any explicit actions to enable this encryption. It applies to all workloads that are backed up to your Recovery Services vault.
@@ -136,7 +153,7 @@ If you need to keep the current protected data in the GRS vault and continue the
136153

137154
- For an Azure VM, you can [stop protection with retained data](backup-azure-manage-vms.md#stop-protecting-a-vm) for the VM in the GRS vault, move the VM to another resource group, and then help protect the VM in the LRS vault. For information about moving a VM to another resource group, see the [guidance and limitations](../azure-resource-manager/management/move-limitations/virtual-machines-move-limitations.md).
138155

139-
You can add a VM to only one vault at a time. However, the VM in the new resource group can be added to the LRS vault because it's considered a different VM. Be aware that:
156+
You can add a VM to only one vault at a time. However, the VM in the new resource group can be added to the LRS vault because it's considered as a different VM. Be aware that:
140157

141158
- The Azure Backup service will retain the recovery points that have been backed up on the GRS vault.
142159
- You'll need to pay to keep the recovery points in the GRS vault. See [Azure Backup pricing](azure-backup-pricing.md) for details.
111 KB
Loading

articles/communication-services/concepts/numbers/phone-number-management-for-united-states.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Use the following tables to find all the relevant information on number availabi
2222
| Number Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
2323
| :---------- | :------------------- | :------------------- | :------------------- | :--------------------- |
2424
| Toll-Free |General Availability | General Availability | General Availability | General Availability\* |
25-
| Local | Public Preview | Public Preview | General Availability | General Availability\* |
25+
| Local | General Availability (via 10DLC) | General Availability (via 10DLC) | General Availability | General Availability\* |
2626
| Short code |General Availability |General Availability | - | - |
2727

2828
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.

articles/container-apps/azure-arc-enable-cluster.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ ms.custom:
88
- devx-track-azurecli
99
- build-2025
1010
ms.topic: tutorial
11-
ms.date: 05/19/2025
11+
ms.date: 06/25/2025
1212
ms.author: cshoe
1313
---
1414

1515
# Tutorial: Enable Azure Container Apps on Azure Arc-enabled Kubernetes
1616

1717
With [Azure Arc-enabled Kubernetes clusters](/azure/azure-arc/kubernetes/overview), you can create a [Container Apps enabled custom location](azure-arc-create-container-app.md) in your on-premises or cloud Kubernetes cluster to deploy your Azure Container Apps applications as you would any other region.
1818

19-
This tutorial will show you how to enable Azure Container Apps on your Arc-enabled Kubernetes cluster. In this tutorial you will:
19+
This tutorial shows how to enable Azure Container Apps on an Azure Arcenabled Kubernetes cluster. In this tutorial, you:
2020

2121
> [!div class="checklist"]
2222
> * Create a connected cluster.
@@ -28,6 +28,8 @@ This tutorial will show you how to enable Azure Container Apps on your Arc-enabl
2828

2929
## Prerequisites
3030

31+
Before you begin, make sure you have the following prerequisites in place:
32+
3133
- An Azure account with an active subscription.
3234
- If you don't have one, you [can create one for free](https://azure.microsoft.com/free/).
3335
- Install the [Azure CLI](/cli/azure/install-azure-cli).
@@ -103,7 +105,9 @@ $LOCATION="eastus"
103105

104106
## Create a connected cluster
105107

106-
The following steps help you get started understanding the service, but for production deployments, they should be viewed as illustrative, not prescriptive. See [Quickstart: Connect an existing Kubernetes cluster to Azure Arc](/azure/azure-arc/kubernetes/quickstart-connect-cluster) for general instructions on creating an Azure Arc-enabled Kubernetes cluster.
108+
These instructions are meant for evaluation and learning purposes. For production deployments, refer to [Quickstart: Connect an existing Kubernetes cluster to Azure Arc](/azure/azure-arc/kubernetes/quickstart-connect-cluster) for general instructions on creating an Azure Arc-enabled Kubernetes cluster.
109+
110+
To get started with service, follow these steps to create an Azure Kubernetes Service (AKS) cluster and connect it to Azure Arc:
107111

108112
1. Create a cluster in Azure Kubernetes Service.
109113

@@ -183,7 +187,7 @@ The following steps help you get started understanding the service, but for prod
183187
184188
## Create a Log Analytics workspace
185189
186-
A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) provides access to logs for Container Apps applications running in the Azure Arc-enabled Kubernetes cluster. A Log Analytics workspace is optional, but recommended.
190+
A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) provides access to logs for Container Apps applications running in the Azure Arc-enabled Kubernetes cluster. A Log Analytics workspace is optional, but recommended.
187191
188192
1. Create a Log Analytics workspace.
189193
@@ -250,9 +254,9 @@ A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) pr
250254
## Install the Container Apps extension
251255
252256
> [!IMPORTANT]
253-
> If deploying onto **AKS on Azure Local** ensure that you have [setup HAProxy or a custom load balancer](/azure/aks/aksarc/configure-load-balancer) before attempting to install the extension. You could also use `az containerapp arc setup-core-dns --distro AksAzureLocal` to set up coredns for local contexts.
257+
> If deploying onto **AKS on Azure Local**, ensure that you have [setup HAProxy or a custom load balancer](/azure/aks/aksarc/configure-load-balancer) before attempting to install the extension. You could also use `az containerapp arc setup-core-dns --distro AksAzureLocal` to set up core dns for local contexts.
254258
255-
1. Set the following environment variables to the desired name of the [Container Apps extension](azure-arc-create-container-app.md), the cluster namespace in which resources should be provisioned, and the name for the Azure Container Apps connected environment. Choose a unique name for `<connected-environment-name>`. The connected environment name will be part of the domain name for app you'll create in the Azure Container Apps connected environment.
259+
1. Set the following environment variables to the desired name of the [Container Apps extension](azure-arc-create-container-app.md), the cluster namespace in which resources should be provisioned, and the name for the Azure Container Apps connected environment. Choose a unique name for `<connected-environment-name>`. The connected environment name is part of the domain name for app you create in the Azure Container Apps connected environment.
256260
257261
# [Azure CLI](#tab/azure-cli)
258262
@@ -326,9 +330,9 @@ A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) pr
326330
327331
| Parameter | Description |
328332
|---|---|
329-
| `Microsoft.CustomLocation.ServiceAccount` | The service account created for the custom location. It's recommended that it 's set to the value `default`. |
333+
| `Microsoft.CustomLocation.ServiceAccount` | The service account created for the custom location. Set the value to `default`. |
330334
| `appsNamespace` | The namespace used to create the app definitions and revisions. It **must** match that of the extension release namespace. |
331-
| `clusterName` | The name of the Container Apps extension Kubernetes environment that will be created against this extension. |
335+
| `clusterName` | The name of the Container Apps extension Kubernetes environment created against this extension. |
332336
| `logProcessor.appLogs.destination` | Optional. Destination for application logs. Accepts `log-analytics` or `none`, choosing none disables platform logs. |
333337
| `logProcessor.appLogs.logAnalyticsConfig.customerId` | Required only when `logProcessor.appLogs.destination` is set to `log-analytics`. The base64-encoded Log analytics workspace ID. This parameter should be configured as a protected setting. |
334338
| `logProcessor.appLogs.logAnalyticsConfig.sharedKey` | Required only when `logProcessor.appLogs.destination` is set to `log-analytics`. The base64-encoded Log analytics workspace shared key. This parameter should be configured as a protected setting. |
@@ -367,7 +371,7 @@ A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) pr
367371
az resource wait --ids $EXTENSION_ID --custom "properties.provisioningState!='Pending'" --api-version "2020-07-01-preview"
368372
```
369373
370-
You can use `kubectl` to see the pods that have been created in your Kubernetes cluster:
374+
Use `kubectl` to view the pods running in your Kubernetes cluster:
371375
372376
```bash
373377
kubectl get pods -n $NAMESPACE
@@ -424,7 +428,7 @@ The [custom location](/azure/azure-arc/kubernetes/custom-locations) is an Azure
424428
---
425429
426430
> [!NOTE]
427-
> If you experience issues creating a custom location on your cluster, you may need to [enable the custom location feature on your cluster](/azure/azure-arc/kubernetes/custom-locations#enable-custom-locations-on-your-cluster). This is required if logged into the CLI using a Service Principal or if you are logged in with a Microsoft Entra user with restricted permissions on the cluster resource.
431+
> If you experience issues creating a custom location on your cluster, you may need to [enable the custom location feature on your cluster](/azure/azure-arc/kubernetes/custom-locations#enable-custom-locations-on-your-cluster). Enable this feature when logged into the CLI using a Service Principal or a Microsoft Entra user with restricted permissions on the cluster resource.
428432
>
429433
430434
1. Validate that the custom location is successfully created with the following command. The output should show the `provisioningState` property as `Succeeded`. If not, rerun the command after a minute.

articles/container-apps/client-certificate-authorization.md

Lines changed: 60 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: container-apps
55
author: craigshoemaker
66
ms.service: azure-container-apps
77
ms.topic: how-to
8-
ms.date: 06/13/2024
8+
ms.date: 06/30/2025
99
ms.author: cshoe
1010
---
1111

@@ -17,7 +17,7 @@ When client certificates are used, the TLS certificates are exchanged between th
1717

1818
For example, you might want to require a client certificate for a container app that manages sensitive data.
1919

20-
Container Apps accepts client certificates in the PKCS12 format are that issued by a trusted certificate authority (CA), or are self-signed.
20+
Container Apps accepts client certificates in the PKCS12 format when a trusted certificate authority (CA) issues them or when they're self-signed.
2121

2222
## Configure client certificate authorization
2323

@@ -34,7 +34,7 @@ Ingress passes the client certificate to the container app if `require` or `acce
3434
The following ARM template example configures ingress to require a client certificate for all requests to the container app.
3535

3636
```json
37-
{
37+
{
3838
"properties": {
3939
"configuration": {
4040
"ingress": {
@@ -44,6 +44,63 @@ The following ARM template example configures ingress to require a client certif
4444
}
4545
}
4646
```
47+
> [!NOTE]
48+
> You can set the `clientCertificateMode` directly on the ingress property. It isn't available as an explicit option in the CLI, but you can patch your app using the Azure CLI.
49+
50+
Before you run the following commands, make sure to replace the placeholders surrounded by `<>` with your own values.
51+
52+
Get the Azure Resource Manager (ARM) ID of your container app:
53+
54+
```bash
55+
APP_ID=$(az containerapp show \
56+
--name <APP_NAME> \
57+
--resource-group <RESOURCE_GROUP> \
58+
--query id \
59+
--output tsv)
60+
```
61+
62+
Patch the `clientCertificateMode` property on the app:
63+
64+
```azurecli
65+
az rest \
66+
--method patch \
67+
--url "https://management.azure.com/$APP_ID?api-version=<API_VERSION>" \
68+
--body '{
69+
"properties": {
70+
"configuration": {
71+
"ingress": {
72+
"clientCertificateMode": "require"
73+
}
74+
}
75+
}
76+
}'
77+
```
78+
79+
> [!NOTE]
80+
> Be sure to use a valid and stable API version that supports this feature. For example, replace <API_VERSION> in the command with 2025-01-01 or another supported version.
81+
82+
## Client certificate mode and header format
83+
84+
The value for `clientCertificateMode` varies what you need to provide for Container Apps to manage your certificate:
85+
- When `require` is set, the client must provide a certificate.
86+
- When `accept` is set, the certificate is optional. If the client provides a certificate, it passes to the app in the `X-Forwarded-Client-Cert` header, as a semicolon-separated list.
87+
88+
### Example `X-Forwarded-Client-Cert` header value
89+
90+
The following example is a sample value of the `X-Forwarded-Client-Cert` header that your app might receive:
91+
92+
```text
93+
Hash=<HASH_VALUE>;Cert="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";Chain="-----BEGIN CERTIFICATE-----<CERTIFICATE_VALUE>";
94+
```
95+
96+
### Header field breakdown
97+
98+
| Field | Description | How to Use It |
99+
|---|---|---|
100+
| `Hash` | The SHA-256 thumbprint of the client certificate. | Use the thumbprint to identify or validate the client certificate. |
101+
| `Cert` | The base64-encoded client certificate in PEM format (single certificate). | Parse the certificate to inspect metadata such as subject and issuer. |
102+
| `Chain` | One or more PEM-encoded intermediate certificates. | Provide the intermediate certificates when building a full trust chain for validation. |
103+
47104

48105
## Next Steps
49106

0 commit comments

Comments
 (0)