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/storage/blobs/storage-auth-abac-attributes.md
+19-20Lines changed: 19 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ author: jimmart-dev
7
7
8
8
ms.service: storage
9
9
ms.topic: conceptual
10
-
ms.date: 10/19/2022
10
+
ms.date: 10/25/2022
11
11
ms.author: jammart
12
12
ms.reviewer: nachakra
13
13
ms.subservice: blobs
@@ -23,14 +23,14 @@ To understand the role assignment condition format, see [Azure role assignment c
23
23
24
24
## Suboperations
25
25
26
-
Multiple Storage service operations can be associated with a single permission or DataAction. However, each of these operations that are associated with the same permission might support different parameters. *Suboperations* enable you to differentiate between service operations that require the same permission but support different set of attributes for conditions. Thus, by using a suboperation, you can specify one condition for access to a subset of operations that support a given parameter. Then, you can use another access condition for operations with the same action that doesn't support that parameter.
26
+
Multiple Storage service operations can be associated with a single permission or DataAction. However, each of these operations that are associated with the same permission might support different parameters. *Suboperations* enable you to differentiate between service operations that require the same permission but support a different set of attributes for conditions. Thus, by using a suboperation, you can specify one condition for access to a subset of operations that support a given parameter. Then, you can use another access condition for operations with the same action that doesn't support that parameter.
27
27
28
-
For example, the `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write` action is required for over a dozen different service operations. Some of these operations can accept blob index tags as request parameter, while others don't. For operations that accept blob index tags as a parameter, you can use blob index tags in a Request condition. However, if such a condition is defined on the `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write` action, all operations that don't accept tags as a request parameter cannot evaluate this condition, and will fail the authorization access check.
28
+
For example, the `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write` action is required for over a dozen different service operations. Some of these operations can accept blob index tags as a request parameter, while others don't. For operations that accept blob index tags as a parameter, you can use blob index tags in a Request condition. However, if such a condition is defined on the `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write` action, all operations that don't accept tags as a request parameter cannot evaluate this condition, and will fail the authorization access check.
29
29
30
30
In this case, the optional suboperation `Blob.Write.WithTagHeaders` can be used to apply a condition to only those operations that support blob index tags as a request parameter.
31
31
32
32
> [!NOTE]
33
-
> Blobs also support the ability to store arbitrary user-defined key-value metadata. Although metadata is similar to blob index tags, you must use blob index tags with conditions. For more information, see [Manage and find Azure Blob data with blob index tags](../blobs/storage-manage-find-blobs.md).
33
+
> Blobs also support the ability to store arbitrary user-defined key-value metadata. Although metadata is similar to blob index tags, you must use blob index tags with conditions. For more information, see [Manage and find Azure Blob data with blob index tags](storage-manage-find-blobs.md).
34
34
35
35
Storage accounts support the following suboperations:
36
36
@@ -77,12 +77,11 @@ This section lists the supported Azure Blob Storage actions and suboperations yo
77
77
78
78
### Read content from a blob with tag conditions
79
79
80
-
> [!IMPORTANT]
81
-
> Although `Read content from a blob with tag conditions` is currently supported for compatibility with conditions implemented during the ABAC feature preview, that suboperation has been deprecated and Microsoft recommends using the [“Read a blob”](#read-a-blob) action instead.
82
-
>
83
-
> When configuring ABAC conditions in the Azure portal, you might see "DEPRECATED: Read content from a blob with tag conditions". Remove the operation and replace it with the “Read a blob” operation instead.
84
-
>
85
-
> If you are authoring your own condition where you want to restrict read access by tag conditions, please refer to [Example: Read blobs with a blob index tag](storage-auth-abac-examples.md#example-read-blobs-with-a-blob-index-tag).
80
+
The `Read content from a blob with tag conditions` suboperation has been deprecated. Although it is currently supported for compatibility with conditions implemented during the ABAC feature preview, Microsoft recommends using the [Read a blob](#read-a-blob) action instead.
81
+
82
+
When configuring ABAC conditions in the Azure portal, you might see **DEPRECATED: Read content from a blob with tag conditions**. Microsoft recommends removing the operation and replacing it with the `Read a blob` action.
83
+
84
+
If you are authoring your own condition where you want to restrict read access by tag conditions, please refer to [Example: Read blobs with a blob index tag](storage-auth-abac-examples.md#example-read-blobs-with-a-blob-index-tag).
86
85
87
86
### Read blob index tags
88
87
@@ -96,7 +95,7 @@ This section lists the supported Azure Blob Storage actions and suboperations yo
96
95
> |**Resource attributes**|[Account name](#account-name)<br/>[Is Current Version](#is-current-version)<br/>[Is hierarchical namespace enabled](#is-hierarchical-namespace-enabled)<br/>[Container name](#container-name)<br/>[Blob path](#blob-path)<br/>[Blob index tags [Values in key]](#blob-index-tags-values-in-key)<br/>[Blob index tags [Keys]](#blob-index-tags-keys)|
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](../blobs/storage-manage-find-blobs.md)|
98
+
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](storage-manage-find-blobs.md)|
100
99
101
100
### Find blobs by tags
102
101
@@ -152,7 +151,7 @@ This section lists the supported Azure Blob Storage actions and suboperations yo
152
151
> |**Request attributes**|[Blob index tags [Values in key]](#blob-index-tags-values-in-key)<br/>[Blob index tags [Keys]](#blob-index-tags-keys)|
153
152
> |**Principal attributes support**| True |
154
153
> |**Examples**|`!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write'} AND SubOperationMatches{'Blob.Write.WithTagHeaders'})`<br/>`!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action'} AND SubOperationMatches{'Blob.Write.WithTagHeaders'})`<br/>[Example: New blobs must include a blob index tag](storage-auth-abac-examples.md#example-new-blobs-must-include-a-blob-index-tag)|
155
-
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](../blobs/storage-manage-find-blobs.md)|
154
+
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](storage-manage-find-blobs.md)|
156
155
157
156
### Create a blob or snapshot, or append data
158
157
@@ -181,7 +180,7 @@ This section lists the supported Azure Blob Storage actions and suboperations yo
181
180
> |**Request attributes**|[Blob index tags [Values in key]](#blob-index-tags-values-in-key)<br/>[Blob index tags [Keys]](#blob-index-tags-keys)<br/>[Version ID](#version-id)<br/>[Snapshot](#snapshot)|
182
181
> |**Principal attributes support**| True |
183
182
> |**Examples**|`!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write'})`<br/>[Example: Existing blobs must have blob index tag keys](storage-auth-abac-examples.md#example-existing-blobs-must-have-blob-index-tag-keys)|
184
-
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](../blobs/storage-manage-find-blobs.md)|
183
+
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](storage-manage-find-blobs.md)|
185
184
186
185
### Write Blob legal hold and immutability policy
187
186
@@ -289,7 +288,7 @@ This section lists the supported Azure Blob Storage actions and suboperations yo
289
288
> |**Request attributes**||
290
289
> |**Principal attributes support**| True |
291
290
> | **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) |
292
-
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
291
+
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](data-lake-storage-namespace.md)|
293
292
294
293
## Azure Blob Storage attributes
295
294
@@ -323,7 +322,7 @@ This section lists the Azure Blob Storage attributes you can use in your conditi
323
322
> |**Is key case sensitive**| True |
324
323
> |**Hierarchical namespace support**| False |
325
324
> |**Examples**|`@Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags&$keys$&] ForAllOfAnyValues:StringEquals {'Project', 'Program'}`<br/>[Example: Existing blobs must have blob index tag keys](storage-auth-abac-examples.md#example-existing-blobs-must-have-blob-index-tag-keys)|
326
-
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](../blobs/storage-manage-find-blobs.md)<br/>[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
325
+
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](storage-manage-find-blobs.md)<br/>[Azure Data Lake Storage Gen2 hierarchical namespace](data-lake-storage-namespace.md)|
327
326
328
327
### Blob index tags [Values in key]
329
328
@@ -338,7 +337,7 @@ This section lists the Azure Blob Storage attributes you can use in your conditi
338
337
> |**Is key case sensitive**| True |
339
338
> |**Hierarchical namespace support**| False |
340
339
> |**Examples**|`@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:`*keyname*`<$key_case_sensitive$>`<br/>`@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEquals 'Cascade'`<br/>[Example: Read blobs with a blob index tag](storage-auth-abac-examples.md#example-read-blobs-with-a-blob-index-tag)|
341
-
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](../blobs/storage-manage-find-blobs.md)<br/>[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
340
+
> |**Learn more**|[Manage and find Azure Blob data with blob index tags](storage-manage-find-blobs.md)<br/>[Azure Data Lake Storage Gen2 hierarchical namespace](data-lake-storage-namespace.md)|
342
341
343
342
### Blob path
344
343
@@ -394,7 +393,7 @@ This section lists the Azure Blob Storage attributes you can use in your conditi
394
393
> |**Attribute type**| String |
395
394
> |**Exists support**| True |
396
395
> |**Examples**|`@Resource[Microsoft.Storage/storageAccounts/encryptionScopes:name] ForAnyOfAnyValues:StringEquals {'validScope1', 'validScope2'}`<br/>[Example: Read blobs with specific encryption scopes](storage-auth-abac-examples.md#example-read-blobs-with-specific-encryption-scopes)|
397
-
> |**Learn more**|[Create and manage encryption scopes](../blobs/encryption-scope-manage.md)|
396
+
> |**Learn more**|[Create and manage encryption scopes](encryption-scope-manage.md)|
398
397
399
398
### Is Current Version
400
399
@@ -419,7 +418,7 @@ This section lists the Azure Blob Storage attributes you can use in your conditi
419
418
> |**Attribute source**| Resource |
420
419
> |**Attribute type**| Boolean |
421
420
> |**Examples**|`@Resource[Microsoft.Storage/storageAccounts:isHnsEnabled] BoolEquals true`<br/>[Example: Read only storage accounts with hierarchical namespace enabled](storage-auth-abac-examples.md#example-read-only-storage-accounts-with-hierarchical-namespace-enabled)|
422
-
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
421
+
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](data-lake-storage-namespace.md)|
423
422
424
423
### Snapshot
425
424
@@ -434,7 +433,7 @@ This section lists the Azure Blob Storage attributes you can use in your conditi
434
433
> |**Exists support**| True |
435
434
> |**Hierarchical namespace support**| False |
436
435
> |**Examples**|`Exists @Request[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:snapshot]`<br/>[Example: Read current blob versions and any blob snapshots](storage-auth-abac-examples.md#example-read-current-blob-versions-and-any-blob-snapshots)|
437
-
> |**Learn more**|[Blob snapshots](../blobs/snapshots-overview.md)<br/>[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
436
+
> |**Learn more**|[Blob snapshots](snapshots-overview.md)<br/>[Azure Data Lake Storage Gen2 hierarchical namespace](data-lake-storage-namespace.md)|
438
437
439
438
### Version ID
440
439
@@ -449,7 +448,7 @@ This section lists the Azure Blob Storage attributes you can use in your conditi
449
448
> |**Exists support**| True |
450
449
> |**Hierarchical namespace support**| False |
451
450
> |**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)|
452
-
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
451
+
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](data-lake-storage-namespace.md)|
Copy file name to clipboardExpand all lines: articles/storage/blobs/storage-auth-abac-cli.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,15 +9,15 @@ ms.topic: tutorial
9
9
ms.author: jammart
10
10
ms.reviewer: nachakra
11
11
ms.subservice: blobs
12
-
ms.date: 10/21/2022
12
+
ms.date: 10/25/2022
13
13
14
14
#Customer intent:
15
15
16
16
---
17
17
18
18
# Tutorial: Add a role assignment condition to restrict access to blobs using Azure CLI
19
19
20
-
In most cases, a role assignment will grant the permissions you need to Azure resources. However, in some cases you might want to provide more fine-grained access control by adding a role assignment condition.
20
+
In most cases, a role assignment will grant the permissions you need to Azure resources. However, in some cases you might want to provide more granular access control by adding a role assignment condition.
21
21
22
22
In this tutorial, you learn how to:
23
23
@@ -90,15 +90,15 @@ Here is what the condition looks like in code:
90
90
91
91
## Step 3: Set up storage
92
92
93
-
You can authorize access to Blob storage from the Azure CLI either with Azure AD credentials or by using the storage account access key. This article shows how to authorize Blob storage operations using Azure AD. For more information, see [Quickstart: Create, download, and list blobs with Azure CLI](../blobs/storage-quickstart-blobs-cli.md)
93
+
You can authorize access to Blob storage from the Azure CLI either with Azure AD credentials or by using the storage account access key. This article shows how to authorize Blob storage operations using Azure AD. For more information, see [Quickstart: Create, download, and list blobs with Azure CLI](storage-quickstart-blobs-cli.md)
94
94
95
-
1. Use [az storage account](/cli/azure/storage/account) to create a storage account that is compatible with the blob index feature. For more information, see [Manage and find Azure Blob data with blob index tags](../blobs/storage-manage-find-blobs.md#regional-availability-and-storage-account-support).
95
+
1. Use [az storage account](/cli/azure/storage/account) to create a storage account that is compatible with the blob index feature. For more information, see [Manage and find Azure Blob data with blob index tags](storage-manage-find-blobs.md#regional-availability-and-storage-account-support).
96
96
97
97
1. Use [az storage container](/cli/azure/storage/container) to create a new blob container within the storage account and set the Public access level to **Private (no anonymous access)**.
98
98
99
99
1. Use [az storage blob upload](/cli/azure/storage/blob#az-storage-blob-upload) to upload a text file to the container.
100
100
101
-
1. Add the following blob index tag to the text file. For more information, see [Use blob index tags to manage and find data on Azure Blob Storage](../blobs/storage-blob-index-how-to.md).
101
+
1. Add the following blob index tag to the text file. For more information, see [Use blob index tags to manage and find data on Azure Blob Storage](storage-blob-index-how-to.md).
102
102
103
103
> [!NOTE]
104
104
> Blobs also support the ability to store arbitrary user-defined key-value metadata. Although metadata is similar to blob index tags, you must use blob index tags with conditions.
0 commit comments