Sdílet prostřednictvím


Set-AzDataLakeGen2ItemAclObject

Vytvoří nebo aktualizuje objekt ACL položky DataLake Gen2, který lze použít v rutině Update-AzDataLakeGen2Item.

Syntaxe

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

Description

Rutina Set-AzDataLakeGen2ItemAclObject vytvoří nebo aktualizuje objekt ACL položky DataLake gen2, který lze použít v rutině Update-AzDataLakeGen2Item. Pokud nová položka seznamu ACL se stejnou položkou AccessControlType/EntityId/DefaultScope ve vstupním seznamu ACL neexistuje, vytvoří novou položku seznamu ACL, jinak aktualizuje oprávnění existující položky seznamu ACL.

Příklady

Příklad 1: Vytvoření objektu ACL se 3 položkou seznamu ACL a aktualizací seznamu ACL v adresáři

$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

Tento příkaz vytvoří objekt ACL se 3 položkami seznamu ACL (pomocí parametru -InputObject přidat položku acl do existujícího objektu acl) a aktualizuje seznam ACL v adresáři.

Příklad 2: Vytvoření objektu ACL se 4 položkami seznamu ACL a aktualizace oprávnění existující položky seznamu 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

Tento příkaz nejprve vytvoří objekt ACL se 4 položkami seznamu ACL a pak znovu spustí rutinu s jiným oprávněním, ale stejným AccessControlType/EntityId/DefaultScope existující položky seznamu ACL. Pak se aktualizuje oprávnění položky seznamu ACL, ale nepřidá se žádná nová položka seznamu ACL.

Parametry

-AccessControlType

Existují čtyři typy: "uživatel" uděluje práva vlastníkovi nebo pojmenovaného uživatele, "skupina" uděluje práva vlastnící skupině nebo pojmenované skupině, "maska" omezuje práva udělená pojmenovaným uživatelům a členům skupin a "ostatní" uděluje práva všem uživatelům, kteří nejsou nalezeni v žádné z ostatních položek.

Typ:AccessControlType
Přípustné hodnoty:User, Group, Mask, Other
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DefaultScope

Nastavte tento parametr tak, aby označil, že ACE patří do výchozího seznamu ACL pro adresář; jinak je obor implicitní a ACE patří do přístupového seznamu ACL.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-EntityId

Identifikátor uživatele nebo skupiny. Pro položky AccessControlType "mask" a "other" se vynechá. Identifikátor uživatele nebo skupiny je také vynechán pro vlastníka a vlastnící skupinu.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-InputObject

Pokud zadáte objekt PSPathAccessControlEntry[], přidá nový seznam ACL jako nový prvek vstupního objektu PSPathAccessControlEntry[].

Typ:PSPathAccessControlEntry[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Permission

Pole oprávnění je 3znaková sekvence, kde první znak je r pro udělení přístupu pro čtení, druhý znak je w pro udělení přístupu k zápisu a třetí znak je x pro udělení oprávnění ke spuštění. Pokud přístup není udělen, znak -se použije k označení, že oprávnění je odepřeno. Bit sticky je také podporován a jeho znázornění písmenem t nebo T v konečném znaku v závislosti na tom, zda je spouštěcí bit pro ostatní kategorie nastaven nebo je nenastavený, absence t nebo T indikuje nenastavený bit.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Výstupy

PSPathAccessControlEntry