Set-AzDataLakeGen2ItemAclObject

Создает или обновляет объект ACL элемента DataLake 2-го поколения, который можно использовать в командлете Update-AzDataLakeGen2Item.

Синтаксис

Set-AzDataLakeGen2ItemAclObject
   [-EntityId <String>]
   [-DefaultScope]
   -Permission <String>
   [-InputObject <PSPathAccessControlEntry[]>]
   -AccessControlType <AccessControlType>
   [<CommonParameters>]

Описание

Командлет Set-AzDataLakeGen2ItemAclObject создает/обновляет объект ACL элемента DataLake 2-го поколения, который можно использовать в командлете Update-AzDataLakeGen2Item. Если новая запись ACL с тем же AccessControlType/EntityId/DefaultScope не существует в входном ACL, создадит новую запись ACL, в противном случае измените разрешение существующей записи ACL.

Примеры

Пример 1. Создание объекта ACL с записью 3 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

Эта команда создает объект ACL с 3 записями ACL (используйте параметр -InputObject для добавления записи acl в существующий объект acl) и обновляет ACL в каталоге.

Пример 2. Создание объекта ACL с 4 записями 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

Эта команда сначала создает объект ACL с 4 записями ACL, а затем снова запустите командлет с разными разрешениями, но одинаковыми разрешениями AccessControlType/EntityId/DefaultScope существующей записи ACL. Затем обновляется разрешение записи ACL, но новая запись ACL не добавляется.

Параметры

-AccessControlType

Существует четыре типа: "пользователь" предоставляет права владельца или именованного пользователя, "группа" предоставляет права на владение группе или именованной группе, "маска" ограничивает права, предоставленные именованным пользователям и членам групп, и "другие" предоставляют права всем пользователям, не найденным в других записях.

Тип:AccessControlType
Допустимые значения:User, Group, Mask, Other
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DefaultScope

Задайте этот параметр, чтобы указать, что ACE принадлежит ACL по умолчанию для каталога; в противном случае область неявна, а ACE принадлежит доступу к ACL.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-EntityId

Идентификатор пользователя или группы. Он опущен для записей AccessControlType "mask" и "other". Идентификатор пользователя или группы также опущен для владельца и группы владельца.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Если входной объект PSPathAccessControlEntry[] добавит новый ACL в качестве нового элемента входного объекта PSPathAccessControlEntry[].

Тип:PSPathAccessControlEntry[]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Permission

Поле разрешений — это 3-символьная последовательность, в которой первый символ — R для предоставления доступа на чтение, второй символ — W для предоставления доступа на запись, а третий символ — x для предоставления разрешения на выполнение. Если доступ не предоставлен, символ "-" используется для обозначения того, что разрешение запрещено. Липкий бит также поддерживается и его представлен буквой t или T в последнем месте символа в зависимости от того, установлен ли бит выполнения для другой категории или не задан соответственно, отсутствие t или T указывает, что липкий бит не задан.

Тип:String
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

Выходные данные

PSPathAccessControlEntry