Share via


Set-AzDataLakeGen2ItemAclObject

Erstellt/aktualisiert ein DataLake gen2-Element-ACL-Objekt, das im Cmdlet Update-AzDataLakeGen2Item verwendet werden kann.

Syntax

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

Beschreibung

Das Cmdlet Set-AzDataLakeGen2ItemAclObject erstellt/aktualisiert ein DataLake gen2-Element-ACL-Objekt, das im Cmdlet Update-AzDataLakeGen2Item verwendet werden kann. Wenn der neue ACL-Eintrag mit demselben AccessControlType/EntityId/DefaultScope nicht in der Eingabe-ACL vorhanden ist, wird ein neuer ACL-Eintrag erstellt, andernfalls wird die Berechtigung eines vorhandenen ACL-Eintrags aktualisiert.

Beispiele

Beispiel 1: Erstellen eines ACL-Objekts mit 3 ACL-Eintrag und Aktualisieren von ACL in einem Verzeichnis

$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

Dieser Befehl erstellt ein ACL-Objekt mit 3 ACL-Einträgen (verwenden Sie den Parameter "-InputObject", um acl-Eintrag zu vorhandenem ACL-Objekt hinzuzufügen), und aktualisiert die ACL in einem Verzeichnis.

Beispiel 2: Erstellen eines ACL-Objekts mit 4 ACL-Einträgen und Aktualisieren der Berechtigung eines vorhandenen ACL-Eintrags

$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

Mit diesem Befehl wird zuerst ein ACL-Objekt mit 4 ACL-Einträgen erstellt. Führen Sie dann das Cmdlet erneut mit unterschiedlicher Berechtigung, jedoch mit demselben AccessControlType/EntityId/DefaultScope eines vorhandenen ACL-Eintrags aus. Anschließend wird die Berechtigung des ACL-Eintrags aktualisiert, aber es wird kein neuer ACL-Eintrag hinzugefügt.

Parameter

-AccessControlType

Es gibt vier Typen: "Benutzer" gewährt dem Besitzer oder einem benannten Benutzer Rechte, "Gruppe" gewährt Berechtigungen für die besitzereigene Gruppe oder eine benannte Gruppe, "Mask" beschränkt die Rechte, die benannten Benutzern und mitgliedern von Gruppen gewährt werden, und "andere" gewährt Allen Benutzern, die nicht in einem der anderen Einträge gefunden wurden, Rechte.

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

-DefaultScope

Legen Sie diesen Parameter fest, um anzugeben, dass die ACE zur Standard-ACL für ein Verzeichnis gehört; andernfalls ist der Bereich implizit, und die ACE gehört zur Zugriffs-ACL.

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

-EntityId

Der Benutzer- oder Gruppenbezeichner. Es wird für Einträge von AccessControlType "mask" und "other" weggelassen. Der Benutzer- oder Gruppenbezeichner wird auch für den Besitzer und die Besitzergruppe weggelassen.

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

-InputObject

Wenn Sie das PSPathAccessControlEntry[]-Objekt eingeben, wird die neue ACL als neues Element des Eingabeobjekts PSPathAccessControlEntry[] hinzugefügt.

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

-Permission

Das Berechtigungsfeld ist eine 3-stellige Sequenz, in der das erste Zeichen "r" ist, um Lesezugriff zu gewähren, das zweite Zeichen "w" ist, um Schreibzugriff zu gewähren, und das dritte Zeichen ist "x", um ausführungsberechtigungen zu erteilen. Wenn kein Zugriff gewährt wird, wird das Zeichen "-" verwendet, um zu kennzeichnen, dass die Berechtigung verweigert wird. Das klebige Bit wird ebenfalls unterstützt und wird entweder durch den Buchstaben t oder T am endgültigen Zeichenplatz dargestellt, je nachdem, ob das Ausführungsbit für die andere Kategorie festgelegt oder nicht festgelegt ist, das Fehlen von "t" oder "T" nicht festgelegt ist.

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

Eingaben

None

Ausgaben

PSPathAccessControlEntry