Compartilhar via


Set-AzDataLakeGen2ItemAclObject

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

Sintaxe

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

Description

O cmdlet Set-AzDataLakeGen2ItemAclObject cria/atualiza um objeto ACL de item do DataLake gen2, que pode ser usado em Update-AzDataLakeGen2Item cmdlet. 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, a permissão de atualizaçã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 -InputObject parâmetro 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 a permissão de atualizaçã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 de ACL é adicionada.

Parâmetros

-AccessControlType

Há 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 os direitos concedidos aos usuários nomeados e aos membros de grupos, e "outros" concede direitos a todos os usuários não encontrados em nenhuma das outras entradas.

Tipo:AccessControlType
Valores aceitos:User, Group, Mask, Other
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultScope

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

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

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

Tipo:PSPathAccessControlEntry[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Permission

O campo de permissão é uma sequência de 3 caracteres em que 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 é negada. O bit autoadesiva também tem suporte e é representado pela letra t ou T no local do caractere final, dependendo se o bit de execução para a categoria de outras pessoas está definido ou não definido, respectivamente, a ausência de t ou T indica que o bit autoadesiva não está definido.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Saídas

PSPathAccessControlEntry