Skip to content

Commit a3b1d57

Browse files
committed
improve grammar and convert links to end links
1 parent 4573049 commit a3b1d57

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

articles/azure-maps/authentication-best-practices.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,46 +14,43 @@ services: azure-maps
1414

1515
The single most important part of your application is its security. No matter how good the user experience might be, if your application isn't secure a hacker can ruin it.
1616

17-
The following are some tips to keep your Azure Maps application secure. When using Azure, be sure to familiarize yourself with the security tools available to you. For more information, See the [introduction to Azure security](../security/fundamentals/overview.md).
17+
The following are some tips to keep your Azure Maps application secure. When using Azure, be sure to familiarize yourself with the security tools available to you. For more information, See the [introduction to Azure security].
1818

1919
## Understanding security threats
2020

21-
If a hacker gains access to your Azure Maps account, they can potentially use it to make an unlimited number of unauthorized requests, which could result in decreased performance due to QPS limits and significant billable transactions to your account.
22-
23-
When considering best practices for securing your Azure Maps applications, you'll need to understand the different authentication options available.
24-
25-
26-
21+
Hackers gaining access to your account could potentially make unlimited billable transactions, resulting in unexpected costs and decreased performance due to QPS limits.
2722

23+
When considering best practices for securing your Azure Maps applications, you need to understand the different authentication options available.
2824

2925
## Authentication best practices in Azure Maps
3026

31-
When creating a publicly facing client application with Azure Maps using any of the available SDKs whether it be Android, iOS or the Web SDK, you must ensure that your authentication secrets aren't publicly accessible.
27+
When creating publicly facing client applications with Azure Maps, you must ensure that your authentication secrets aren't publicly accessible.
3228

33-
Subscription key-based authentication (Shared Key) can be used in either client side applications or web services, however it is the least secure approach to securing your application or web service. This is because the key grants access to all Azure Maps REST API that are available in the SKU (Pricing Tier) selected when creating the Azure Maps account and the key can be easily obtained from an HTTP request. If you do use subscription keys, be sure to [rotate them regularly](how-to-manage-authentication.md#manage-and-rotate-shared-keys) and keep in mind that Shared Key doesn't allow for configurable lifetime, it must be done manually. You should also consider using [Shared Key authentication with Azure Key Vault](how-to-secure-daemon-app.md#scenario-shared-key-authentication-with-azure-key-vault), which enables you to securely store your secret in Azure.
29+
Subscription key-based authentication (Shared Key) can be used in either client side applications or web services, however it's the least secure approach to securing your application or web service. The reason is the key is easily obtained from an HTTP request and grants access to all Azure Maps REST API available in the SKU (Pricing Tier). If you do use subscription keys, be sure to [rotate them regularly] and keep in mind that Shared Key doesn't allow for configurable lifetime, it must be done manually. You should also consider using [Shared Key authentication with Azure Key Vault], which enables you to securely store your secret in Azure.
3430

35-
If using [Azure Active Directory (Azure AD) authentication](../active-directory/fundamentals/active-directory-whatis.md) or [Shared Access Signature (SAS) Token authentication](azure-maps-authentication.md#shared-access-signature-token-authentication) (preview), access to Azure Maps REST APIs is authorized using [role-based access control (RBAC)](azure-maps-authentication.md#authorization-with-role-based-access-control). RBAC enables you to control what access is given to the issued tokens. You should consider how long access should be granted for the tokens. Unlike Shared Key authentication, the lifetime of these tokens is configurable.
31+
If using [Azure Active Directory (Azure AD) authentication] or [Shared Access Signature (SAS) Token authentication] (preview), access to Azure Maps REST APIs is authorized using [role-based access control (RBAC)]. RBAC enables you to control what access is given to the issued tokens. You should consider how long access should be granted for the tokens. Unlike Shared Key authentication, the lifetime of these tokens is configurable.
3632

3733
> [!TIP]
3834
>
39-
> For more information on configuring token lifetimes see:
40-
> - [Configurable token lifetimes in the Microsoft identity platform (preview)](../active-directory/develop/active-directory-configurable-token-lifetimes.md)
41-
> - [Create SAS tokens](azure-maps-authentication.md#create-sas-tokens)
35+
> For more information on configuring token lifetimes, see:
36+
>
37+
> - [Configurable token lifetimes in the Microsoft identity platform (preview)]
38+
> - [Create SAS tokens]
4239
4340
### Public client and confidential client applications
4441

45-
There are different security concerns between public and confidential client applications. See [Public client and confidential client applications](../active-directory/develop/msal-client-applications.md) in the Microsoft identity platform documentation for more information about what is considered a *public* versus *confidential* client application.
42+
There are different security concerns between public and confidential client applications. For more information about what is considered a *public* versus *confidential* client application, see [Public client and confidential client applications] in the Microsoft identity platform documentation.
4643

4744
### Public client applications
4845

49-
For apps that run on devices or desktop computers or in a web browser, you should consider defining which domains have access to your Azure Map account using [Cross origin resource sharing (CORS)](azure-maps-authentication.md#cross-origin-resource-sharing-cors). CORS instructs the clients' browser on which origins such as "https://microsoft.com" are allowed to request resources for the Azure Map account.
46+
For apps that run on devices or desktop computers or in a web browser, you should consider defining which domains have access to your Azure Map account using [Cross origin resource sharing (CORS)]. CORS instructs the clients' browser on which origins such as "https://microsoft.com" are allowed to request resources for the Azure Map account.
5047

5148
> [!NOTE]
5249
> If you're developing a web server or service, your Azure Maps account does not need to be configured with CORS. If you have JavaScript code in the client side web application, CORS does apply.
5350
5451
### Confidential client applications
5552

56-
For apps that run on servers (such as web services and service/daemon apps), if you prefer to avoid the overhead and complexity of managing secrets, consider [Managed Identities](../active-directory/managed-identities-azure-resources/overview.md). Managed identities can provide an identity for your web service to use when connecting to Azure Maps using Azure Active Directory (Azure AD) authentication. In this case, your web service will use that identity to obtain the required Azure AD tokens. You should use Azure RBAC to configure what access the web service is given, using the [Least privileged roles](../active-directory/roles/delegate-by-task.md) possible.
53+
For apps that run on servers (such as web services and service/daemon apps), if you prefer to avoid the overhead and complexity of managing secrets, consider [Managed Identities]. Managed identities can provide an identity for your web service to use when connecting to Azure Maps using Azure Active Directory (Azure AD) authentication. If so, your web service uses that identity to obtain the required Azure AD tokens. You should use Azure RBAC to configure what access the web service is given, using the [Least privileged roles] possible.
5754

5855
## Next steps
5956

@@ -64,4 +61,17 @@ For apps that run on servers (such as web services and service/daemon apps), if
6461
> [Manage authentication in Azure Maps](how-to-manage-authentication.md)
6562
6663
> [!div class="nextstepaction"]
67-
> [Tutorial: Add app authentication to your web app running on Azure App Service](../app-service/scenario-secure-app-authentication-app-service.md)
64+
> [Tutorial: Add app authentication to your web app running on Azure App Service](../app-service/scenario-secure-app-authentication-app-service.md)
65+
66+
[introduction to Azure security]: ../security/fundamentals/overview.md
67+
[rotate them regularly]: how-to-manage-authentication.md#manage-and-rotate-shared-keys
68+
[Shared Key authentication with Azure Key Vault]: how-to-secure-daemon-app.md#scenario-shared-key-authentication-with-azure-key-vault
69+
[Azure Active Directory (Azure AD) authentication]: ../active-directory/fundamentals/active-directory-whatis.md
70+
[Shared Access Signature (SAS) Token authentication]: azure-maps-authentication.md#shared-access-signature-token-authentication
71+
[role-based access control (RBAC)]: azure-maps-authentication.md#authorization-with-role-based-access-control
72+
[Configurable token lifetimes in the Microsoft identity platform (preview)]: ../active-directory/develop/active-directory-configurable-token-lifetimes.md
73+
[Create SAS tokens]: azure-maps-authentication.md#create-sas-tokens
74+
[Public client and confidential client applications]: ../active-directory/develop/msal-client-applications.md
75+
[Cross origin resource sharing (CORS)]: azure-maps-authentication.md#cross-origin-resource-sharing-cors
76+
[Managed Identities]: ../active-directory/managed-identities-azure-resources/overview.md
77+
[Least privileged roles]: ../active-directory/roles/delegate-by-task.md

0 commit comments

Comments
 (0)