Skip to content

Commit 92e8e94

Browse files
committed
Addressing some validation issues
1 parent 21f3b5c commit 92e8e94

10 files changed

+57
-58
lines changed

articles/storage/blobs/data-lake-storage-access-control-model.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: normesta
66

77
ms.service: azure-data-lake-storage
88
ms.topic: conceptual
9-
ms.date: 11/15/2024
9+
ms.date: 11/26/2024
1010
ms.author: normesta
1111
ms.custom: engagement-fy23
1212
---
@@ -21,7 +21,7 @@ Data Lake Storage supports the following authorization mechanisms:
2121
- Attribute-based access control (Azure ABAC)
2222
- Access control lists (ACL)
2323

24-
Shared Key, account SAS, and service SAS authorization grants access to a user (or application) without requiring them to have an identity in Microsoft Entra ID. With these two forms of authentication, Azure RBAC, Azure ABAC, and ACLs have no effect. ACLs can be applied to user delegated SAS tokens because those tokens are secured with Microsoft Entra credentials. See [Shared Key and SAS authorization](#shared-key-and-shared-access-signature-sas-authorization).
24+
Shared Key, account SAS, and service SAS authorization grants access to a user (or application) without requiring them to have an identity in Microsoft Entra ID. With these forms of authentication, Azure RBAC, Azure ABAC, and ACLs have no effect. ACLs can be applied to user delegated SAS tokens because those tokens are secured with Microsoft Entra credentials. See [Shared Key and SAS authorization](#shared-key-and-shared-access-signature-sas-authorization).
2525

2626
Azure RBAC and ACL both require the user (or application) to have an identity in Microsoft Entra ID. Azure RBAC lets you grant "coarse-grain" access to storage account data, such as read or write access to **all** of the data in a storage account. Azure ABAC allows you to refine RBAC role assignments by adding conditions. For example, you can grant read or write access to all data objects in a storage account that have a specific tag. ACLs let you grant "fine-grained" access, such as write access to a specific directory or file.
2727

articles/storage/blobs/data-lake-storage-acl-azure-portal.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: normesta
66

77
ms.service: azure-data-lake-storage
88
ms.topic: how-to
9-
ms.date: 11/18/2024
9+
ms.date: 11/26/2024
1010
ms.author: normesta
1111
---
1212

@@ -66,7 +66,7 @@ To learn about how to use ACLs and Azure roles together, see [Access control mod
6666
> [!NOTE]
6767
> We recommend that you create a security group in Microsoft Entra ID, and then maintain permissions on the group rather than for individual users. For details on this recommendation, as well as other best practices, see [Access control model in Azure Data Lake Storage](data-lake-storage-access-control-model.md).
6868
69-
8. To manage the *default ACL*, select the **default permissions** tab, and then select the **Configure default permissions** checkbook.
69+
8. To manage the *default ACL*, select the **default permissions** tab, and then select the **Configure default permissions** checkbox.
7070

7171
> [!TIP]
7272
> A default ACL is a template of an ACL that determines the access ACLs for any child items that are created under a directory. A blob doesn't have a default ACL, so this tab appears only for directories.

articles/storage/blobs/data-lake-storage-acl-cli.md

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

88
ms.service: azure-data-lake-storage
99
ms.topic: how-to
10-
ms.date: 11/18/2024
10+
ms.date: 11/26/2024
1111
ms.author: normesta
1212
ms.reviewer: prishet
1313
ms.devlang: azurecli
@@ -32,15 +32,15 @@ ACL inheritance is already available for new child items that are created under
3232

3333
- One of the following security permissions:
3434

35-
- A provisioned Microsoft Entra ID [security principal](../../role-based-access-control/overview.md#security-principal) that has been assigned the [Storage Blob Data Owner](../../role-based-access-control/built-in-roles.md#storage-blob-data-owner) role, scoped to the target container, storage account, parent resource group, or subscription..
35+
- A provisioned Microsoft Entra ID [security principal](../../role-based-access-control/overview.md#security-principal) that has been assigned the [Storage Blob Data Owner](../../role-based-access-control/built-in-roles.md#storage-blob-data-owner) role, scoped to the target container, storage account, parent resource group, or subscription.
3636

3737
- Owning user of the target container or directory to which you plan to apply ACL settings. To set ACLs recursively, this includes all child items in the target container or directory.
3838

3939
## Ensure that you have the correct version of Azure CLI installed
4040

4141
1. Open the [Azure Cloud Shell](../../cloud-shell/overview.md), or if you've [installed](/cli/azure/install-azure-cli) the Azure CLI locally, open a command console application such as Windows PowerShell.
4242

43-
2. Verify that the version of Azure CLI that have installed is `2.14.0` or higher by using the following command.
43+
2. Verify that the version of Azure CLI that you have installed is `2.14.0` or higher by using the following command.
4444

4545
```azurecli
4646
az --version
@@ -62,7 +62,7 @@ ACL inheritance is already available for new child items that are created under
6262

6363
To learn more about different authentication methods, see [Authorize access to blob or queue data with Azure CLI](./authorize-data-operations-cli.md).
6464

65-
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to subscription of the storage account that you want operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
65+
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to the subscription of the storage account that you want to operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
6666

6767
```azurecli
6868
az account set --subscription <subscription-id>
@@ -99,7 +99,7 @@ In this example, the owning user has read, write, and execute permissions. The o
9999

100100
## Set ACLs
101101

102-
When you *set* an ACL, you **replace** the entire ACL including all of it's entries. If you want to change the permission level of a security principal or add a new security principal to the ACL without affecting other existing entries, you should *update* the ACL instead. To update an ACL instead of replace it, see the [Update ACLs](#update-acls) section of this article.
102+
When you *set* an ACL, you **replace** the entire ACL including all of its entries. If you want to change the permission level of a security principal or add a new security principal to the ACL without affecting other existing entries, you should *update* the ACL instead. To update an ACL instead of replace it, see the [Update ACLs](#update-acls) section of this article.
103103

104104
If you choose to *set* the ACL, you must add an entry for the owning user, an entry for the owning group, and an entry for all other users. To learn more about the owning user, the owning group, and all other users, see [Users and identities](data-lake-storage-access-control.md#users-and-identities).
105105

@@ -175,7 +175,7 @@ This example updates an ACL entry with write permission.
175175
az storage fs access update-recursive --acl "user:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:rwx" -p my-parent-directory/myfile.txt -f my-container --account-name mystorageaccount --auth-mode login
176176
```
177177

178-
To a update the ACL of a specific group or user, use their respective object IDs. For example, `group:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` or `user:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.
178+
To update the ACL of a specific group or user, use their respective object IDs. For example, `group:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` or `user:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`.
179179

180180
> [!NOTE]
181181
> Updating the ACL of a single directory without updating the ACL of child items is not supported by the Azure CLI. To update the ACL of a directory without modifying the ACLs of all child items in that directory, use any of the other supported tools and SDKs. See [How to set ACLs](data-lake-storage-access-control.md#how-to-set-acls).

articles/storage/blobs/data-lake-storage-acl-powershell.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: normesta
66

77
ms.service: azure-data-lake-storage
88
ms.topic: how-to
9-
ms.date: 11/18/2024
9+
ms.date: 11/26/2024
1010
ms.author: normesta
1111
ms.reviewer: prishet
1212
ms.devlang: powershell
@@ -31,7 +31,7 @@ ACL inheritance is already available for new child items that are created under
3131

3232
- One of the following security permissions:
3333

34-
- A provisioned Microsoft Entra ID [security principal](../../role-based-access-control/overview.md#security-principal) that has been assigned the [Storage Blob Data Owner](../../role-based-access-control/built-in-roles.md#storage-blob-data-owner) role, scoped to the target container, storage account, parent resource group, or subscription..
34+
- A provisioned Microsoft Entra ID [security principal](../../role-based-access-control/overview.md#security-principal) that has been assigned the [Storage Blob Data Owner](../../role-based-access-control/built-in-roles.md#storage-blob-data-owner) role, scoped to the target container, storage account, parent resource group, or subscription.
3535

3636
- Owning user of the target container or directory to which you plan to apply ACL settings. To set ACLs recursively, this includes all child items in the target container or directory.
3737

@@ -61,7 +61,7 @@ ACL inheritance is already available for new child items that are created under
6161
Connect-AzAccount
6262
```
6363

64-
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to subscription of the storage account that you want operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
64+
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to the subscription of the storage account that you to want operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
6565

6666
```powershell
6767
Select-AzSubscription -SubscriptionId <subscription-id>
@@ -110,7 +110,7 @@ In this example, the owning user has read, write, and execute permissions. The o
110110

111111
## Set ACLs
112112

113-
When you *set* an ACL, you **replace** the entire ACL including all of it's entries. If you want to change the permission level of a security principal or add a new security principal to the ACL without affecting other existing entries, you should *update* the ACL instead. To update an ACL instead of replace it, see the [Update ACLs](#update-acls) section of this article.
113+
When you *set* an ACL, you **replace** the entire ACL including all of its entries. If you want to change the permission level of a security principal or add a new security principal to the ACL without affecting other existing entries, you should *update* the ACL instead. To update an ACL instead of replace it, see the [Update ACLs](#update-acls) section of this article.
114114

115115
If you choose to *set* the ACL, you must add an entry for the owning user, an entry for the owning group, and an entry for all other users. To learn more about the owning user, the owning group, and all other users, see [Users and identities](data-lake-storage-access-control.md#users-and-identities).
116116

@@ -121,7 +121,7 @@ This section shows you how to:
121121

122122
### Set an ACL
123123

124-
Use the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject) cmdlet to create an ACL for the owning user, owning group, or other users. Then, use the[Update-AzDataLakeGen2Item](/powershell/module/az.storage/update-azdatalakegen2item) cmdlet to commit the ACL.
124+
Use the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject) cmdlet to create an ACL for the owning user, owning group, or other users. Then, use the [Update-AzDataLakeGen2Item](/powershell/module/az.storage/update-azdatalakegen2item) cmdlet to commit the ACL.
125125

126126
This example sets the ACL on the root directory of a **container** for the owning user, owning group, or other users, and then prints the ACL to the console.
127127

@@ -194,7 +194,7 @@ Set-AzDataLakeGen2AclRecursive -Context $ctx -FileSystem $filesystemName -Path $
194194
```
195195

196196
> [!NOTE]
197-
> If you want to set a **default** ACL entry, use the **-DefaultScope** parameter when you run the [Set-AzDataLakeGen2AclRecursive](/powershell/module/az.storage/set-azdatalakegen2aclrecursive) command. For example: `$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope`.
197+
> If you want to set a **default** ACL entry, use the **-DefaultScope** parameter when you run the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject) command. For example: `$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope`.
198198
199199
To see an example that sets ACLs recursively in batches by specifying a batch size, see the [Set-AzDataLakeGen2AclRecursive](/powershell/module/az.storage/set-azdatalakegen2aclrecursive) reference article.
200200

@@ -209,20 +209,20 @@ This section shows you how to:
209209

210210
### Update an ACL
211211

212-
First, get the ACL. Then, use the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject) cmdlet to add or update an ACL entry. Use the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject)` cmdlet to commit the ACL.
212+
First, get the ACL. Then, use the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject) cmdlet to add or update an ACL entry. Use the [Update-AzDataLakeGen2Item](/powershell/module/az.storage/update-azdatalakegen2item) cmdlet to commit the ACL.
213213

214214
This example creates or updates the ACL on a **directory** for a user.
215215

216216
```powershell
217217
$filesystemName = "my-file-system"
218218
$dirname = "my-directory/"
219219
$acl = (Get-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname).ACL
220-
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityID xxxxxxxx-xxxx-xxxxxxxxxxx -Permission r-x -InputObject $acl
220+
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityID aaaaaaaa-bbbb-cccc-1111-222222222222 -Permission r-x -InputObject $acl
221221
Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl
222222
```
223223

224224
> [!NOTE]
225-
> If you want to update a **default** ACL entry, use the **-DefaultScope** parameter when you run the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject)* command. For example: `$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityID xxxxxxxx-xxxx-xxxxxxxxxxx -Permission r-x -DefaultScope`.
225+
> If you want to update a **default** ACL entry, use the **-DefaultScope** parameter when you run the [Set-AzDataLakeGen2ItemAclObject](/powershell/module/az.storage/set-azdatalakegen2itemaclobject) command. For example: `$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityID aaaaaaaa-bbbb-cccc-1111-222222222222 -Permission r-x -DefaultScope`.
226226
227227
### Update ACLs recursively
228228

articles/storage/blobs/data-lake-storage-directory-file-acl-cli.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ To learn about how to get, set, and update the access control lists (ACL) of dir
3434

3535
1. Open the [Azure Cloud Shell](../../cloud-shell/overview.md), or if you've [installed](/cli/azure/install-azure-cli) the Azure CLI locally, open a command console application such as Windows PowerShell.
3636

37-
2. Verify that the version of Azure CLI that have installed is `2.6.0` or higher by using the following command.
37+
2. Verify that the version of Azure CLI that you have installed is `2.6.0` or higher by using the following command.
3838

3939
```azurecli
4040
az --version
@@ -56,14 +56,13 @@ To learn about how to get, set, and update the access control lists (ACL) of dir
5656

5757
To learn more about different authentication methods, see [Authorize access to blob or queue data with Azure CLI](./authorize-data-operations-cli.md).
5858

59-
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to subscription of the storage account that you want operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
59+
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to the subscription of the storage account that you want to operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
6060

6161
```azurecli
6262
az account set --subscription <subscription-id>
6363
```
6464

6565
Replace the `<subscription-id>` placeholder value with the ID of your subscription.
66-
Replace the `<subscription-id>` placeholder value with the ID of your subscription.
6766

6867
> [!NOTE]
6968
> The example presented in this article show Microsoft Entra authorization. To learn more about authorization methods, see [Authorize access to blob or queue data with Azure CLI](./authorize-data-operations-cli.md).

articles/storage/blobs/data-lake-storage-directory-file-acl-powershell.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: normesta
66

77
ms.service: azure-data-lake-storage
88
ms.topic: how-to
9-
ms.date: 11/18/2024
9+
ms.date: 11/26/2024
1010
ms.author: normesta
1111
ms.reviewer: prishet
1212
ms.devlang: powershell
@@ -57,7 +57,7 @@ To learn about how to get, set, and update the access control lists (ACL) of dir
5757
Connect-AzAccount
5858
```
5959

60-
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to subscription of the storage account that you want operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
60+
2. If your identity is associated with more than one subscription, and you are not prompted to select the subscription, then set your active subscription to the subscription of the storage account that you want to operate upon. In this example, replace the `<subscription-id>` placeholder value with the ID of your subscription.
6161

6262
```powershell
6363
Select-AzSubscription -SubscriptionId <subscription-id>

articles/storage/blobs/data-lake-storage-events.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ author: normesta
66

77
ms.service: azure-data-lake-storage
88
ms.topic: tutorial
9-
ms.date: 11/18/2024
9+
ms.date: 11/26/2024
1010
ms.author: normesta
1111
ms.reviewer: sumameh
1212
ms.devlang: csharp
@@ -306,7 +306,7 @@ Create an Azure Function that runs the Job.
306306
}
307307
```
308308

309-
This code parses information about the storage event that was raised, and then creates a request message with url of the file that triggered the event. As part of the message, the function passes a value to the **source_file** widget that you created earlier. the function code sends the message to the Databricks Job and uses the token that you obtained earlier as authentication.
309+
This code parses information about the storage event that was raised, and then creates a request message with url of the file that triggered the event. As part of the message, the function passes a value to the **source_file** widget that you created earlier. The function code sends the message to the Databricks Job and uses the token that you obtained earlier as authentication.
310310

311311
## Create an Event Grid subscription
312312

0 commit comments

Comments
 (0)