你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Set-AzDataLakeGen2ItemAclObject
创建/更新 DataLake gen2 项 ACL 对象,可在 Update-AzDataLakeGen2Item cmdlet 中使用。
语法
Set-AzDataLakeGen2ItemAclObject
[-EntityId <String>]
[-DefaultScope]
-Permission <String>
[-InputObject <PSPathAccessControlEntry[]>]
-AccessControlType <AccessControlType>
[<CommonParameters>]
说明
Set-AzDataLakeGen2ItemAclObject cmdlet 创建/更新 DataLake gen2 项 ACL 对象,可在 Update-AzDataLakeGen2Item cmdlet 中使用。 如果输入 ACL 中不存在具有相同 AccessControlType/EntityId/DefaultScope 的新 ACL 条目,则将创建新的 ACL 条目,否则更新现有 ACL 条目的权限。
示例
示例 1:使用 3 个 ACL 条目创建 ACL 对象,并在目录中更新 ACL
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rw-" -InputObject $acl
Update-AzDataLakeGen2Item -FileSystem "filesystem1" -Path "dir1/dir3" -ACL $acl
FileSystem Name: filesystem1
Path IsDirectory Length LastModified Permissions Owner Group
---- ----------- ------ ------------ ----------- ----- -----
dir1/dir3 True 2020-03-23 09:34:31Z rwxrw-rw-+ $superuser $superuser
此命令创建包含 3 个 ACL 条目的 ACL 对象(使用 -InputObject 参数将 acl 条目添加到现有 acl 对象),并更新目录中的 ACL。
示例 2:创建包含 4 个 ACL 条目的 ACL 对象,并更新现有 ACL 条目的权限
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -Permission rwx -DefaultScope
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType group -Permission rw- -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType other -Permission "rwt" -InputObject $acl
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission rwx -InputObject $acl
$acl
DefaultScope AccessControlType EntityId Permissions
------------ ----------------- -------- -----------
True User rwx
False Group rw-
False Other rwt
False User ********-****-****-****-************ rwx
$acl = Set-AzDataLakeGen2ItemAclObject -AccessControlType user -EntityId $id -Permission r-x -InputObject $acl
$acl
DefaultScope AccessControlType EntityId Permissions
------------ ----------------- -------- -----------
True User rwx
False Group rw-
False Other rw-
False User ********-****-****-****-************ r-x
此命令首先创建包含 4 个 ACL 条目的 ACL 对象,然后使用不同的权限再次运行 cmdlet,但现有 ACL 条目的 AccessControlType/EntityId/DefaultScope 相同。 然后更新 ACL 条目的权限,但不会添加新的 ACL 条目。
参数
-AccessControlType
有四种类型:“user”向所有者或命名用户授予权限,“组”向拥有组或命名组授予权限,“掩码”限制向已命名用户和组成员授予的权限,“其他”向任何其他条目中未找到的所有用户授予权限。
类型: | AccessControlType |
接受的值: | User, Group, Mask, Other |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-DefaultScope
设置此参数以指示 ACE 属于目录的默认 ACL;否则范围为隐式范围,ACE 属于访问 ACL。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-EntityId
用户或组标识符。 对于 AccessControlType“mask”和“other”的条目,将省略它。 所有者和拥有组也省略用户或组标识符。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InputObject
如果输入 PSPathAccessControlEntry[] 对象,则会将新的 ACL 添加为输入 PSPathAccessControlEntry[] 对象的新元素。
类型: | PSPathAccessControlEntry[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Permission
权限字段是一个 3 个字符序列,其中第一个字符是“r”来授予读取访问权限,第二个字符是“w”来授予写入访问权限,第三个字符是“x”,用于授予执行权限。 如果未授予访问权限,则使用“-”字符表示拒绝该权限。 粘性位也受支持,并且它由字母 t 或 T 表示在最终字符位置,具体取决于其他类别的执行位是分别设置还是未设置,缺少 t 或 T 表示未设置粘滞位。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
输入
None