Dela via


Set-AzDataLakeGen2ItemAclObject

Skapar/uppdaterar ett ACL-objekt för DataLake gen2-objekt som kan användas i cmdleten Update-AzDataLakeGen2Item.

Syntax

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

Description

Cmdleten Set-AzDataLakeGen2ItemAclObject skapar/uppdaterar ett ACL-objekt för DataLake gen2 som kan användas i cmdleten Update-AzDataLakeGen2Item. Om den nya ACL-posten med samma AccessControlType/EntityId/DefaultScope inte finns i indata-ACL skapar en ny ACL-post, annars uppdaterar du behörigheten för den befintliga ACL-posten.

Exempel

Exempel 1: Skapa ett ACL-objekt med 3 ACL-post och uppdatera ACL i en katalog

$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

Det här kommandot skapar ett ACL-objekt med 3 ACL-poster (använd parametern -InputObject för att lägga till acl-post i ett befintligt acl-objekt) och uppdaterar ACL i en katalog.

Exempel 2: Skapa ett ACL-objekt med 4 ACL-poster och uppdatera behörigheten för en befintlig ACL-post

$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

Det här kommandot skapar först ett ACL-objekt med 4 ACL-poster och kör sedan cmdleten igen med annan behörighet men samma AccessControlType/EntityId/DefaultScope för en befintlig ACL-post. Sedan uppdateras behörigheten för ACL-posten, men ingen ny ACL-post läggs till.

Parametrar

-AccessControlType

Det finns fyra typer: "användare" beviljar rättigheter till ägaren eller en namngiven användare, "grupp" beviljar rättigheter till ägande gruppen eller en namngiven grupp, "mask" begränsar rättigheter som beviljas till namngivna användare och medlemmar i grupper och "andra" ger rättigheter till alla användare som inte finns i någon av de andra posterna.

Typ:AccessControlType
Godkända värden:User, Group, Mask, Other
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultScope

Ange den här parametern för att ange att ACE tillhör standard-ACL:en för en katalog. annars är omfånget implicit och ACE tillhör åtkomst-ACL:en.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-EntityId

Användaren eller gruppidentifieraren. Det utelämnas för poster i AccessControlType "mask" och "other". Användaren eller gruppidentifieraren utelämnas också för ägaren och ägande gruppen.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InputObject

Om du anger OBJEKTET PSPathAccessControlEntry[] lägger du till den nya ACL:n som ett nytt element i indataobjektet PSPathAccessControlEntry[] .

Typ:PSPathAccessControlEntry[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Permission

Behörighetsfältet är en sekvens på 3 tecken där det första tecknet är "r" för att bevilja läsåtkomst, det andra tecknet är "w" för att bevilja skrivåtkomst och det tredje tecknet är "x" för att bevilja körningsbehörighet. Om åtkomst inte beviljas används tecknet "-" för att ange att behörigheten nekas. Den klibbiga biten stöds också och den representeras antingen av bokstaven t eller T på den slutliga teckenplatsen beroende på om körningsbiten för den andra kategorin har angetts eller inte har angetts, avsaknad av t eller T indikerar att fästbiten inte har angetts.

Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

None

Utdata

PSPathAccessControlEntry