Skip to content

Commit 6726553

Browse files
Merge pull request #286495 from pauljewellmsft/queue-refresh
Update queue articles - Acrolinx
2 parents 1151186 + 4ba2fa4 commit 6726553

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

articles/storage/queues/client-side-encryption.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ author: pauljewellmsft
77

88
ms.service: azure-queue-storage
99
ms.topic: article
10-
ms.date: 07/11/2022
10+
ms.date: 09/10/2024
1111
ms.author: pauljewell
1212
ms.reviewer: ozgun
1313
ms.custom: devx-track-csharp
@@ -38,7 +38,7 @@ Due to a security vulnerability discovered in the Queue Storage client library's
3838

3939
- If you need to use client-side encryption, then migrate your applications from client-side encryption v1 to client-side encryption v2.
4040

41-
The following table summarizes the steps you'll need to take if you choose to migrate your applications to client-side encryption v2:
41+
The following table summarizes the steps you need to take if you choose to migrate your applications to client-side encryption v2:
4242

4343
| Client-side encryption status | Recommended actions |
4444
|---|---|
@@ -59,7 +59,7 @@ The following table shows which versions of the client libraries for .NET and Py
5959
| **Client-side encryption v2 and v1** | [Versions 12.11.0 and later](https://www.nuget.org/packages/Azure.Storage.Queues) | [Versions 12.4.0 and later](https://pypi.org/project/azure-storage-queue) |
6060
| **Client-side encryption v1 only** | Versions 12.10.0 and earlier | Versions 12.3.0 and earlier |
6161

62-
If your application is using client-side encryption with an earlier version of the .NET or Python client library, you must first upgrade your code to a version that supports client-side encryption v2. Next, you must decrypt and re-encrypt your data with client-side encryption v2. If necessary, you can use a version of the client library that supports client-side encryption v2 side-by-side with an earlier version of the client library while you are migrating your code.
62+
If your application is using client-side encryption with an earlier version of the .NET or Python client library, you must first upgrade your code to a version that supports client-side encryption v2. Next, you must decrypt and re-encrypt your data with client-side encryption v2. If necessary, you can use a version of the client library that supports client-side encryption v2 side-by-side with an earlier version of the client library while you're migrating your code.
6363

6464
## How client-side encryption works
6565

@@ -90,15 +90,15 @@ Decryption via the envelope technique works as follows:
9090

9191
Since queue messages can be of any format, the client library defines a custom format that includes the Initialization Vector (IV) and the encrypted content encryption key (CEK) in the message text.
9292

93-
During encryption, the client library generates a random IV of 16 bytes along with a random CEK of 32 bytes and performs envelope encryption of the queue message text using this information. The wrapped CEK and some additional encryption metadata are then added to the encrypted queue message. This modified message (shown below) is stored on the service.
93+
During encryption, the client library generates a random IV of 16 bytes along with a random CEK of 32 bytes and performs envelope encryption of the queue message text using this information. The wrapped CEK and some additional encryption metadata are then added to the encrypted queue message. This modified message is stored on the service.
9494

9595
```xml
9696
<MessageText>{"EncryptedMessageContents":"6kOu8Rq1C3+M1QO4alKLmWthWXSmHV3mEfxBAgP9QGTU++MKn2uPq3t2UjF1DO6w","EncryptionData":{…}}</MessageText>
9797
```
9898

99-
During decryption, the wrapped key is extracted from the queue message and unwrapped. The IV is also extracted from the queue message and used along with the unwrapped key to decrypt the queue message data. Encryption metadata is small (under 500 bytes), so while it does count toward the 64KB limit for a queue message, the impact should be manageable. The encrypted message is Base64-encoded, as shown in the above snippet, which will also expand the size of the message being sent.
99+
During decryption, the wrapped key is extracted from the queue message and unwrapped. The IV is also extracted from the queue message and used along with the unwrapped key to decrypt the queue message data. Encryption metadata is small (under 500 bytes), so while it does count toward the 64 KB limit for a queue message, the impact should be manageable. The encrypted message is Base64-encoded, as shown in the above snippet, which expands the size of the message being sent.
100100

101-
Due to the short-lived nature of messages in the queue, decrypting and reencrypting queue messages after updating to client-side encryption v2 should not be necessary. Any less secure messages will be rotated in the course of normal queue consumption.
101+
Due to the short-lived nature of messages in the queue, decrypting and reencrypting queue messages after updating to client-side encryption v2 shouldn't be necessary. Any less secure messages are rotated in the course of normal queue consumption.
102102

103103
## Client-side encryption and performance
104104

articles/storage/queues/queues-auth-abac-examples.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: Example Azure role assignment conditions for Queue Storage
2+
title: Examples for Azure role assignment conditions for Queue Storage
33
titleSuffix: Azure Storage
4-
description: Example Azure role assignment conditions for Queue Storage.
4+
description: Example role assignment conditions and Azure attribute-based access control (Azure ABAC) for Azure Queue Storage.
55
author: pauljewellmsft
66

77
ms.service: azure-queue-storage
@@ -47,7 +47,7 @@ This condition allows users to peek or clear messages in a queue named **sample-
4747
4848
![Diagram of condition showing peek and clear access to named queue.](./media/queues-auth-abac-examples/peek-clear-messages-named-queue.png)
4949

50-
The condition can be added to a role assignment using either the Azure portal or Azure PowerShell. The portal has two tools for building ABAC conditions - the visual editor and the code editor. You can switch between the two editors in the Azure portal to see your conditions in different views. Switch between the **Visual editor** tab and the **Code editor** tabs below to view the examples for your preferred portal editor.
50+
The condition can be added to a role assignment using either the Azure portal or Azure PowerShell. The portal has two tools for building ABAC conditions - the visual editor and the code editor. You can switch between the two editors in the Azure portal to see your conditions in different views. Switch between the **Visual editor** tab and the **Code editor** tabs in this article to view the examples for your preferred portal editor.
5151

5252
# [Portal: Visual editor](#tab/portal-visual-editor)
5353

@@ -68,7 +68,7 @@ Use the values in the following table to build the expression portion of the con
6868
| Operator | [StringEquals](../../role-based-access-control/conditions-format.md#stringequals) |
6969
| Value | {queueName} |
7070

71-
The following image shows the condition after the settings have been entered into the Azure portal. Note that you must group expressions to ensure correct evaluation.
71+
The following image shows the condition after the settings are entered into the Azure portal. You must group expressions to ensure correct evaluation.
7272

7373
:::image type="content" source="./media/queues-auth-abac-examples/peek-clear-messages-portal.png" alt-text="Screenshot of condition editor in Azure portal showing peek or clear access to messages in a named queue." lightbox="./media/queues-auth-abac-examples/peek-clear-messages-portal.png":::
7474

@@ -150,7 +150,7 @@ Use the values in the following table to build the expression portion of the con
150150
| Operator | [DateTimeGreaterThan](../../role-based-access-control/conditions-format.md#datetime-comparison-operators) |
151151
| Value | `2023-05-01T13:00:00.000Z` |
152152

153-
The following image shows the condition after the settings have been entered into the Azure portal. Note that you must group expressions to ensure correct evaluation.
153+
The following image shows the condition after the settings are entered into the Azure portal. You must group expressions to ensure correct evaluation.
154154

155155
:::image type="content" source="./media/queues-auth-abac-examples/environment-utcnow-queue-peek-portal.png" alt-text="Screenshot of the condition editor in the Azure portal showing peek access allowed after a specific date and time." lightbox="./media/queues-auth-abac-examples/environment-utcnow-queue-peek-portal.png":::
156156

@@ -242,7 +242,7 @@ Use the values in the following table to build the expression portion of the con
242242
| Operator | [StringEqualsIgnoreCase](../../role-based-access-control/conditions-format.md#stringequals) |
243243
| Value | `/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/sample-vnet/subnets/default` |
244244

245-
The following image shows the condition after the settings have been entered into the Azure portal. Note that you must group expressions to ensure correct evaluation.
245+
The following image shows the condition after the settings are entered into the Azure portal. You must group expressions to ensure correct evaluation.
246246

247247
:::image type="content" source="./media/queues-auth-abac-examples/environment-subnet-queue-put-update-portal.png" alt-text="Screenshot of the condition editor in the Azure portal showing read access to specific queues allowed from a specific subnet." lightbox="./media/queues-auth-abac-examples/environment-subnet-queue-put-update-portal.png":::
248248

0 commit comments

Comments
 (0)