Skip to content

Commit ed8ac68

Browse files
committed
Some edits in support of the Gen2 refresh
1 parent 56ec4fb commit ed8ac68

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

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

Lines changed: 4 additions & 6 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: 04/24/2023
9+
ms.date: 11/15/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 and SAS authorization](#shared-key-and-shared-access-signature-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.
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).
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

@@ -131,11 +131,9 @@ By using groups, you're less likely to exceed the maximum number of role assignm
131131

132132
## Shared Key and Shared Access Signature (SAS) authorization
133133

134-
Azure Data Lake Storage also supports [Shared Key](/rest/api/storageservices/authorize-with-shared-key) and [SAS](../common/storage-sas-overview.md?toc=/azure/storage/blobs/toc.json) methods for authentication. A characteristic of these authentication methods is that no identity is associated with the caller and therefore security principal permission-based authorization cannot be performed.
134+
Azure Data Lake Storage also supports [Shared Key](/rest/api/storageservices/authorize-with-shared-key) and [SAS](../common/storage-sas-overview.md?toc=/azure/storage/blobs/toc.json) methods for authentication.
135135

136-
In the case of Shared Key, the caller effectively gains 'super-user' access, meaning full access to all operations on all resources including data, setting owner, and changing ACLs.
137-
138-
SAS tokens include allowed permissions as part of the token. The permissions included in the SAS token are effectively applied to all authorization decisions, but no additional ACL checks are performed.
136+
In the case of Shared Key, the caller effectively gains 'super-user' access, meaning full access to all operations on all resources including data, setting owner, and changing ACLs. ACLs don't apply to users who use Shared Key authorization because no identity is associated with the caller and therefore security principal permission-based authorization cannot be performed. The same is true for shared access signature (SAS) tokens except when a user delegated SAS token is used. In that case, Azure Storage performs a POSIX ACL check against the object ID before it authorizes the operation as long as the optional parameter suoid is used. To learn more, see [Construct a user delegation SAS](/rest/api/storageservices/create-user-delegation-sas#construct-a-user-delegation-sas).
139137

140138
## Next steps
141139

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

Lines changed: 13 additions & 11 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: 06/06/2024
9+
ms.date: 11/15/2024
1010
ms.author: normesta
1111
ms.reviewer: jamesbak
1212
ms.devlang: python
@@ -229,9 +229,19 @@ def access_check( user, desired_perms, path ) :
229229

230230
### The mask
231231

232-
As illustrated in the Access Check Algorithm, the mask limits access for named users, the owning group, and named groups.
232+
The mask applies only to the ACL entry of a named user, named group, and the owning group. The mask specifies which of the permissions in the ACL entry are used to authorize access. These applied permissions are called the _effective_ permissions of the ACL entry. All other permissions in the ACL entry are ignored. By using the mask, you can establish an upper limit on permission levels.
233233

234-
For a new Data Lake Storage container, the mask for the access ACL of the root directory ("/") defaults to **750** for directories and **640** for files. The following table shows the symbolic notation of these permission levels.
234+
The mask may be specified on a per-call basis. This allows different consuming systems, such as clusters, to have different effective masks for their file operations. If a mask is specified on a given request, it completely overrides the default mask.
235+
236+
### The sticky bit
237+
238+
The sticky bit is a more advanced feature of a POSIX container. In the context of Data Lake Storage, it is unlikely that the sticky bit will be needed. In summary, if the sticky bit is enabled on a directory, a child item can only be deleted or renamed by the child item's owning user, the directory's owner, or the Superuser ($superuser).
239+
240+
The sticky bit isn't shown in the Azure portal. To learn more about the sticky bit and how to set it, see [What is the sticky bit Data Lake Storage?](/troubleshoot/azure/azure-storage/blobs/authentication/adls-gen2-sticky-bit-403-access-denied#what-is-the-sticky-bit-in-adls-gen2).
241+
242+
## Default permissions of the root directory
243+
244+
For a new Data Lake Storage container, the access ACL of the root directory ("/") defaults to **750** for directories and **640** for files. The following table shows the symbolic notation of these permission levels.
235245

236246
|Entity|Directories|Files|
237247
|--|--|--|
@@ -241,14 +251,6 @@ For a new Data Lake Storage container, the mask for the access ACL of the root d
241251

242252
Files do not receive the X bit as it is irrelevant to files in a store-only system.
243253

244-
The mask may be specified on a per-call basis. This allows different consuming systems, such as clusters, to have different effective masks for their file operations. If a mask is specified on a given request, it completely overrides the default mask.
245-
246-
### The sticky bit
247-
248-
The sticky bit is a more advanced feature of a POSIX container. In the context of Data Lake Storage, it is unlikely that the sticky bit will be needed. In summary, if the sticky bit is enabled on a directory, a child item can only be deleted or renamed by the child item's owning user, the directory's owner, or the Superuser ($superuser).
249-
250-
The sticky bit isn't shown in the Azure portal. To learn more about the sticky bit and how to set it, see [What is the sticky bit Data Lake Storage?](/troubleshoot/azure/azure-storage/blobs/authentication/adls-gen2-sticky-bit-403-access-denied#what-is-the-sticky-bit-in-adls-gen2).
251-
252254
## Default permissions on new files and directories
253255

254256
When a new file or directory is created under an existing directory, the default ACL on the parent directory determines:

0 commit comments

Comments
 (0)