Set-AzDataLakeGen2ItemAclObject

Cria/atualiza um objeto ACL de item gen2 DataLake, que pode ser usado no cmdlet Update-AzDataLakeGen2Item.

Syntax

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

Description

O cmdlet Set-AzDataLakeGen2ItemAclObject cria/atualiza um objeto ACL de item DataLake gen2, que pode ser usado no cmdlet Update-AzDataLakeGen2Item. Se a nova entrada ACL com o mesmo AccessControlType/EntityId/DefaultScope não existir na ACL de entrada, criará uma nova entrada ACL, caso contrário, atualize a permissão da entrada ACL existente.

Exemplos

Exemplo 1: Criar um objeto ACL com 3 entradas ACL e atualizar ACL em um diretório

$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

Esse comando cria um objeto ACL com 3 entradas ACL (use o parâmetro -InputObject para adicionar entrada acl ao objeto acl existente) e atualiza a ACL em um diretório.

Exemplo 2: Criar um objeto ACL com 4 entradas ACL e atualizar a permissão de uma entrada ACL existente

$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

Esse comando primeiro cria um objeto ACL com 4 entradas ACL e, em seguida, executa o cmdlet novamente com permissão diferente, mas o mesmo AccessControlType/EntityId/DefaultScope de uma entrada ACL existente. Em seguida, a permissão da entrada ACL é atualizada, mas nenhuma nova entrada ACL é adicionada.

Parâmetros

-AccessControlType

Existem quatro tipos: "usuário" concede direitos ao proprietário ou a um usuário nomeado, "grupo" concede direitos ao grupo proprietário ou a um grupo nomeado, "máscara" restringe direitos concedidos a usuários nomeados e membros de grupos, e "outro" concede direitos a todos os usuários não encontrados em nenhuma das outras entradas.

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

-DefaultScope

Defina esse parâmetro para indicar que a ACE pertence à ACL padrão de um diretório; caso contrário, o escopo está implícito e a ACE pertence à ACL de acesso.

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

-EntityId

O identificador de usuário ou grupo. Ele é omitido para entradas de AccessControlType "mask" e "other". O identificador de usuário ou grupo também é omitido para o proprietário e o grupo proprietário.

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

-InputObject

Se o objeto PSPathAccessControlEntry[] for inserido, adicionará a nova ACL como um novo elemento do objeto PSPathAccessControlEntry[] de entrada.

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

-Permission

O campo de permissão é uma sequência de 3 caracteres onde o primeiro caractere é 'r' para conceder acesso de leitura, o segundo caractere é 'w' para conceder acesso de gravação e o terceiro caractere é 'x' para conceder permissão de execução. Se o acesso não for concedido, o caractere '-' será usado para indicar que a permissão foi negada. O bit pegajoso também é suportado e é representado pela letra t ou T no local de caractere final, dependendo se o bit de execução para a outra categoria está definido ou desdefinido, respectivamente, ausência de t ou T indica bit pegajoso não definido.

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

Entradas

None

Saídas

PSPathAccessControlEntry