Skip to content

Commit 09bcb3e

Browse files
committed
Some ACL docs
1 parent 827b329 commit 09bcb3e

File tree

2 files changed

+31
-13
lines changed

2 files changed

+31
-13
lines changed

articles/storage/blobs/secure-file-transfer-protocol-support-connect.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,13 @@ After the transfer is complete, you can view and manage the file in the Azure po
7373
7474
See the documentation of your SFTP client for guidance about how to connect and transfer files.
7575

76-
### Modify ACLs (preview)
76+
### Modify ACLs
7777

78-
You can set the ACL of a directory or blob by using an SFTP client. You can also change the ID of the owning user and the owning group. To learn more about ACL support for SFTP clients, see [ACLs](secure-file-transfer-protocol-support.md#acls).
78+
You can modify the ACL of a directory or blob by using an SFTP client. You can also change the ID of the owning user and the owning group. To learn more about ACL support for SFTP clients, see [ACLs](secure-file-transfer-protocol-support.md#acls).
7979

80-
#### Set an ACL
80+
#### Modify an ACL
81+
82+
To change the ACL of a directory or blob, the local user must have been given `Modify Permission` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
8183

8284
The following example prints the ACL of a directory to the console. It then, sets the ACL to `777`. Each `7` is the numeric form of `rwx` (read, write, and execute). So `777` gives read, write, and execute permission to the owning user, owning group, and all other users. This example then prints the updated ACL to the console. To learn more about numeric and short forms of an ACL, see [Short forms for permissions](data-lake-storage-access-control.md#short-forms-for-permissions).
8385

@@ -97,6 +99,8 @@ drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
9799
98100
#### Change the owning user
99101

102+
To change the owning user of a directory or blob, the local user must have been given `Modify Ownership` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
103+
100104
The following example prints the ACL of a directory to the console. The ID of the owning user is `0`. This example uses the `chown` command to set the ID of the owning user to `1234` and prints the change to the console.
101105

102106
```console
@@ -113,6 +117,8 @@ sftp>
113117

114118
#### Change the owning group
115119

120+
To change the owning group of a directory or blob, the local user must have been given `Modify Ownership` permission. See [Give permission to containers](secure-file-transfer-protocol-support-authorize-access.md#give-permission-to-containers).
121+
116122
The following example prints the ACL of a directory to the console. The ID of the owning group is `0`. This example uses the `chgrp` command to set the ID of the owning group to `1234` and prints the change to the console.
117123

118124
```console

articles/storage/blobs/secure-file-transfer-protocol-support.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.author: normesta
1414

1515
# SSH File Transfer Protocol (SFTP) support for Azure Blob Storage
1616

17-
Blob storage now supports the SSH File Transfer Protocol (SFTP). This support lets you securely connect to Blob Storage via an SFTP endpoint, allowing you to use SFTP for file access, file transfer, and file management.
17+
Blob storage now supports the SSH File Transfer Protocol (SFTP). This support lets you securely connect to Blob Storage by using an SFTP client, allowing you to use SFTP for file access, file transfer, and file management.
1818

1919
Here's a video that tells you more about it.
2020

@@ -24,7 +24,7 @@ Azure allows secure data transfer to Blob Storage accounts using Azure Blob serv
2424

2525
Prior to the release of this feature, if you wanted to use SFTP to transfer data to Azure Blob Storage you would have to either purchase a third party product or orchestrate your own solution. For custom solutions, you would have to create virtual machines (VMs) in Azure to host an SFTP server, and then update, patch, manage, scale, and maintain a complex architecture.
2626

27-
Now, with SFTP support for Azure Blob Storage, you can enable an SFTP endpoint for Blob Storage accounts with a single click. Then you can set up local user identities for authentication to connect to your storage account with SFTP via port 22.
27+
Now, with SFTP support for Azure Blob Storage, you can enable an SFTP support for Blob Storage accounts with a single click. Then you can set up local user identities for authentication to connect to your storage account with SFTP via port 22.
2828

2929
This article describes SFTP support for Azure Blob Storage. To learn how to enable SFTP for your storage account, see [Connect to Azure Blob Storage by using the SSH File Transfer Protocol (SFTP)](secure-file-transfer-protocol-support-how-to.md).
3030

@@ -42,18 +42,18 @@ Different protocols are supported by the hierarchical namespace. SFTP is one of
4242
4343
## SFTP permission model
4444

45-
Azure Blob Storage doesn't support Microsoft Entra authentication or authorization via SFTP. Instead, SFTP utilizes a new form of identity management called _local users_.
45+
SFTP clients can't be authorized by using Microsoft Entra identities. Instead, SFTP utilizes a new form of identity management called _local users_.
4646

4747
Local users must use either a password or a Secure Shell (SSH) private key credential for authentication. You can have a maximum of 2000 local users for a storage account.
4848

4949
To set up access permissions, you'll create a local user, and choose authentication methods. Then, for each container in your account, you can specify the level of access you want to give that user.
5050

5151
> [!CAUTION]
52-
> Local users do not interoperate with other Azure Storage permission models such as RBAC (role based access control) and ABAC (attribute based access control). ACLs (access control lists) are supported for local users at the preview level.
52+
> Local users do not interoperate with other Azure Storage permission models such as RBAC (role based access control) and ABAC (attribute based access control). Access control lists (ACLs) are supported for local users at the preview level.
5353
>
5454
> For example, Jeff has read only permission (can be controlled via RBAC or ABAC) via their Microsoft Entra identity for file _foo.txt_ stored in container _con1_. If Jeff is accessing the storage account via NFS (when not mounted as root/superuser), Blob REST, or Data Lake Storage Gen2 REST, these permissions will be enforced. However, if Jeff also has a local user identity with delete permission for data in container _con1_, they can delete _foo.txt_ via SFTP using the local user identity.
5555
56-
For SFTP enabled storage accounts, you can use the full breadth of Azure Blob Storage security settings, to authenticate and authorize users accessing Blob Storage via Azure portal, Azure CLI, Azure PowerShell commands, AzCopy, as well as Azure SDKs, and Azure REST APIs. To learn more, see [Access control model in Azure Data Lake Storage Gen2](data-lake-storage-access-control-model.md).
56+
Enabling SFTP support doesn't prevent other types of clients from using Microsoft Entra ID. For users that access Blob Storage by using the Azure portal, Azure CLI, Azure PowerShell commands, AzCopy, as well as Azure SDKs, and Azure REST APIs, you can continue to use the full breadth of Azure Blob Storage security setting to authorize access. To learn more, see [Access control model in Azure Data Lake Storage Gen2](data-lake-storage-access-control-model.md).
5757

5858
## Authentication methods
5959

@@ -80,21 +80,33 @@ For container-level permissions, you can choose which containers you want to gra
8080
| List | l | <li>List content within container</li><li>List content within directory</li> |
8181
| Delete | d | <li>Delete file/directory</li> |
8282
| Create | c | <li>Upload file if file doesn't exist</li><li>Create directory if directory doesn't exist</li> |
83-
| Modify Ownership | o | <li>Change the owning user or owning group for file/directory</li> |
84-
| Modify Permissions | p | <li>Change permissions for file/directory</li> |
83+
| Modify Ownership | o | <li>Change the owning user or owning group of file or directory</li> |
84+
| Modify Permissions | p | <li>Change the ACL of a file or directory</li> |
8585

8686
When performing write operations on blobs in sub directories, Read permission is required to open the directory and access blob properties.
8787

88-
## ACLs
88+
## Access control lists (ACLs)
8989

90-
For directory or blob level permissions, you can change owning user, owning group, and mode that are used by ADLS Gen2 ACLs. Most SFTP clients expose commands for changing these properties. The following table describes common commands in more detail.
90+
You can authorize local users at the directory and blob level by using ACLs. To learn more about ACLs, see [Access control lists (ACLs) in Azure Data Lake Storage Gen2](data-lake-storage-access-control.md). You can authorize local users by using only the owning user, owning group, and all other users entries of an ACL. Named users, named groups are not yet supported.
91+
92+
> [!IMPORTANT]
93+
> This capability is currently in PREVIEW.
94+
> See the [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) for legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
95+
96+
You can modify the ACL of a directory or blob by using any supported tool or SDKs. See [How to set ACLs](data-lake-storage-access-control.md#how-to-set-acls).
97+
98+
To modify the ACL by using an SFTP client, you must give the local user `Modify Permission` permission. To change owning user or owning group of a directory or blob. The local user must have been given `Modify Ownership` permission.
99+
100+
Most SFTP clients expose commands for changing these properties. The following table describes common commands in more detail.
91101

92102
| Command | Required Container Permission | Description |
93103
|---|---|---|
94104
| chown | o | <li>Change owning user for file/directory</li><li>Must specify numeric ID</li> |
95105
| chgrp | o | <li>Change owning group for file/directory</li><li>Must specify numeric ID</li> |
96106
| chmod | p | <li>Change permissions/mode for file/directory</li><li>Must specify POSIX style octal permissions</li> |
97107

108+
To see examples that modify ACLs by using [Open SSH](/windows-server/administration/openssh/openssh_overview), see [Modify ACLs](secure-file-transfer-protocol-support-connect.md#modify-acls).
109+
98110
The IDs required for changing owning user and owning group are part of new properties for Local Users. The following table describes each new Local User property in more detail.
99111

100112
| Property | Description |
@@ -193,7 +205,7 @@ See the [limitations and known issues article](secure-file-transfer-protocol-kno
193205

194206
## Pricing and billing
195207

196-
Enabling the SFTP endpoint has an hourly cost. For the latest pricing information, see [Azure Blob Storage pricing](https://azure.microsoft.com/pricing/details/storage/blobs/).
208+
Enabling SFTP has an hourly cost. For the latest pricing information, see [Azure Blob Storage pricing](https://azure.microsoft.com/pricing/details/storage/blobs/).
197209

198210
> [!TIP]
199211
> To avoid passive charges, consider enabling SFTP only when you are actively using it to transfer data. For guidance about how to enable and then disable SFTP support, see [Connect to Azure Blob Storage by using the SSH File Transfer Protocol (SFTP)](secure-file-transfer-protocol-support-how-to.md).

0 commit comments

Comments
 (0)