You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/backup/backup-create-recovery-services-vault.md
+19-2Lines changed: 19 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: Create and configure Recovery Services vaults
3
3
description: Learn how to create and configure Recovery Services vaults, and how to restore in a secondary region by using Cross Region Restore.
4
4
ms.topic: how-to
5
-
ms.date: 06/23/2025
5
+
ms.date: 06/30/2025
6
6
ms.custom: references_regions, engagement-fy23
7
7
author: jyothisuri
8
8
ms.author: jsuri
@@ -83,6 +83,23 @@ For more information about backup and restore with Cross Region Restore, see the
83
83
-[Cross Region Restore for SAP HANA databases](sap-hana-db-restore.md#cross-region-restore)
84
84
-[Cross Region Restore for MARS (Preview)](about-restore-microsoft-azure-recovery-services.md#cross-region-restore)
85
85
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
+
86
103
## Set encryption settings
87
104
88
105
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
136
153
137
154
- 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).
138
155
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:
140
157
141
158
- The Azure Backup service will retain the recovery points that have been backed up on the GRS vault.
142
159
- You'll need to pay to keep the recovery points in the GRS vault. See [Azure Backup pricing](azure-backup-pricing.md) for details.
Copy file name to clipboardExpand all lines: articles/container-apps/azure-arc-enable-cluster.md
+14-10Lines changed: 14 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,15 +8,15 @@ ms.custom:
8
8
- devx-track-azurecli
9
9
- build-2025
10
10
ms.topic: tutorial
11
-
ms.date: 05/19/2025
11
+
ms.date: 06/25/2025
12
12
ms.author: cshoe
13
13
---
14
14
15
15
# Tutorial: Enable Azure Container Apps on Azure Arc-enabled Kubernetes
16
16
17
17
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.
18
18
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 Arc–enabled Kubernetes cluster. In this tutorial, you:
20
20
21
21
> [!div class="checklist"]
22
22
> * Create a connected cluster.
@@ -28,6 +28,8 @@ This tutorial will show you how to enable Azure Container Apps on your Arc-enabl
28
28
29
29
## Prerequisites
30
30
31
+
Before you begin, make sure you have the following prerequisites in place:
32
+
31
33
- An Azure account with an active subscription.
32
34
- If you don't have one, you [can create one for free](https://azure.microsoft.com/free/).
33
35
- Install the [Azure CLI](/cli/azure/install-azure-cli).
@@ -103,7 +105,9 @@ $LOCATION="eastus"
103
105
104
106
## Create a connected cluster
105
107
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:
107
111
108
112
1. Create a cluster in Azure Kubernetes Service.
109
113
@@ -183,7 +187,7 @@ The following steps help you get started understanding the service, but for prod
183
187
184
188
## Create a Log Analytics workspace
185
189
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.
187
191
188
192
1. Create a Log Analytics workspace.
189
193
@@ -250,9 +254,9 @@ A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) pr
250
254
## Install the Container Apps extension
251
255
252
256
> [!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.
254
258
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.
256
260
257
261
# [Azure CLI](#tab/azure-cli)
258
262
@@ -326,9 +330,9 @@ A [Log Analytics workspace](/azure/azure-monitor/logs/quick-create-workspace) pr
326
330
327
331
| Parameter | Description |
328
332
|---|---|
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`. |
330
334
| `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. |
332
336
| `logProcessor.appLogs.destination` | Optional. Destination for application logs. Accepts `log-analytics` or `none`, choosing none disables platform logs. |
333
337
| `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. |
334
338
| `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
367
371
az resource wait --ids $EXTENSION_ID --custom "properties.provisioningState!='Pending'" --api-version "2020-07-01-preview"
368
372
```
369
373
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:
371
375
372
376
```bash
373
377
kubectl get pods -n $NAMESPACE
@@ -424,7 +428,7 @@ The [custom location](/azure/azure-arc/kubernetes/custom-locations) is an Azure
424
428
---
425
429
426
430
> [!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.
428
432
>
429
433
430
434
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.
Copy file name to clipboardExpand all lines: articles/container-apps/client-certificate-authorization.md
+60-3Lines changed: 60 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ services: container-apps
5
5
author: craigshoemaker
6
6
ms.service: azure-container-apps
7
7
ms.topic: how-to
8
-
ms.date: 06/13/2024
8
+
ms.date: 06/30/2025
9
9
ms.author: cshoe
10
10
---
11
11
@@ -17,7 +17,7 @@ When client certificates are used, the TLS certificates are exchanged between th
17
17
18
18
For example, you might want to require a client certificate for a container app that manages sensitive data.
19
19
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.
21
21
22
22
## Configure client certificate authorization
23
23
@@ -34,7 +34,7 @@ Ingress passes the client certificate to the container app if `require` or `acce
34
34
The following ARM template example configures ingress to require a client certificate for all requests to the container app.
35
35
36
36
```json
37
-
{
37
+
{
38
38
"properties": {
39
39
"configuration": {
40
40
"ingress": {
@@ -44,6 +44,63 @@ The following ARM template example configures ingress to require a client certif
44
44
}
45
45
}
46
46
```
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:
> 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:
|`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. |
0 commit comments