Set-AzDataLakeGen2ItemAclObject

Tworzy/Aktualizacje obiekt listy ACL elementu datalake gen2, który może być używany w poleceniu cmdlet Update-AzDataLakeGen2Item.

Składnia

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

Opis

Polecenie cmdlet Set-AzDataLakeGen2ItemAclObject tworzy/aktualizuje obiekt listy ACL elementu dataLake gen2, który może być używany w poleceniu cmdlet Update-AzDataLakeGen2Item. Jeśli nowy wpis listy ACL o tym samym typie AccessControlType/EntityId/DefaultScope nie istnieje w wejściowej liście ACL, utworzy nowy wpis listy ACL, a następnie zaktualizuje uprawnienie istniejącej listy ACL.

Przykłady

Przykład 1: Tworzenie obiektu listy ACL z wpisem listy ACL 3 i aktualizowanie listy ACL w katalogu

$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

To polecenie tworzy obiekt listy ACL z 3 wpisami listy ACL (użyj parametru -InputObject, aby dodać wpis listy acl do istniejącego obiektu listy ACL) i aktualizuje listę ACL w katalogu.

Przykład 2. Tworzenie obiektu listy ACL z 4 wpisami listy ACL i aktualizowanie uprawnień do istniejącego wpisu listy 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

To polecenie najpierw tworzy obiekt listy ACL z 4 wpisami listy ACL, a następnie ponownie uruchom polecenie cmdlet z innym uprawnieniem, ale tym samym AccessControlType/EntityId/DefaultScope istniejącego wpisu listy ACL. Następnie uprawnienie wpisu listy ACL jest aktualizowane, ale nie dodano nowego wpisu listy ACL.

Parametry

-AccessControlType

Istnieją cztery typy: "użytkownik" przyznaje prawa właścicielowi lub nazwanemu użytkownikowi, "grupa" przyznaje prawa do grupy należącej lub nazwanej grupy, "maska" ogranicza prawa przyznane nazwanym użytkownikom i członkom grup, a "inne" przyznaje prawa wszystkim użytkownikom, którzy nie znaleźli się w żadnym z innych wpisów.

Type:AccessControlType
Accepted values:User, Group, Mask, Other
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DefaultScope

Ustaw ten parametr, aby wskazać, że ACE należy do domyślnej listy ACL katalogu; w przeciwnym razie zakres jest niejawny, a ACE należy do listy ACL dostępu.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EntityId

Identyfikator użytkownika lub grupy. Pominięto wpisy accessControlType "maska" i "inne". Identyfikator użytkownika lub grupy jest również pomijany dla właściciela i grupy właściciela.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

W przypadku wprowadzania obiektu PSPathAccessControlEntry[] zostanie dodana nowa lista ACL jako nowy element wejściowego obiektu PSPathAccessControlEntry[].

Type:PSPathAccessControlEntry[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Permission

Pole uprawnień jest sekwencją 3-znakową, w której pierwszy znak to "r", aby udzielić dostępu do odczytu, drugi znak to "w", aby udzielić dostępu do zapisu, a trzeci znak to "x", aby udzielić uprawnień do wykonywania. Jeśli nie udzielono dostępu, znak "-" jest używany do oznaczania, że uprawnienie zostało odrzucone. Bit lepki jest również obsługiwany, a jego reprezentacja przez literę t lub T w końcowym miejscu znaku w zależności od tego, czy bit wykonywania dla innej kategorii jest ustawiony, czy nie ustawiono odpowiednio, brak t lub T wskazuje lepki bit nie ustawiono.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

None

Dane wyjściowe

PSPathAccessControlEntry