Skip to content

Commit cc417f7

Browse files
authored
Merge pull request #48849 from saveenr/patch-26
Update data-lake-store-access-control.md
2 parents cdad3ab + 9ba3a45 commit cc417f7

File tree

1 file changed

+42
-42
lines changed

1 file changed

+42
-42
lines changed

articles/data-lake-store/data-lake-store-access-control.md

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Overview of access control in Data Lake Store | Microsoft Docs
3-
description: Understand how access control works in Azure Data Lake Store
2+
title: Overview of access control in Data Lake Storage Gen1 | Microsoft Docs
3+
description: Understand how access control works in Azure Data Lake Storage Gen1
44
services: data-lake-store
55
documentationcenter: ''
66
author: nitinme
@@ -15,9 +15,9 @@ ms.date: 03/26/2018
1515
ms.author: nitinme
1616

1717
---
18-
# Access control in Azure Data Lake Store
18+
# Access control in Azure Data Lake Storage Gen1
1919

20-
Azure Data Lake Store implements an access control model that derives from HDFS, which in turn derives from the POSIX access control model. This article summarizes the basics of the access control model for Data Lake Store. To learn more about the HDFS access control model, see [HDFS Permissions Guide](https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html).
20+
Azure Data Lake Storage Gen1 implements an access control model that derives from HDFS, which in turn derives from the POSIX access control model. This article summarizes the basics of the access control model for Data Lake Storage Gen1. To learn more about the HDFS access control model, see [HDFS Permissions Guide](https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html).
2121

2222
## Access control lists on files and folders
2323

@@ -27,11 +27,11 @@ There are two kinds of access control lists (ACLs), **Access ACLs** and **Defaul
2727

2828
* **Default ACLs**: A "template" of ACLs associated with a folder that determine the Access ACLs for any child items that are created under that folder. Files do not have Default ACLs.
2929

30-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-1.png)
30+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-1.png)
3131

3232
Both Access ACLs and Default ACLs have the same structure.
3333

34-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-2.png)
34+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-2.png)
3535

3636

3737

@@ -50,7 +50,7 @@ Every file and folder has distinct permissions for these identities:
5050
* Named groups
5151
* All other users
5252

53-
The identities of users and groups are Azure Active Directory (Azure AD) identities. So unless otherwise noted, a "user," in the context of Data Lake Store, can either mean an Azure AD user or an Azure AD security group.
53+
The identities of users and groups are Azure Active Directory (Azure AD) identities. So unless otherwise noted, a "user," in the context of Data Lake Storage Gen1, can either mean an Azure AD user or an Azure AD security group.
5454

5555
## Permissions
5656

@@ -60,7 +60,7 @@ The permissions on a filesystem object are **Read**, **Write**, and **Execute**,
6060
|------------|-------------|----------|
6161
| **Read (R)** | Can read the contents of a file | Requires **Read** and **Execute** to list the contents of the folder|
6262
| **Write (W)** | Can write or append to a file | Requires **Write** and **Execute** to create child items in a folder |
63-
| **Execute (X)** | Does not mean anything in the context of Data Lake Store | Required to traverse the child items of a folder |
63+
| **Execute (X)** | Does not mean anything in the context of Data Lake Storage Gen1 | Required to traverse the child items of a folder |
6464

6565
### Short forms for permissions
6666

@@ -76,29 +76,29 @@ The permissions on a filesystem object are **Read**, **Write**, and **Execute**,
7676

7777
### Permissions do not inherit
7878

79-
In the POSIX-style model that's used by Data Lake Store, permissions for an item are stored on the item itself. In other words, permissions for an item cannot be inherited from the parent items.
79+
In the POSIX-style model that's used by Data Lake Storage Gen1, permissions for an item are stored on the item itself. In other words, permissions for an item cannot be inherited from the parent items.
8080

8181
## Common scenarios related to permissions
8282

83-
Following are some common scenarios to help you understand which permissions are needed to perform certain operations on a Data Lake Store account.
83+
Following are some common scenarios to help you understand which permissions are needed to perform certain operations on a Data Lake Storage Gen1 account.
8484

8585
### Permissions needed to read a file
8686

87-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-3.png)
87+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-3.png)
8888

8989
* For the file to be read, the caller needs **Read** permissions.
9090
* For all the folders in the folder structure that contain the file, the caller needs **Execute** permissions.
9191

9292
### Permissions needed to append to a file
9393

94-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-4.png)
94+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-4.png)
9595

9696
* For the file to be appended to, the caller needs **Write** permissions.
9797
* For all the folders that contain the file, the caller needs **Execute** permissions.
9898

9999
### Permissions needed to delete a file
100100

101-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-5.png)
101+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-5.png)
102102

103103
* For the parent folder, the caller needs **Write + Execute** permissions.
104104
* For all the other folders in the file’s path, the caller needs **Execute** permissions.
@@ -112,24 +112,24 @@ Following are some common scenarios to help you understand which permissions are
112112
113113
### Permissions needed to enumerate a folder
114114

115-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-6.png)
115+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-6.png)
116116

117117
* For the folder to enumerate, the caller needs **Read + Execute** permissions.
118118
* For all the ancestor folders, the caller needs **Execute** permissions.
119119

120120
## Viewing permissions in the Azure portal
121121

122-
From the **Data Explorer** blade of the Data Lake Store account, click **Access** to see the ACLs for the file or folder being viewed in the Data Explorer. Click **Access** to see the ACLs for the **catalog** folder under the **mydatastore** account.
122+
From the **Data Explorer** blade of the Data Lake Storage Gen1 account, click **Access** to see the ACLs for the file or folder being viewed in the Data Explorer. Click **Access** to see the ACLs for the **catalog** folder under the **mydatastore** account.
123123

124-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-1.png)
124+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-1.png)
125125

126126
On this blade, the top section shows the owners permissions. (In the screenshot, the owning user is Bob.) Following that, the assigned Access ACLs are shown.
127127

128-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-simple-view.png)
128+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-simple-view.png)
129129

130130
Click **Advanced View** to see the more advanced view, where the Default ACLs, mask, and a description of super-users are shown. This blade also provides a way to recursively set Access and Default ACLs for child files and folders based on the permissions of the current folder.
131131

132-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-advance-view.png)
132+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-advance-view.png)
133133

134134
## The super-user
135135

@@ -139,13 +139,13 @@ A super-user has the most rights of all the users in the Data Lake Store. A supe
139139
* Can change the permissions on any file or folder.
140140
* Can change the owning user or owning group of any file or folder.
141141

142-
In Azure, a Data Lake Store account has several Azure roles, including:
142+
In Azure, a Data Lake Storage Gen1 account has several Azure roles, including:
143143

144144
* Owners
145145
* Contributors
146146
* Readers
147147

148-
Everyone in the **Owners** role for a Data Lake Store account is automatically a super-user for that account. To learn more, see [Role-based access control](../role-based-access-control/role-assignments-portal.md).
148+
Everyone in the **Owners** role for a Data Lake Storage Gen1 account is automatically a super-user for that account. To learn more, see [Role-based access control](../role-based-access-control/role-assignments-portal.md).
149149
If you want to create a custom role-based-access control (RBAC) role that has super-user permissions, it needs to have the following permissions:
150150
- Microsoft.DataLakeStore/accounts/Superuser/action
151151
- Microsoft.Authorization/roleAssignments/write
@@ -167,9 +167,9 @@ The user who created the item is automatically the owning user of the item. An o
167167

168168
In the POSIX ACLs, every user is associated with a "primary group." For example, user "alice" might belong to the "finance" group. Alice might also belong to multiple groups, but one group is always designated as her primary group. In POSIX, when Alice creates a file, the owning group of that file is set to her primary group, which in this case is "finance."
169169

170-
When a new filesystem item is created, Data Lake Store assigns a value to the owning group.
170+
When a new filesystem item is created, Data Lake Storage Gen1 assigns a value to the owning group.
171171

172-
* **Case 1**: The root folder "/". This folder is created when a Data Lake Store account is created. In this case, the owning group is set to the user who created the account.
172+
* **Case 1**: The root folder "/". This folder is created when a Data Lake Storage Gen1 account is created. In this case, the owning group is set to the user who created the account.
173173
* **Case 2** (Every other case): When a new item is created, the owning group is copied from the parent folder.
174174

175175
The owning group otherwise behaves similarly to assigned permissions for other users/groups.
@@ -183,9 +183,9 @@ The owning group can be changed by:
183183
184184
## Access check algorithm
185185

186-
The following illustration represents the access check algorithm for Data Lake Store accounts.
186+
The following illustration represents the access check algorithm for Data Lake Storage Gen1 accounts.
187187

188-
![Data Lake Store ACLs algorithm](./media/data-lake-store-access-control/data-lake-store-acls-algorithm.png)
188+
![Data Lake Storage Gen1 ACLs algorithm](./media/data-lake-store-access-control/data-lake-store-acls-algorithm.png)
189189

190190

191191
## The mask and "effective permissions"
@@ -198,18 +198,18 @@ The **mask** is an RWX value that is used to limit access for **named users**, t
198198

199199
Let's look at some examples. In the following example, the mask is set to **RWX**, which means that the mask does not remove any permissions. The effective permissions for the named user, owning group, and named group are not altered during the access check.
200200

201-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-mask-1.png)
201+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-mask-1.png)
202202

203203
In the following example, the mask is set to **R-X**. This means that it **turns off the Write permissions** for **named user**, **owning group**, and **named group** at the time of access check.
204204

205-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-mask-2.png)
205+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-mask-2.png)
206206

207207
For reference, here is where the mask for a file or folder appears in the Azure portal.
208208

209-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-mask-view.png)
209+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-show-acls-mask-view.png)
210210

211211
> [!NOTE]
212-
> For a new Data Lake Store account, the mask for the Access ACL of the root folder ("/") defaults to RWX.
212+
> For a new Data Lake Storage Gen1 account, the mask for the Access ACL of the root folder ("/") defaults to RWX.
213213
>
214214
>
215215
@@ -224,7 +224,7 @@ When a new file or folder is created under an existing folder, the Default ACL o
224224

225225
When a child file or folder is created, the parent's Default ACL is copied as the Access ACL of the child file or folder. Also, if **other** user has RWX permissions in the parent's default ACL, it is removed from the child item's Access ACL.
226226

227-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-child-items-1.png)
227+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-child-items-1.png)
228228

229229
In most scenarios, the previous information is all you need to know about how a child item’s Access ACL is determined. However, if you are familiar with POSIX systems and want to understand in-depth how this transformation is achieved, see the section [Umask’s role in creating the Access ACL for new files and folders](#umasks-role-in-creating-the-access-acl-for-new-files-and-folders) later in this article.
230230

@@ -233,17 +233,17 @@ In most scenarios, the previous information is all you need to know about how a
233233

234234
When a child folder is created under a parent folder, the parent folder's Default ACL is copied over as is to the child folder's Default ACL.
235235

236-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-child-items-2.png)
236+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-child-items-2.png)
237237

238-
## Advanced topics for understanding ACLs in Data Lake Store
238+
## Advanced topics for understanding ACLs in Data Lake Storage Gen1
239239

240-
Following are some advanced topics to help you understand how ACLs are determined for Data Lake Store files or folders.
240+
Following are some advanced topics to help you understand how ACLs are determined for Data Lake Storage Gen1 files or folders.
241241

242242
### Umask’s role in creating the Access ACL for new files and folders
243243

244244
In a POSIX-compliant system, the general concept is that umask is a 9-bit value on the parent folder that's used to transform the permission for **owning user**, **owning group**, and **other** on the Access ACL of a new child file or folder. The bits of a umask identify which bits to turn off in the child item’s Access ACL. Thus it is used to selectively prevent the propagation of permissions for **owning user**, **owning group**, and **other**.
245245

246-
In an HDFS system, the umask is typically a sitewide configuration option that is controlled by administrators. Data Lake Store uses an **account-wide umask** that cannot be changed. The following table shows the unmask for Data Lake Store.
246+
In an HDFS system, the umask is typically a sitewide configuration option that is controlled by administrators. Data Lake Storage Gen1 uses an **account-wide umask** that cannot be changed. The following table shows the unmask for Data Lake Storage Gen1.
247247

248248
| User group | Setting | Effect on new child item's Access ACL |
249249
|------------ |---------|---------------------------------------|
@@ -253,13 +253,13 @@ In an HDFS system, the umask is typically a sitewide configuration option that i
253253

254254
The following illustration shows this umask in action. The net effect is to remove **Read + Write + Execute** for **other** user. Because the umask did not specify bits for **owning user** and **owning group**, those permissions are not transformed.
255255

256-
![Data Lake Store ACLs](./media/data-lake-store-access-control/data-lake-store-acls-umask.png)
256+
![Data Lake Storage Gen1 ACLs](./media/data-lake-store-access-control/data-lake-store-acls-umask.png)
257257

258258
### The sticky bit
259259

260-
The sticky bit is a more advanced feature of a POSIX filesystem. In the context of Data Lake Store, it is unlikely that the sticky bit will be needed.
260+
The sticky bit is a more advanced feature of a POSIX filesystem. In the context of Data Lake Storage Gen1, it is unlikely that the sticky bit will be needed.
261261

262-
The following table shows how the sticky bit works in Data Lake Store.
262+
The following table shows how the sticky bit works in Data Lake Storage Gen1.
263263

264264
| User group | File | Folder |
265265
|--------------------|---------|-------------------------|
@@ -268,13 +268,13 @@ The following table shows how the sticky bit works in Data Lake Store.
268268

269269
The sticky bit is not shown in the Azure portal.
270270

271-
## Common questions about ACLs in Data Lake Store
271+
## Common questions about ACLs in Data Lake Storage Gen1
272272

273-
Here are some questions that come up often about ACLs in Data Lake Store.
273+
Here are some questions that come up often about ACLs in Data Lake Storage Gen1.
274274

275275
### Do I have to enable support for ACLs?
276276

277-
No. Access control via ACLs is always on for a Data Lake Store account.
277+
No. Access control via ACLs is always on for a Data Lake Storage Gen1 account.
278278

279279
### Which permissions are required to recursively delete a folder and its contents?
280280

@@ -306,15 +306,15 @@ Entries in the ACLs are stored as GUIDs that correspond to users in Azure AD. Th
306306

307307
A GUID is shown when the user doesn't exist in Azure AD anymore. Usually this happens when the user has left the company or if their account has been deleted in Azure AD.
308308

309-
### Does Data Lake Store support inheritance of ACLs?
309+
### Does Data Lake Storage Gen1 support inheritance of ACLs?
310310

311311
No, but Default ACLs can be used to set ACLs for child files and folder newly created under the parent folder.
312312

313313
### What is the difference between mask and umask?
314314

315315
| mask | umask|
316316
|------|------|
317-
| The **mask** property is available on every file and folder. | The **umask** is a property of the Data Lake Store account. So there is only a single umask in the Data Lake Store. |
317+
| The **mask** property is available on every file and folder. | The **umask** is a property of the Data Lake Storage Gen1 account. So there is only a single umask in the Data Lake Storage Gen1. |
318318
| The mask property on a file or folder can be altered by the owning user or owning group of a file or a super-user. | The umask property cannot be modified by any user, even a super-user. It is an unchangeable, constant value.|
319319
| The mask property is used during the access check algorithm at runtime to determine whether a user has the right to perform on operation on a file or folder. The role of the mask is to create "effective permissions" at the time of access check. | The umask is not used during access check at all. The umask is used to determine the Access ACL of new child items of a folder. |
320320
| The mask is a 3-bit RWX value that applies to named user, owning group, and named group at the time of access check.| The umask is a 9-bit value that applies to the owning user, owning group, and **other** of a new child.|
@@ -339,4 +339,4 @@ No, but Default ACLs can be used to set ACLs for child files and folder newly cr
339339

340340
## See also
341341

342-
* [Overview of Azure Data Lake Store](data-lake-store-overview.md)
342+
* [Overview of Azure Data Lake Storage Gen1](data-lake-store-overview.md)

0 commit comments

Comments
 (0)