Set-AzDataLakeGen2ItemAclObject
Cria/atualiza um objeto ACL do item 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 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, 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
Este 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 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
Este comando primeiro cria um objeto ACL com 4 entradas ACL e, em seguida, executa o cmdlet novamente com permissão diferente, mas a mesma 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 "outros" concede direitos a todos os usuários não encontrados em nenhuma das outras entradas.
Tipo: | AccessControlType |
Valores aceites: | User, Group, Mask, Other |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-DefaultScope
Defina este 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-EntityId
O identificador de usuário ou grupo. Ele é omitido para entradas de AccessControlType "máscara" e "outros". O identificador de usuário ou grupo também é omitido para o proprietário e o grupo proprietário.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InputObject
Se inserir o objeto PSPathAccessControlEntry[], adicionará a nova ACL como um novo elemento do objeto PSPathAccessControlEntry[] de entrada.
Tipo: | PSPathAccessControlEntry[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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 foi negada. O bit pegajoso também é suportado e é representado pela letra t ou T no lugar 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.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
None
Saídas
Azure PowerShell