Skip to content

Commit 55d5175

Browse files
authored
Merge pull request #211201 from jimmart-dev/jammart-abac-queues
build abac docs for queues
2 parents e8bae98 + f9785e6 commit 55d5175

File tree

7 files changed

+236
-94
lines changed

7 files changed

+236
-94
lines changed

articles/storage/blobs/TOC.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ items:
148148
- name: Authorize with Azure roles
149149
href: authorize-access-azure-active-directory.md
150150
- name: Authorize with conditions
151-
href: storage-auth-abac.md?toc=%2fazure%2fstorage%2fblobs%2ftoc.json
151+
href: storage-auth-abac.md
152152
- name: Actions and attributes for conditions
153153
href: storage-auth-abac-attributes.md
154154
- name: Security for conditions
@@ -922,6 +922,23 @@ items:
922922
href: data-lake-storage-integrate-with-services-tutorials.md
923923
- name: Concepts
924924
items:
925+
- name: Authorization
926+
items:
927+
- name: Authorizing data operations
928+
href: ../common/authorize-data-access.md?toc=%2fazure%2fstorage%2fblobs%2ftoc.json
929+
items:
930+
- name: Authorize with Azure AD
931+
items:
932+
- name: Authorize with Azure roles
933+
href: authorize-access-azure-active-directory.md
934+
- name: Authorize with conditions
935+
href: storage-auth-abac.md
936+
- name: Actions and attributes for conditions
937+
href: storage-auth-abac-attributes.md
938+
- name: Security for conditions
939+
href: storage-auth-abac-security.md
940+
- name: Example conditions
941+
href: storage-auth-abac-examples.md
925942
- name: Best practices
926943
href: data-lake-storage-best-practices.md
927944
- name: Query acceleration

articles/storage/blobs/storage-auth-abac-attributes.md

Lines changed: 3 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
2-
title: Actions and attributes for Azure role assignment conditions in Azure Storage (preview)
2+
title: Actions and attributes for Azure role assignment conditions in Azure Storage
33
titleSuffix: Azure Storage
44
description: Supported actions and attributes for Azure role assignment conditions and Azure attribute-based access control (Azure ABAC) in Azure Storage.
55
services: storage
66
author: jimmart-dev
77

88
ms.service: storage
99
ms.topic: conceptual
10-
ms.date: 09/01/2022
10+
ms.date: 09/14/2022
1111
ms.author: jammart
1212
ms.reviewer: nachakra
1313
ms.subservice: blobs
@@ -17,6 +17,7 @@ ms.subservice: blobs
1717

1818
> [!IMPORTANT]
1919
> Azure ABAC and Azure role assignment conditions are currently in preview.
20+
>
2021
> This preview version is provided without a service level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities.
2122
> For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
2223
@@ -294,70 +295,6 @@ This section lists the supported Azure Blob storage actions and suboperations yo
294295
> | **Examples** | [Example: Read, write, or delete blobs in named containers](storage-auth-abac-examples.md#example-read-write-or-delete-blobs-in-named-containers)<br/>[Example: Read blobs in named containers with a path](storage-auth-abac-examples.md#example-read-blobs-in-named-containers-with-a-path)<br/>[Example: Read or list blobs in named containers with a path](storage-auth-abac-examples.md#example-read-or-list-blobs-in-named-containers-with-a-path)<br/>[Example: Write blobs in named containers with a path](storage-auth-abac-examples.md#example-write-blobs-in-named-containers-with-a-path)<br/>[Example: Read only current blob versions](storage-auth-abac-examples.md#example-read-only-current-blob-versions)<br/>[Example: Read current blob versions and any blob snapshots](storage-auth-abac-examples.md#example-read-current-blob-versions-and-any-blob-snapshots)<br/>[Example: Read only storage accounts with hierarchical namespace enabled](storage-auth-abac-examples.md#example-read-only-storage-accounts-with-hierarchical-namespace-enabled) |
295296
> | **Learn more** | [Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md) |
296297
297-
## Azure Queue storage actions
298-
299-
This section lists the supported Azure Queue storage actions you can target for conditions.
300-
301-
### Peek messages
302-
303-
> [!div class="mx-tdCol2BreakAll"]
304-
> | Property | Value |
305-
> | --- | --- |
306-
> | **Display name** | Peek messages |
307-
> | **Description** | DataAction for peeking messages. |
308-
> | **DataAction** | `Microsoft.Storage/storageAccounts/queueServices/queues/messages/read` |
309-
> | **Resource attributes** | [Account name](#account-name)<br/>[Queue name](#queue-name) |
310-
> | **Request attributes** | |
311-
> | **Principal attributes support** | True |
312-
313-
### Put a message
314-
315-
> [!div class="mx-tdCol2BreakAll"]
316-
> | Property | Value |
317-
> | --- | --- |
318-
> | **Display name** | Put a message |
319-
> | **Description** | DataAction for putting a message. |
320-
> | **DataAction** | `Microsoft.Storage/storageAccounts/queueServices/queues/messages/add/action` |
321-
> | **Resource attributes** | [Account name](#account-name)<br/>[Queue name](#queue-name) |
322-
> | **Request attributes** | |
323-
> | **Principal attributes support** | True |
324-
325-
### Put or update a message
326-
327-
> [!div class="mx-tdCol2BreakAll"]
328-
> | Property | Value |
329-
> | --- | --- |
330-
> | **Display name** | Put or update a message |
331-
> | **Description** | DataAction for putting or updating a message. |
332-
> | **DataAction** | `Microsoft.Storage/storageAccounts/queueServices/queues/messages/write` |
333-
> | **Resource attributes** | [Account name](#account-name)<br/>[Queue name](#queue-name) |
334-
> | **Request attributes** | |
335-
> | **Principal attributes support** | True |
336-
337-
### Clear messages
338-
339-
> [!div class="mx-tdCol2BreakAll"]
340-
> | Property | Value |
341-
> | --- | --- |
342-
> | **Display name** | Clear messages |
343-
> | **Description** | DataAction for clearing messages. |
344-
> | **DataAction** | `Microsoft.Storage/storageAccounts/queueServices/queues/messages/delete` |
345-
> | **Resource attributes** | [Account name](#account-name)<br/>[Queue name](#queue-name) |
346-
> | **Request attributes** | |
347-
> | **Principal attributes support** | True |
348-
349-
### Get or delete messages
350-
351-
> [!div class="mx-tdCol2BreakAll"]
352-
> | Property | Value |
353-
> | --- | --- |
354-
> | **Display name** | Get or delete messages |
355-
> | **Description** | DataAction for getting or deleting messages. |
356-
> | **DataAction** | `Microsoft.Storage/storageAccounts/queueServices/queues/messages/process/action` |
357-
> | **Resource attributes** | [Account name](#account-name)<br/>[Queue name](#queue-name) |
358-
> | **Request attributes** | |
359-
> | **Principal attributes support** | True |
360-
361298
## Azure Blob storage attributes
362299

363300
This section lists the Azure Blob storage attributes you can use in your condition expressions depending on the action you target. If you select multiple actions for a single condition, there might be fewer attributes to choose from for your condition because the attributes must be available across the selected actions.
@@ -518,21 +455,6 @@ This section lists the Azure Blob storage attributes you can use in your conditi
518455
> | **Examples** | `@Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:versionId] DateTimeEquals '2022-06-01T23:38:32.8883645Z'`<br/>[Example: Read current blob versions and a specific blob version](storage-auth-abac-examples.md#example-read-current-blob-versions-and-a-specific-blob-version)<br/>[Example: Read current blob versions and any blob snapshots](storage-auth-abac-examples.md#example-read-current-blob-versions-and-any-blob-snapshots) |
519456
> | **Learn more** | [Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md) |
520457
521-
## Azure Queue storage attributes
522-
523-
This section lists the Azure Queue storage attributes you can use in your condition expressions depending on the action you target.
524-
525-
### Queue name
526-
527-
> [!div class="mx-tdCol2BreakAll"]
528-
> | Property | Value |
529-
> | --- | --- |
530-
> | **Display name** | Queue name |
531-
> | **Description** | Name of a storage queue. |
532-
> | **Attribute** | `Microsoft.Storage/storageAccounts/queueServices/queues:name` |
533-
> | **Attribute source** | Resource |
534-
> | **Attribute type** | String |
535-
536458
## See also
537459

538460
- [Example Azure role assignment conditions (preview)](storage-auth-abac-examples.md)

articles/storage/blobs/storage-auth-abac.md

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
---
22
title: Authorize access to blobs using Azure role assignment conditions (preview)
33
titleSuffix: Azure Storage
4-
description: Authorize access to Azure blobs using Azure role assignment conditions and Azure attribute-based access control (Azure ABAC). Define conditions on role assignments using Storage attributes.
4+
description: Authorize access to Azure blobs and Azure Data Lake Storage Gen2 (ADLS G2) using Azure role assignment conditions and Azure attribute-based access control (Azure ABAC). Define conditions on role assignments using Storage attributes.
55
services: storage
66
author: jimmart-dev
77

88
ms.service: storage
99
ms.topic: conceptual
10-
ms.date: 09/01/2022
10+
ms.date: 09/14/2022
1111
ms.author: jammart
1212
ms.reviewer: nachakra
1313
ms.subservice: blobs
@@ -17,6 +17,7 @@ ms.subservice: blobs
1717

1818
> [!IMPORTANT]
1919
> Azure ABAC and Azure role assignment conditions are currently in preview.
20+
>
2021
> This preview version is provided without a service level agreement, and it's not recommended for production workloads. Certain features might not be supported or might have constrained capabilities.
2122
> For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
2223
@@ -26,22 +27,22 @@ Azure ABAC builds on Azure role-based access control (Azure RBAC) by adding [con
2627

2728
## Overview of conditions in Azure Storage
2829

29-
Azure Storage enables the [use of Azure Active Directory](../common/authorize-data-access.md) (Azure AD) to authorize requests to blob, queue, and table resources using Azure RBAC. Azure RBAC helps you manage access to resources by defining who has access to resources and what they can do with those resources, using role definitions and role assignments. Azure Storage defines a set of Azure [built-in roles](../../role-based-access-control/built-in-roles.md#storage) that encompass common sets of permissions used to access blob, queue and table data. You can also define custom roles with select set of permissions. Azure Storage supports role assignments for storage accounts or blob containers.
30+
You can [use of Azure Active Directory](../common/authorize-data-access.md) (Azure AD) to authorize requests to Azure storage resources using Azure RBAC. Azure RBAC helps you manage access to resources by defining who has access to resources and what they can do with those resources, using role definitions and role assignments. Azure Storage defines a set of Azure [built-in roles](../../role-based-access-control/built-in-roles.md#storage) that encompass common sets of permissions used to access Azure storage data. You can also define custom roles with select sets of permissions. Azure Storage supports role assignments for both storage accounts and blob containers.
3031

31-
Azure ABAC builds on Azure RBAC by adding role assignment conditions in the context of specific actions. A *role assignment condition* is an additional check that is evaluated when the action on the storage resource is being authorized. This condition is expressed as a predicate using attributes associated with any of the following:
32+
Azure ABAC builds on Azure RBAC by adding [role assignment conditions](../../role-based-access-control/conditions-overview.md) in the context of specific actions. A *role assignment condition* is an additional check that is evaluated when the action on the storage resource is being authorized. This condition is expressed as a predicate using attributes associated with any of the following:
3233
- Security principal that is requesting authorization
3334
- Resource to which access is being requested
3435
- Parameters of the request
3536
- Environment from which the request originates
3637

3738
The benefits of using role assignment conditions are:
3839
- **Enable finer-grained access to resources** - For example, if you want to grant a user read access to blobs in your storage accounts only if the blobs are tagged as Project=Sierra, you can use conditions on the read action using tags as an attribute.
39-
- **Reduce the number of role assignments you have to create and manage** - You can do this by using a generalized role assignment for a security group, and then restricting the access for individual members of the group using a condition that matches attributes of a principal with attributes of a specific resource being accessed (such as, a blob or a container).
40+
- **Reduce the number of role assignments you have to create and manage** - You can do this by using a generalized role assignment for a security group, and then restricting the access for individual members of the group using a condition that matches attributes of a principal with attributes of a specific resource being accessed (such as a blob or a container).
4041
- **Express access control rules in terms of attributes with business meaning** - For example, you can express your conditions using attributes that represent a project name, business application, organization function, or classification level.
4142

4243
The tradeoff of using conditions is that you need a structured and consistent taxonomy when using attributes across your organization. Attributes must be protected to prevent access from being compromised. Also, conditions must be carefully designed and reviewed for their effect.
4344

44-
Role-assignment conditions in Azure Storage are supported for blobs. You can use conditions with accounts that have the [hierarchical namespace](../blobs/data-lake-storage-namespace.md) (HNS) feature enabled on them. Conditions are currently not supported for queue, table, or file resources in Azure Storage.
45+
Role-assignment conditions in Azure Storage are supported for Azure blob storage. You can also use conditions with accounts that have the [hierarchical namespace](../blobs/data-lake-storage-namespace.md) (HNS) feature enabled on them (ADLS G2).
4546

4647

4748
## Supported attributes and operations
@@ -51,10 +52,6 @@ In this preview, you can add conditions to built-in roles or custom roles. The b
5152
- [Storage Blob Data Reader](../../role-based-access-control/built-in-roles.md#storage-blob-data-reader)
5253
- [Storage Blob Data Contributor](../../role-based-access-control/built-in-roles.md#storage-blob-data-contributor)
5354
- [Storage Blob Data Owner](../../role-based-access-control/built-in-roles.md#storage-blob-data-owner).
54-
- [Storage Queue Data Contributor](../../role-based-access-control/built-in-roles.md#storage-queue-data-contributor)
55-
- [Storage Queue Data Message Processor](../../role-based-access-control/built-in-roles.md#storage-queue-data-message-processor)
56-
- [Storage Queue Data Message Sender](../../role-based-access-control/built-in-roles.md#storage-queue-data-message-sender)
57-
- [Storage Queue Data Reader](../../role-based-access-control/built-in-roles.md#storage-queue-data-reader)
5855

5956
You can use conditions with custom roles so long as the role includes [actions that support conditions](storage-auth-abac-attributes.md#azure-blob-storage-actions-and-suboperations).
6057

articles/storage/queues/TOC.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,17 @@
5050
- name: Authorization
5151
href: ../common/authorize-data-access.md?toc=/azure/storage/queues/toc.json
5252
items:
53+
- name: Authorizing data operations
54+
href: ../common/authorize-data-access.md?toc=%2fazure%2fstorage%2fblobs%2ftoc.json
55+
items:
56+
- name: Authorize with Azure AD
57+
items:
58+
- name: Authorize with Azure roles
59+
href: authorize-access-azure-active-directory.md
60+
- name: Authorize with conditions
61+
href: queues-auth-abac.md
62+
- name: Actions and attributes for conditions
63+
href: queues-auth-abac-attributes.md
5364
- name: Authenticate and authorize with Azure AD
5465
href: authorize-access-azure-active-directory.md
5566
- name: Authorize with Shared Key

articles/storage/queues/authorize-access-azure-active-directory.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ author: jimmart-dev
77

88
ms.service: storage
99
ms.topic: conceptual
10-
ms.date: 07/13/2021
10+
ms.date: 09/14/2022
1111
ms.author: jammart
12-
ms.subservice: common
12+
ms.subservice: queues
1313
---
1414

1515
# Authorize access to queues using Azure Active Directory

0 commit comments

Comments
 (0)