Azure Data Lake gen2 文件夹上的 SMTP 本地用户的 ACL

问题描述 投票:0回答:1

我有关注的情况。 Azure Data Lake Gen2 已设置。 单个容器有 2 个文件夹。(文件夹 1、文件夹 2) 我已经设置了 Data Lake gen2 并启用了 smap。 我创建了 2 个 smtp 本地用户。(user1, user2)

我的目标是.. 要在文件夹 1 上设置 ACL,用户 1 可以读写,但不能在文件夹 2 上写入。 要在folder2上设置ACL,用户2可以读写但不能在folder1上写入。

下面是使用 azure cmdlet 在 powershell 上执行的内容。

$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $userID -Permission rwx
Update-AzDataLakeGen2Item -Context $ctx -FileSystem $filesystemName -Path $dirname -Acl $acl

输出跟随错误。恐怕获取 user1 的 -EntityId 失败。用户名不起作用。此外,命令“ Get-AzStorageLocalUser -ResourceGroupName "myblobstorage" -StorageAccountName "myccount" 中的 SID 失败。还有。

enter image description here

azure powershell smtp acl azure-data-lake-gen2
1个回答
0
投票

我的目标是.. 在文件夹 1 上设置 ACL,用户 1 可以读写,但不能在文件夹 2 上写入。要在folder2上设置ACL,用户2可以读写但不能在folder1上写入。

根据此MS-Document

Azure Blob 存储的文件和目录级别的

ACL authorization
仍处于
preview
状态,目前只能通过
Azure Portal
启用。这意味着 Azure CLI、PowerShell 或其他本地用户管理工具尚未完全支持
ACL authorization
在更精细的级别(例如文件和目录)控制访问。

在我的环境中,我创建了在门户中启用 SFTP 的本地用户,并通过门户启用了 ACL。

传送门: enter image description here

现在

user1
只能访问文件夹1。

命令与输出:

PS C:\xxxx> Sftp storage accountname.<localusername>@<storage account name>.blob.core.windows.net
[email protected]'s password:
Connected to venkat8912.blob.core.windows.net.
sftp> ls
mac-tar-cache-exp.png   project-structure.png

上面的示例命令将仅显示folder1中的文件。 enter image description here

与您只能为

folder2
创建本地用户访问权限相同。

参考:

Azure Blob 存储的 SFTP 支持 - Azure 存储 |微软学习

© www.soinside.com 2019 - 2024. All rights reserved.