Skip to content

Commit ae9187d

Browse files
Merge pull request #220787 from rwestMSFT/rw-1207-linter-test
Testing new linter
2 parents 7e1bc8f + 83c1735 commit ae9187d

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

articles/storage/common/migrate-azure-credentials.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,20 @@
22
title: Migrate applications to use passwordless authentication with Azure Storage
33
titleSuffix: Azure Storage
44
description: Learn to migrate existing applications away from Shared Key authorization with the account key to instead use Azure AD and Azure RBAC for enhanced security.
5-
services: storage
65
author: alexwolfmsft
7-
8-
ms.service: storage
9-
ms.topic: how-to
10-
ms.date: 07/28/2022
116
ms.author: alexwolf
7+
ms.reviewer: randolphwest
8+
ms.date: 12/07/2022
9+
ms.service: storage
1210
ms.subservice: common
11+
ms.topic: how-to
12+
ms.custom:
13+
- devx-track-csharp
14+
- passwordless-java
15+
- passwordless-js
16+
- passwordless-python
17+
- passwordless-dotnet
1318
ms.devlang: csharp
14-
ms.custom: devx-track-csharp, passwordless-java, passwordless-js, passwordless-python, passwordless-dotnet
1519
---
1620

1721
# Migrate an application to use passwordless connections with Azure services
@@ -20,7 +24,7 @@ Application requests to Azure Storage must be authenticated using either account
2024

2125
## Security risks associated with Shared Key authorization
2226

23-
The following code example demonstrates how to connect to Azure Storage using a storage account key. When you create a storage account, Azure generates access keys for that account. Many developers gravitate towards this solution because it feels familiar to options they have worked with in the past. For example, connection strings for storage accounts also use access keys as part of the string. If your application currently uses access keys, consider migrating to passwordless connections using the steps described later in this document.
27+
The following code example demonstrates how to connect to Azure Storage using a storage account key. When you create a storage account, Azure generates access keys for that account. Many developers gravitate towards this solution because it feels familiar to options they have worked with in the past. For example, connection strings for storage accounts also use access keys as part of the string. If your application currently uses access keys, consider migrating to passwordless connections using the steps described later in this document.
2428

2529
```csharp
2630
var blobServiceClient = new BlobServiceClient(
@@ -30,7 +34,7 @@ var blobServiceClient = new BlobServiceClient(
3034

3135
Storage account keys should be used with caution. Developers must be diligent to never expose the keys in an unsecure location. Anyone who gains access to the key is able to authenticate. For example, if an account key is accidentally checked into source control, sent through an unsecure email, pasted into the wrong chat, or viewed by someone who shouldn't have permission, there's risk of a malicious user accessing the application. Instead, consider updating your application to use passwordless connections.
3236

33-
## Migrating to passwordless connections
37+
## Migrate to passwordless connections
3438

3539
Many Azure services support passwordless connections through Azure AD and Role Based Access control (RBAC). These techniques provide robust security features and can be implemented using `DefaultAzureCredential` from the Azure Identity client libraries.
3640

@@ -135,11 +139,11 @@ For this migration guide you will use App Service, but the steps are similar on
135139

136140
Select **Next: Authentication**.
137141

138-
:::image type="content" source="media/migration-create-identity-small.png" alt-text="Screenshot showing how to create a system assigned managed identity." lightbox="media/migration-create-identity.png":::
142+
:::image type="content" source="media/migration-create-identity-small.png" alt-text="Screenshot showing how to create a system assigned managed identity." lightbox="media/migration-create-identity.png":::
139143

140144
1. Make sure **System assigned managed identity (Recommended)** is selected, and then choose **Next: Networking**.
141145
1. Leave the default values selected, and then choose **Next: Review + Create**.
142-
1. After Azure validates your settings, click **Create**.
146+
1. After Azure validates your settings, select **Create**.
143147

144148
The Service Connector will automatically create a system-assigned managed identity for the app service. The connector will also assign the managed identity a **Storage Blob Data Contributor** role for the storage account you selected.
145149

@@ -289,15 +293,15 @@ If you connected your services using the Service Connector you do not need to co
289293

290294
1. Choose **Add role assignment**
291295

292-
:::image type="content" source="media/migration-add-role-small.png" alt-text="Screenshot showing how to add a role to a managed identity." lightbox="media/migration-add-role.png":::
296+
:::image type="content" source="media/migration-add-role-small.png" alt-text="Screenshot showing how to add a role to a managed identity." lightbox="media/migration-add-role.png":::
293297

294298
1. In the **Role** search box, search for *Storage Blob Data Contributor*, which is a common role used to manage data operations for blobs. You can assign whatever role is appropriate for your use case. Select the *Storage Blob Data Contributor* from the list and choose **Next**.
295299

296300
1. On the **Add role assignment** screen, for the **Assign access to** option, select **Managed identity**. Then choose **+Select members**.
297301

298302
1. In the flyout, search for the managed identity you created by entering the name of your app service. Select the system assigned identity, and then choose **Select** to close the flyout menu.
299303

300-
:::image type="content" source="media/migration-select-identity-small.png" alt-text="Screenshot showing how to select the assigned managed identity." lightbox="media/migration-select-identity.png":::
304+
:::image type="content" source="media/migration-select-identity-small.png" alt-text="Screenshot showing how to select the assigned managed identity." lightbox="media/migration-select-identity.png":::
301305

302306
1. Select **Next** a couple times until you're able to select **Review + assign** to finish the role assignment.
303307

0 commit comments

Comments
 (0)