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
#Customer intent: As a dev, devops, or it admin, I want to learn how to constrain access within a role assignment by using conditions.
@@ -65,6 +65,7 @@ Here are some of the [blob storage attributes](../storage/common/storage-auth-ab
65
65
- Blob prefix
66
66
- Container name
67
67
- Encryption scope name
68
+
- Is Current Version
68
69
- Is hierarchical namespace enabled
69
70
- Snapshot
70
71
- Version ID
@@ -107,7 +108,7 @@ Here's a list of the primary features of conditions:
107
108
108
109
| Feature | Status | Date |
109
110
| --- | --- | --- |
110
-
| Use the following [attributes](../storage/common/storage-auth-abac-attributes.md#azure-blob-storage-attributes) in a condition: Account name, Blob prefix, Encryption scope name, Is hierarchical namespace enabled, Snapshot, Version ID | Preview | May 2022 |
111
+
| Use the following [attributes](../storage/common/storage-auth-abac-attributes.md#azure-blob-storage-attributes) in a condition: Account name, Blob prefix, Encryption scope name, Is Current Version, Is hierarchical namespace enabled, Snapshot, Version ID | Preview | May 2022 |
111
112
| Use [custom security attributes on a principal in a condition](conditions-format.md#principal-attributes)| Preview | November 2021 |
112
113
| Add conditions to blob storage data role assignments | Preview | May 2021 |
113
114
| Use attributes on a resource in a condition | Preview | May 2021 |
> |**Examples**|`!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND NOT SubOperationMatches{'Blob.List'})`<br/>[Example: Read blobs in named containers with a path](storage-auth-abac-examples.md#example-read-blobs-in-named-containers-with-a-path)|
@@ -89,7 +89,7 @@ This section lists the supported Azure Blob storage actions and suboperations yo
> |**Examples**|`!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'} AND SubOperationMatches{'Blob.Read.WithTagConditions'})`<br/>[Example: Read blobs with a blob index tag](storage-auth-abac-examples.md#example-read-blobs-with-a-blob-index-tag)|
@@ -104,7 +104,7 @@ This section lists the supported Azure Blob storage actions and suboperations yo
104
104
> |**Description**| DataAction for reading blob index tags. |
> |**Resource attributes**|[Account name](#account-name)<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)|
107
+
> |**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)|
> |**Examples**|`!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write'} AND SubOperationMatches{'Blob.Write.Tier'})`|
@@ -188,7 +188,7 @@ This section lists the supported Azure Blob storage actions and suboperations yo
188
188
> |**Description**| DataAction for writing blob index tags. |
> |**Resource attributes**|[Account name](#account-name)<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)|
191
+
> |**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)|
192
192
> |**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)|
193
193
> |**Principal attributes support**| True |
194
194
> |**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)|
@@ -216,7 +216,7 @@ This section lists the supported Azure Blob storage actions and suboperations yo
216
216
> |**Description**| DataAction for deleting blobs. |
> |**Examples**|`!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete'})`<br/>[Example: Read, write, or delete blobs in named containers](storage-auth-abac-examples.md#example-read-write-or-delete-blobs-in-named-containers)|
@@ -244,7 +244,7 @@ This section lists the supported Azure Blob storage actions and suboperations yo
244
244
> |**Description**| DataAction for permanently deleting a blob overriding soft-delete. |
@@ -296,10 +296,10 @@ This section lists the supported Azure Blob storage actions and suboperations yo
296
296
> |**Description**| DataAction for all data operations on storage accounts with hierarchical namespace enabled.<br/>If your role definition includes the `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action` action, you should target this action in your condition. Targeting this action ensures the condition will still work as expected if hierarchical namespace is enabled for a storage account. |
> |**Examples**|[Example: Read only storage accounts with hierarchical namespace enabled](storage-auth-abac-examples.md#example-read-only-storage-accounts-with-hierarchical-namespace-enabled)<br/>[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)|
302
+
> | **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) |
303
303
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
304
304
305
305
## Azure Queue storage actions
@@ -471,6 +471,18 @@ This section lists the Azure Blob storage attributes you can use in your conditi
471
471
> |**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)|
472
472
> |**Learn more**|[Create and manage encryption scopes](../blobs/encryption-scope-manage.md)|
473
473
474
+
### Is Current Version
475
+
476
+
> [!div class="mx-tdCol2BreakAll"]
477
+
> | Property | Value |
478
+
> | --- | --- |
479
+
> |**Display name**| Is Current Version |
480
+
> |**Description**| Identifies if the resource is the current version of the blob, in contrast of a snapshot or a specific blob version. |
> |**Examples**|`@Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs:isCurrentVersion] BoolEquals true`<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 a specific blob version](storage-auth-abac-examples.md#example-read-current-blob-versions-and-a-specific-blob-version)|
485
+
474
486
### Is hierarchical namespace enabled
475
487
476
488
> [!div class="mx-tdCol2BreakAll"]
@@ -490,14 +502,14 @@ This section lists the Azure Blob storage attributes you can use in your conditi
490
502
> | Property | Value |
491
503
> | --- | --- |
492
504
> |**Display name**| Snapshot |
493
-
> |**Description**| The Snapshot identifier for the Blob snapshot. |
505
+
> |**Description**| The Snapshot identifier for the Blob snapshot.<br/>Available for storage accounts where hierarchical namespace is not enabled and currently in preview for storage accounts where hierarchical namespace is enabled.|
> |**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)|
500
-
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
512
+
> |**Learn more**|[Blob snapshots](../blobs/snapshots-overview.md)<br/>[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
501
513
502
514
### Version ID
503
515
@@ -511,7 +523,7 @@ This section lists the Azure Blob storage attributes you can use in your conditi
511
523
> |**Attribute type**| DateTime |
512
524
> |**Exists support**| True |
513
525
> |**Hierarchical namespace support**| False |
514
-
> |**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)|
526
+
> |**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)|
515
527
> |**Learn more**|[Azure Data Lake Storage Gen2 hierarchical namespace](../blobs/data-lake-storage-namespace.md)|
0 commit comments