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/azure-app-configuration/quickstart-aspnet-core-app.md
+79-8Lines changed: 79 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,13 +1,13 @@
1
1
---
2
-
title: Quickstart for Azure App Configuration with ASP.NET Core | Microsoft Docs
2
+
title: Quickstart for Azure App Configuration with ASP.NET Core
3
3
description: Create an ASP.NET Core app with Azure App Configuration to centralize storage and management of application settings for an ASP.NET Core application.
#Customer intent: As an ASP.NET Core developer, I want to learn how to manage all my app settings in one place.
13
13
---
@@ -42,18 +42,48 @@ Use the [.NET command-line interface (CLI)](/dotnet/core/tools) to create a new
42
42
Run the following command to create an ASP.NET Core web app in a new *TestAppConfig* folder:
43
43
44
44
```dotnetcli
45
-
dotnet new webapp --output TestAppConfig --framework net6.0
45
+
dotnet new webapp --output TestAppConfig
46
46
```
47
47
48
48
## Connect to the App Configuration store
49
49
50
-
1. Navigate into the project's directory *TestAppConfig*, and run the following command to add a [Microsoft.Azure.AppConfiguration.AspNetCore](https://www.nuget.org/packages/Microsoft.Azure.AppConfiguration.AspNetCore) NuGet package reference:
50
+
Connect to your App Configuration store using Microsoft Entra ID (recommended), or a connection string.
51
51
52
+
1. Navigate into the project's directory *TestAppConfig*, and run the following command to add NuGet package references.
53
+
54
+
### [Microsoft Entra ID (recommended)](#tab/entra-id)
1. Run the following command to restore packages for your project:
68
+
69
+
```dotnetcli
70
+
dotnet restore
71
+
```
72
+
73
+
1. Create a user secret for the application by navigating into the *TestAppConfig* folder and running the following command.
74
+
75
+
### [Microsoft Entra ID (recommended)](#tab/entra-id)
76
+
77
+
The command uses [Secret Manager](/aspnet/core/security/app-secrets) to store a secret named `Endpoints:AppConfiguration`, which stores the endpoint for your App Configuration store. Replace the `<your-App-Configuration-endpoint>` placeholder with your App Configuration store's endpoint. You can find the endpoint in your App Configuration store's **Overview** blade in the Azure portal.
78
+
79
+
```dotnetcli
80
+
dotnet user-secrets init
81
+
dotnet user-secrets set Endpoints:AppConfiguration "<your-App-Configuration-endpoint>"
82
+
```
83
+
84
+
### [Connection string](#tab/connection-string)
55
85
56
-
1. Run the following command. The command uses [Secret Manager](/aspnet/core/security/app-secrets) to store a secret named `ConnectionStrings:AppConfig`, which stores the connection string for your App Configuration store. Replace the `<your_connection_string>` placeholder with your App Configuration store's connection string. You can find the connection string under **Access Keys** of your App Configuration store in the Azure portal.
86
+
The command uses [Secret Manager](/aspnet/core/security/app-secrets) to store a secret named `ConnectionStrings:AppConfig`, which stores the connection string for your App Configuration store. Replace the `<your_connection_string>` placeholder with your App Configuration store's connection string. You can find the connection string in your App Configuration store's **Access settings** in the Azure portal.
> Some shells will truncate the connection string unless it's enclosed in quotes. Ensure that the output of the `dotnet user-secrets list` command shows the entire connection string. If it doesn't, rerun the command, enclosing the connection string in quotes.
65
-
95
+
66
96
Secret Manager stores the secret outside of your project tree, which helps prevent the accidental sharing of secrets within source code. It's used only to test the web app locally. When the app is deployed to Azure like [App Service](../app-service/overview.md), use the *Connection strings*, *Application settings* or environment variables to store the connection string. Alternatively, to avoid connection strings all together, you can [connect to App Configuration using managed identities](./howto-integrate-azure-managed-service-identity.md) or your other [Microsoft Entra identities](./concept-enable-rbac.md).
97
+
98
+
---
67
99
68
-
1. Open *Program.cs* and add Azure App Configuration as an extra configuration source by calling the `AddAzureAppConfiguration` method.
100
+
1. Open *Program.cs* and add the following namespaces:
101
+
102
+
103
+
### [Microsoft Entra ID (recommended)](#tab/entra-id)
104
+
```csharp
105
+
using Microsoft.Extensions.Configuration;
106
+
using Microsoft.Azure.AppConfiguration.AspNetCore;
107
+
using Azure.Identity;
108
+
```
109
+
110
+
### [Connection string](#tab/connection-string)
111
+
```csharp
112
+
using Microsoft.Extensions.Configuration;
113
+
using Microsoft.Azure.AppConfiguration.AspNetCore;
114
+
```
115
+
---
116
+
117
+
1. Connect to your App Configuration store by calling the `AddAzureAppConfiguration` method in the `Program.cs` file.
118
+
119
+
### [Microsoft Entra ID (recommended)](#tab/entra-id)
120
+
121
+
You use the `DefaultAzureCredential` to authenticate to your App Configuration store. Follow the [instructions](./concept-enable-rbac.md#authentication-with-token-credentials) to assign your credential the **App Configuration Data Reader** role. Be sure to allow sufficient time for the permission to propagate before running your application.
122
+
123
+
```csharp
124
+
var builder = WebApplication.CreateBuilder(args);
125
+
126
+
// Load configuration from Azure App Configuration
This code loads *all* key-values that have *no label* from your App Configuration store. For more information on loading data from App Configuration, see the [App Configuration provider API reference](/dotnet/api/Microsoft.Extensions.Configuration.AzureAppConfigurationExtensions).
82
154
83
-
This code will connect to your App Configuration store using a connection string and load *all* key-values that have *no labels*. For more information on the App Configuration provider, see the [App Configuration provider API reference](/dotnet/api/Microsoft.Extensions.Configuration.AzureAppConfiguration).
Copy file name to clipboardExpand all lines: articles/azure-functions/functions-bindings-azure-mysql.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,7 @@ Azure Database for MySQL bindings for Azure Functions have a required property f
166
166
167
167
## Samples
168
168
169
-
In addition to the samples for C#, Java, JavaScript, PowerShell, and Python available in the [Azure SQL bindings GitHub repository](https://github.com/Azure/azure-functions-mysql-extension/tree/main/samples), more are available in Azure Samples.
169
+
In addition to the samples for C#, Java, JavaScript, PowerShell, and Python available in the [Azure MySQL bindings GitHub repository](https://github.com/Azure/azure-functions-mysql-extension/tree/main/samples), more are available in Azure Samples.
description: This article describes consent management in Azure Maps as it applies to data residency laws.
4
+
author: pbrasil
5
+
ms.author: peterbr
6
+
ms.date: 11/19/2024
7
+
ms.topic: conceptual
8
+
ms.service: azure-maps
9
+
ms.subservice: manage-account
10
+
---
11
+
12
+
# Consent management
13
+
14
+
Azure Maps is a global service that is available worldwide. When creating your Azure Maps account, you select a _Region_. The Region selection is the accounts geographic scope, which allows you to limit data residency to the selected region. All requests (including input data) are processed and stored exclusively in the specified geographic area (region).
15
+
16
+
In some cases, you will need to enable your search requests to be processed in a region or geography other than the one your Azure Maps Account is in. For example, due to local data residency laws, all South Korean addresses must be processed in South Korea, which is the _Korea Central_ region in Azure Maps. To do this, you must give Azure Maps consent to process your data in the _Korea Central_ region. For more information on how to give Azure maps consent to process data in a different region, see [Configure global data processing].
17
+
18
+
For more information on geographic scope in Azure Maps, see [Azure Maps service geographic scope].
19
+
20
+
## Frequently asked questions
21
+
22
+
**My scenario doesn't have any South Korea data. Do I still need to enable cross region processing to use Azure Maps?**
23
+
24
+
No, if your scenario doesn't require South Korea data, you don't need to enable cross region processing. This is a specific regional requirement due to data residency laws.
25
+
26
+
**Where will my data be stored if I enable cross region processing in South Korea?**
27
+
28
+
Giving consent to process data in a different region will not affect where your metadata and logs are stored. Those are still contained within the region specified when creating your Azure Maps Account.
29
+
30
+
## Next steps
31
+
32
+
> [!div class="nextstepaction"]
33
+
> [Configure global data processing]
34
+
35
+
[Azure Maps service geographic scope]: geographic-scope.md
36
+
[Configure global data processing]: how-to-manage-consent.md
Copy file name to clipboardExpand all lines: articles/azure-maps/geocoding-coverage.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,7 +133,7 @@ The ability to geocode in a country/region is dependent upon the road data cover
133
133
| Samoa |||| ✓ | ✓ |
134
134
| Singapore | ✓ | ✓ | ✓ | ✓ | ✓ |
135
135
| Solomon Islands |||| ✓ | ✓ |
136
-
| South Korea|||| ✓ | ✓ |
136
+
| South Korea<sup>1</sup>|||| ✓ | ✓ |
137
137
| Sri Lanka |||| ✓ | ✓ |
138
138
| Taiwan | ✓ | ✓ | ✓ | ✓ | ✓ |
139
139
| Thailand | ✓ || ✓ | ✓ | ✓ |
@@ -146,6 +146,8 @@ The ability to geocode in a country/region is dependent upon the road data cover
146
146
| Vietnam | ✓ || ✓ | ✓ | ✓ |
147
147
| Wallis & Futuna |||| ✓ | ✓ |
148
148
149
+
<sup>1</sup> Coverage is dependent on enabling data processing in South Korea. For more information, see [Enable South Korea addresses in Azure Maps](how-to-manage-consent.md).
150
+
149
151
## Europe
150
152
151
153
| Country/Region | Address points |House numbers | Street level | City level | Points of interest |
description: This article describes how to configure the global data processing settings in Azure Maps to comply with data residency laws.
4
+
author: pbrasil
5
+
ms.author: peterbr
6
+
ms.date: 11/19/2024
7
+
ms.topic: how-to
8
+
ms.service: azure-maps
9
+
ms.subservice: manage-account
10
+
---
11
+
12
+
# Configure global data processing
13
+
14
+
In some cases, it may be necessary to process requests in a region different from your Azure Maps Account's region due to local data residency laws. When this happens, you can grant Azure Maps consent to process your data in other specified regions. For more information, see [Consent management].
15
+
16
+
This article guides you on configuring global data processing settings to comply with data residency laws using multiple approaches including the [Azure Portal](#configure-global-data-processing-in-the-azure-portal), [REST APIs](#configure-global-data-processing-using-rest-api) or an [ARM deployment template](#configure-global-data-processing-using-an-arm-deployment-template). This allows Azure Maps to process address requests within the specified country's region, regardless of your Azure Maps Account's region.
17
+
18
+
> [!IMPORTANT]
19
+
> If your scenarios don't involve South Korea data, there is no need to enable cross-region processing. This requirement is specific to South Korea due to its data residency laws.
20
+
21
+
## Configure global data processing in the Azure portal
22
+
23
+
The Azure Maps Resource location is enabled by default and can be configured in the **Process Data Globally** page of the Azure portal.
24
+
25
+
To give consent to one or more regions:
26
+
27
+
1. Sign in to your Azure Maps Account in the [Azure portal].
28
+
1. In **Settings**, select **Process data globally**.
29
+
30
+
A map of the world appears with a plus sign for each region that can be selected.
31
+
32
+
:::image type="content" source="./media/consent-management/process-data-globally.png" lightbox="./media/consent-management/process-data-globally.png" alt-text="Screenshot showing the process data globally screen in the Azure portal.":::
33
+
34
+
1. Additionally you can select **Add region**, then select the region you wish to add or remove.
35
+
36
+
:::image type="content" source="./media/consent-management/select-korea-central.png" lightbox="./media/consent-management/select-korea-central.png" alt-text="Screenshot showing the process data globally screen in the Azure portal with the Korea Central region selected.":::
37
+
38
+
1. Once you all desired regions are chosen, select **Save**.
39
+
40
+
:::image type="content" source="./media/consent-management/save-selection.png" lightbox="./media/consent-management/save-selection.png" alt-text="Screenshot showing the save button highlighted in process data globally screen in the Azure portal.":::
41
+
42
+
Once your updates are saved, one or more new selections appear in the list of regions.
43
+
44
+
:::image type="content" source="./media/consent-management/new-region-added.png" lightbox="./media/consent-management/new-region-added.png" alt-text="Screenshot showing the process data globally screen in the Azure portal with the Korea Central region added to the list of supported regions.":::
45
+
46
+
## Configure global data processing using REST API
47
+
48
+
Consent can be managed using [Azure Maps Account Management REST APIs]. To Configure global data processing, send an [Accounts - Update]`PATCH` request and pass in the `properties.locations` parameter in the body of the request.
49
+
50
+
Be sure to include the appropriate [subscription key], resource group and Azure Maps account name.
0 commit comments