Skip to content

Commit b06f35f

Browse files
Merge pull request #312607 from khdownie/kendownie030426-5
Files file and directory level permissions integrity check
2 parents 091a8b1 + b5785a1 commit b06f35f

1 file changed

Lines changed: 12 additions & 14 deletions

File tree

articles/storage/files/storage-files-identity-configure-file-level-permissions.md

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ description: Learn how to configure Windows ACLs for directory and file level pe
44
author: khdownie
55
ms.service: azure-file-storage
66
ms.topic: how-to
7-
ms.date: 02/27/2026
7+
ms.date: 03/04/2026
88
ms.author: kendownie
9-
# Customer intent: "As a system administrator, I want to configure directory and file-level permissions for Azure file shares using Windows ACLs, so that I can ensure granular access control and enhance security for users accessing shared files."
9+
# Customer intent: "As a system administrator, I want to configure directory and file-level permissions for SMB Azure file shares using Windows ACLs, so that I can ensure granular access control and enhance security for users accessing shared files."
1010
---
1111

1212
# Configure directory and file-level permissions for Azure file shares
1313

1414
**Applies to:** :heavy_check_mark: SMB Azure file shares
1515

16-
Before you begin this article, make sure you [assign share-level permissions to an identity](storage-files-identity-assign-share-level-permissions.md) with Azure role-based access control (RBAC).
17-
18-
After you assign share-level permissions, you can configure Windows access control lists (ACLs), also known as NTFS permissions, at the root, directory, or file level.
16+
Before you can configure directory and file-level permissions, you must [assign share-level permissions to an identity](storage-files-identity-assign-share-level-permissions.md) with Azure role-based access control (RBAC). After the share-level permissions propagate, you can configure Windows access control lists (ACLs), also known as NTFS permissions, at the root, directory, or file level.
1917

2018
> [!IMPORTANT]
21-
> To configure Windows ACLs for hybrid identities, you need a client machine running Windows that has unimpeded network connectivity to the domain controller. If you authenticate with Azure Files using Active Directory Domain Services (AD DS) or Microsoft Entra Kerberos for hybrid identities, you need unimpeded network connectivity to the on-premises Active Directory. If you use Microsoft Entra Domain Services, the client machine must have unimpeded network connectivity to the domain controllers for the domain that's managed by Microsoft Entra Domain Services, which are located in Azure. For cloud-only identities (preview), there's no dependency on domain controllers, but the device must be joined to Microsoft Entra ID.
19+
> To configure Windows ACLs for [hybrid identities](/entra/identity/hybrid/whatis-hybrid-identity), you need a client machine running Windows that has unimpeded network connectivity to the domain controller. If you authenticate with Azure Files using Active Directory Domain Services (AD DS) or Microsoft Entra Kerberos for hybrid identities, you need unimpeded network connectivity to the on-premises Active Directory. If you use Microsoft Entra Domain Services, the client machine must have unimpeded network connectivity to the domain controllers for the domain that's managed by Microsoft Entra Domain Services, which are located in Azure. For cloud-only identities (preview), there's no dependency on domain controllers, but the client device must be joined to Microsoft Entra ID.
2220
2321
## How Azure RBAC and Windows ACLs work together
2422

@@ -32,11 +30,11 @@ The following table shows how the combination of share-level permissions and Win
3230
|----------------|-------------|-------------------------|------------------------------|---------------------------------------|
3331
| **NTFS - None** | Access Denied | Access Denied | Access Denied | Access Denied |
3432
| **NTFS - Read** | Access Denied | Read | Read | Read |
35-
| **NTFS - Run & Execute**| Access Denied | Read | Read | Read |
33+
| **NTFS - Read & Execute**| Access Denied | Read | Read | Read |
3634
| **NTFS - List Folder** | Access Denied | Read | Read | Read |
37-
| **NTFS - Write** | Access Denied | Read | Read, Run, Write | Read, Write |
38-
| **NTFS - Modify** | Access Denied | Read | Read, Write, Run, Delete | Read, Write, Run, Delete, Apply permissions to your own folder/files |
39-
| **NTFS - Full** | Access Denied | Read | Read, Write, Run, Delete | Read, Write, Run, Delete, Apply permissions to anyone's folders/files |
35+
| **NTFS - Write** | Access Denied | Read | Read, Write | Read, Write |
36+
| **NTFS - Modify** | Access Denied | Read | Read, Write, Delete | Read, Write, Delete, Apply permissions to your own folder/files |
37+
| **NTFS - Full** | Access Denied | Read | Read, Write, Delete | Read, Write, Delete, Apply permissions to anyone's folders/files |
4038

4139
> [!NOTE]
4240
> Taking ownership of folders or files for ACL configuration requires an additional RBAC permission. By using the [Windows permission model for SMB admin](#use-the-windows-permission-model-for-smb-admin), you can grant this permission by assigning the built-in RBAC role [Storage File Data SMB Admin](/azure/role-based-access-control/built-in-roles/storage#storage-file-data-smb-admin), which includes the `takeOwnership` permission.
@@ -47,9 +45,9 @@ Azure Files supports the full set of basic and advanced Windows ACLs.
4745

4846
|Users|Definition|
4947
|---|---|
50-
|`BUILTIN\Administrators`|Built-in security group representing administrators of the file server. This group is empty, and no one can be added to it.
48+
|`BUILTIN\Administrators`|Built-in security group representing administrators of the file server. For Azure Files, this group is empty, and no one can be added to it.|
5149
|`BUILTIN\Users`|Built-in security group representing users of the file server. It includes `NT AUTHORITY\Authenticated Users` by default. For a traditional file server, you can configure the membership definition per server. For Azure Files, there's no hosting server, so `BUILTIN\Users` includes the same set of users as `NT AUTHORITY\Authenticated Users`.|
52-
|`NT AUTHORITY\SYSTEM`|The service account of the operating system of the file server. This service account doesn't apply in Azure Files context. It's included in the root directory to be consistent with Windows Files Server experience for hybrid scenarios.|
50+
|`NT AUTHORITY\SYSTEM`|The service account of the operating system of the file server. This service account doesn't apply in Azure Files context. It's included in the root directory to be consistent with Windows File Server experience for hybrid scenarios.|
5351
|`NT AUTHORITY\Authenticated Users`|All users in AD that can get a valid Kerberos ticket.|
5452
|`CREATOR OWNER`|Each object, either directory or file, has an owner for that object. If there are ACLs assigned to `CREATOR OWNER` on that object, the user that is the owner of this object has the permissions to the object defined by the ACL.|
5553

@@ -63,7 +61,7 @@ The root directory of a file share includes the following permissions:
6361
- `NT AUTHORITY\SYSTEM:(F)`
6462
- `CREATOR OWNER:(OI)(CI)(IO)(F)`
6563

66-
For more information on these permissions, see [the command-line reference for icacls](/windows-server/administration/windows-commands/icacls).
64+
For more information on these permissions, see the [command-line reference for icacls](/windows-server/administration/windows-commands/icacls).
6765

6866
## Mount the file share with admin-level access
6967

@@ -155,7 +153,7 @@ If you configure Entra Kerberos as your identity source, you can configure Windo
155153

156154
### Configure Windows ACLs for cloud-only identities by using PowerShell
157155

158-
If you need to assign ACLs in bulk to cloud-only users, use the [RestSetAcls PowerShell module](https://github.com/Azure-Samples/azure-files-samples/tree/master/RestSetAcls) to automate the process by using the Azure Files REST API.
156+
If you need to assign ACLs in bulk to cloud-only users, use the [RestSetAcls PowerShell module](https://www.powershellgallery.com/packages/RestSetAcls/) to automate the process by using the Azure Files REST API.
159157

160158
For example, if you want to set a root ACL that gives the cloud-only user [email protected] read access:
161159

0 commit comments

Comments
 (0)