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.
Typ: | AccessControlType |
Zulässige Werte: | User, Group, Mask, Other |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Wenn Sie das PSPathAccessControlEntry[]-Objekt eingeben, wird die neue ACL als neues Element des Eingabeobjekts PSPathAccessControlEntry[] hinzugefügt.
Typ: | PSPathAccessControlEntry[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
None
Ausgaben
Azure PowerShell