Compartilhar via


Configurar permissões de nível de arquivo e diretório para compartilhamentos de arquivos do Azure

Aplica-se a: ✔️ compartilhamentos de arquivos do Azure SMB

Antes de começar este artigo, atribua permissões de nível de compartilhamento a uma identidade com o RBAC (controle de acesso baseado em função) do Azure.

Depois de atribuir permissões no nível de compartilhamento, você pode configurar ACLs (listas de controle de acesso) do Windows, também conhecidas como permissões de NTFS, no nível raiz, de diretório ou de arquivo.

Importante

Para configurar as ACLs do Windows para identidades híbridas, você precisa de uma máquina cliente executando o Windows que tenha conectividade de rede sem impedimento ao controlador de domínio. Se você se autenticar com Azure Files usando Active Directory Domain Services (AD DS) ou Microsoft Entra Kerberos para identidades híbridas, precisará de conectividade de rede desimpedida para o AD local. Se você usar o Microsoft Entra Domain Services, o computador cliente deverá ter conectividade de rede não limitada com os controladores de domínio para o domínio gerenciado pelo Microsoft Entra Domain Services, que estão localizados no Azure. Para identidades somente na nuvem (versão prévia), não há dependência em controladores de domínio, mas o dispositivo deve ser associado à ID do Microsoft Entra.

Como o RBAC do Azure e as ACLs do Windows funcionam juntos

Embora as permissões de nível de compartilhamento (RBAC) atuem como um gatekeeper de alto nível que determina se um usuário pode acessar o compartilhamento, as ACLs do Windows (permissões NTFS) operam em um nível mais granular para controlar quais operações o usuário pode fazer no nível do diretório ou do arquivo.

Quando um usuário tenta acessar um arquivo ou diretório, as permissões de nível de compartilhamento e de nível de arquivo/diretório são impostas. Se houver uma diferença entre um deles, somente o mais restritivo se aplicará. Por exemplo, se um usuário tiver acesso de leitura/gravação no nível de arquivo, mas somente leitura em um nível de compartilhamento, ele só poderá ler esse arquivo. A mesma regra se aplicará se as permissões forem invertidas: se um usuário tiver acesso de leitura/gravação no nível do compartilhamento, mas somente ler no nível do arquivo, ele ainda poderá ler o arquivo.

A tabela a seguir mostra como a combinação de permissões de nível de compartilhamento e ACLs do Windows funcionam juntas para determinar o acesso a um arquivo ou diretório nos Arquivos do Azure.

Nenhum papel RBAC RBAC – Leitor de Compartilhamento SMB RBAC – Contribuidor de Compartilhamento SMB RBAC – Contribuidor com Elevados Privilégios no Share SMB
NTFS – Nenhum Acesso negado Acesso negado Acesso negado Acesso negado
NTFS – Leitura Acesso negado Leitura Leitura Leitura
NTFS – Processar e Executar Acesso negado Leitura Leitura Leitura
NTFS – Listar pasta Acesso negado Leitura Leitura Leitura
NTFS – Gravação Acesso negado Leitura Ler, Executar, Gravar Leitura, Gravação
NTFS – Modificar Acesso negado Leitura Leitura, Gravar, Executar, Excluir Ler, gravar, executar, excluir, aplicar permissões à sua própria pasta/arquivos
NTFS – Completo Acesso negado Leitura Leitura, Gravar, Executar, Excluir Ler, gravar, executar, excluir, aplicar permissões a pastas/arquivos de qualquer pessoa

Observação

Assumir a propriedade de pastas ou arquivos para a configuração de ACL requer uma permissão RBAC adicional. Com o modelo de permissão do Windows para administrador do SMB, você poderá conceder essa permissão atribuindo a função RBAC integrada Administrador do SMB de Dados de Arquivo de Armazenamento, que inclui a permissão takeOwnership.

ACLs do Windows com suporte

O Arquivos do Azure fornece suporte a todo o conjunto de ACLs básicas e avançadas do Windows.

Usuários Definição
BUILTIN\Administrators Grupo de segurança interno que representa os administradores do servidor de arquivos. Esse grupo está vazio e ninguém pode ser adicionado a ele.
BUILTIN\Users Grupo de segurança interno que representa os usuários do servidor de arquivos. Ele inclui NT AUTHORITY\Authenticated Users por padrão. Para um servidor de arquivos tradicional, é possível configurar a definição de associação por servidor. Para arquivos do Azure, não há um servidor de hospedagem, portanto BUILTIN\Users , inclui o mesmo conjunto de usuários que NT AUTHORITY\Authenticated Users.
NT AUTHORITY\SYSTEM A conta de serviço do sistema operacional do servidor de arquivos. Essa conta de serviço não se aplica ao contexto do Arquivos do Azure. Ele está incluído no diretório raiz para ser consistente com a experiência do Windows Files Server para cenários híbridos.
NT AUTHORITY\Authenticated Users Todos os usuários no AD que podem obter um tíquete Kerberos válido.
CREATOR OWNER Cada objeto, diretório ou arquivo, tem um proprietário para esse objeto. Se houver ACLs atribuídas a CREATOR OWNER neste objeto, o usuário que é o proprietário do objeto terá as permissões para o objeto definidas pela ACL.

O diretório raiz de um compartilhamento de arquivos inclui as seguintes permissões:

  • BUILTIN\Administrators:(OI)(CI)(F)
  • BUILTIN\Users:(RX)
  • BUILTIN\Users:(OI)(CI)(IO)(GR,GE)
  • NT AUTHORITY\Authenticated Users:(OI)(CI)(M)
  • NT AUTHORITY\SYSTEM:(OI)(CI)(F)
  • NT AUTHORITY\SYSTEM:(F)
  • CREATOR OWNER:(OI)(CI)(IO)(F)

Para obter mais informações sobre essas permissões, consulte a referência de linha de comando para icacls.

Montar o compartilhamento de arquivos com acesso no nível do administrador

Antes de configurar as ACLs do Windows, monte o compartilhamento de arquivos com acesso no nível do administrador. Você pode adotar duas abordagens:

  • Use o modelo de permissão do Windows para administrador SMB (recomendado): Atribua o papel RBAC interno Administrador de Dados de Arquivo do SMB, que inclui as permissões necessárias para usuários que configuram ACLs. Em seguida, monte o compartilhamento de arquivos usando a autenticação baseada em identidade e configure ACLs. Essa abordagem é mais segura porque não exige a chave da sua conta de armazenamento para montar o compartilhamento de arquivos.

  • Use a chave da conta de armazenamento (menos segura): use a chave da conta de armazenamento para montar o compartilhamento de arquivos e, em seguida, configurar ACLs. A chave da conta de armazenamento é uma credencial confidencial. Por motivos de segurança, use essa opção somente se você não puder usar a autenticação baseada em identidade.

Observação

Se um usuário tiver a ACL de Controle Total, bem como a função de Colaborador Elevado de Compartilhamento do SMB de Dados de Arquivo de Armazenamento (ou uma função personalizada com as permissões necessárias), ele poderá configurar as ACLs sem usar o modelo de permissão do Windows para administrador do SMB ou a chave da conta de armazenamento.

Usar o modelo de permissão do Windows para administrador SMB

É recomendável usar o modelo de permissão do Windows para administrador SMB em vez de usar a chave da conta de armazenamento. Esse recurso permite atribuir aos usuários a função RBAC interna Administrador de Dados de Arquivos de Armazenamento SMB, permitindo que eles assumam a propriedade de um arquivo ou diretório para configurar ACLs.

Importante

A função RBAC de Administrador de SMB de Dados de Arquivo de Armazenamento não concederá à identidade acesso direto a um arquivo ou diretório se a identidade não receber a permissão adequada (como Modificar ou Controle Total) na ACL do arquivo ou diretório de destino. No entanto, a identidade com a função RBAC de Administrador de SMB de Dados de Arquivo de Armazenamento pode assumir a propriedade do arquivo ou diretório de destino usando o comando takeown do Windows e, em seguida, modificar a ACL para conceder as permissões de acesso adequadas.

A função RBAC do Administrador do SMB de Dados de Arquivo de Armazenamento inclui as três ações de dados a seguir:

  • Microsoft.Storage/storageAccounts/fileServices/readFileBackupSemantics/action
  • Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action
  • Microsoft.Storage/storageAccounts/fileServices/takeOwnership/action

Para usar o modelo de permissão do Windows para administrador SMB, siga estas etapas:

  1. Atribua a função Storage File Data SMB Admin RBAC a usuários que configuram ACLs. Para obter instruções sobre como atribuir uma função, consulte Atribuir funções do Azure usando o portal do Azure.

  2. Fazer com que os usuários montem o compartilhamento de arquivos usando sua identidade de domínio. Desde que a autenticação baseada em identidade esteja configurada para sua conta de armazenamento, você poderá montar o compartilhamento e configurar e editar ACLs do Windows sem usar a chave da conta de armazenamento.

    Faça login em um dispositivo associado ao domínio ou em um dispositivo que tenha conectividade de rede sem impedimentos com os controladores de domínio (faça isso como usuário do Microsoft Entra, caso sua fonte de AD seja o Microsoft Entra Domain Services). Abra um prompt de comando do Windows e monte o compartilhamento de arquivos executando o comando a seguir. Substitua <YourStorageAccountName> e <FileShareName> pelos seus próprios valores. Se Z: já estiver em uso, substitua-o por uma letra de unidade disponível.

    Use o net use comando para montar o compartilhamento neste estágio e não no PowerShell. Se você usar o PowerShell para montar o compartilhamento, o compartilhamento não estará visível para o Explorador de Arquivos do Windows ou cmd.exee você terá dificuldade em configurar ACLs do Windows.

    net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName>
    

Aviso

Se possível, use o modelo de permissão do Windows para administrador SMB para montar o compartilhamento em vez de usar a chave da conta de armazenamento.

Faça login em um dispositivo associado ao domínio ou em um dispositivo que tenha conectividade de rede sem impedimentos com os controladores de domínio (faça isso como usuário do Microsoft Entra, caso sua fonte de AD seja o Microsoft Entra Domain Services). Abra um prompt de comando do Windows e monte o compartilhamento de arquivos executando o comando a seguir. Substitua <YourStorageAccountName>, <FileShareName> e <YourStorageAccountKey> por valores próprios. Se Z: já estiver em uso, substitua-o por uma letra de unidade disponível. A chave de conta de armazenamento pode ser encontrada no portal do Azure navegando até a conta de armazenamento e selecionando Segurança + rede>Chaves de acesso ou usando o cmdlet Get-AzStorageAccountKey do PowerShell.

Use o net use comando para montar o compartilhamento neste estágio e não no PowerShell. Se você usar o PowerShell para montar o compartilhamento, o compartilhamento não estará visível para o Explorador de Arquivos do Windows ou cmd.exee você terá dificuldade em configurar ACLs do Windows.

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:localhost\<YourStorageAccountName> <YourStorageAccountKey>

Configurar ACLs do Windows

O processo de configuração de ACLs do Windows é diferente dependendo se você está autenticando identidades híbridas ou somente na nuvem.

  • Para identidades somente na nuvem (versão prévia), você deve usar o portal do Azure ou o PowerShell. Atualmente, não há suporte para o Explorador de Arquivos do Windows e icacls para identidades somente na nuvem.

  • Para identidades híbridas, você pode configurar ACLs do Windows usando icacls ou usar o Explorador de Arquivos do Windows. Você também pode usar o comando Set-ACL do PowerShell. Se você tiver diretórios ou arquivos em servidores de arquivos locais com ACLs do Windows configuradas em relação às identidades do AD DS, você poderá copiá-los para os Arquivos do Azure, preservando as ACLs usando ferramentas de cópia de arquivo tradicionais, como o Robocopy ou a versão mais recente do Azure AzCopy. Caso nivele diretórios e arquivos para Arquivos do Azure por meio da Sincronização de Arquivos do Azure, suas ACLs são transportadas e persistidas no formato nativo.

Importante

Se você estiver usando o Microsoft Entra Kerberos para autenticar identidades híbridas, as identidades híbridas deverão ser sincronizadas com a ID do Microsoft Entra para que as ACLs sejam impostas. Você pode definir ACLs de nível de arquivo e diretório para identidades que não estão sincronizadas com a ID do Microsoft Entra. No entanto, essas ACLs não são impostas porque o tíquete Kerberos usado para autenticação e autorização não contém as identidades não sincronizadas. Se você estiver usando o AD DS local como fonte do AD, poderá incluir identidades não sincronizadas nas ACLs. O AD DS coloca esses SIDs no tíquete do Kerberos e as ACLs são aplicadas.

Configurar ACLs do Windows usando o portal do Azure

Se você tiver o Microsoft Entra Kerberos configurado como sua fonte de identidade, poderá configurar ACLs do Windows por usuário ou grupo do Entra usando o portal do Azure. Esse método funciona para identidades híbridas e somente na nuvem somente quando o Microsoft Entra Kerberos é usado como a fonte de identidade.

  1. Entre no portal do Azure usando esta URL específica: https://aka.ms/portal/fileperms

  2. Navegue até o compartilhamento de arquivos para o qual você deseja configurar ACLs do Windows.

  3. No menu de serviço, selecione Procurar. Se você quiser definir uma ACL na pasta raiz, selecione Gerenciar acesso no menu superior.

    Captura de tela do portal do Azure mostrando como gerenciar o acesso à pasta raiz de um compartilhamento de arquivos.

  4. Para definir uma ACL para um arquivo ou diretório, clique com o botão direito do mouse no arquivo ou diretório e selecione Gerenciar acesso.

    Captura de tela do portal do Azure mostrando como definir ACLs do Windows para um arquivo ou diretório.

  5. Agora você deve ver os usuários e grupos disponíveis. Opcionalmente, você pode adicionar um novo usuário ou grupo. Selecione o ícone de lápis à extrema direita de qualquer usuário ou grupo para adicionar ou editar permissões para o usuário/grupo acessar o arquivo/diretório especificado.

    Captura de tela do portal do Azure mostrando uma lista de usuários e grupos do Entra.

  6. Edite as permissões. Negar sempre tem precedência sobre Permitir quando ambos estão definidos. Quando nenhum dos dois é definido, as permissões padrão são herdadas.

    Captura de tela do portal do Azure mostrando como adicionar ou editar permissões para um usuário ou grupo do Entra.

  7. Selecione Salvar para definir a ACL.

Configurar ACLs do Windows para identidades somente na nuvem usando o PowerShell

Se você precisar atribuir ACLs em massa a usuários somente na nuvem, poderá usar o módulo RestSetAcls PowerShell para automatizar o processo usando a API REST dos Arquivos do Azure.

Por exemplo, se você quiser definir uma ACL raiz que permitirá que o usuário testUser@contoso.com somente na nuvem tenha acesso de leitura:

$AccountName = "<storage-account-name>" # replace with the storage account name 
$AccountKey = "<storage-account-key>" # replace with the storage account key 
$context = New-AzStorageContext -StorageAccountName $AccountName -StorageAccountKey $AccountKey 
Add-AzFileAce -Context $context -FileShareName test -FilePath "/" -Type Allow -Principal "testUser@contoso.com" -AccessRights Read,Synchronize -InheritanceFlags ObjectInherit,ContainerInherit 

Configurar ACLs do Windows com icacls

Importante

O uso de icacls não funciona para identidades somente na nuvem.

Para conceder permissões completas a todos os diretórios e arquivos no compartilhamento de arquivos, incluindo o diretório raiz, execute o seguinte comando do Windows de um computador que tenha conectividade de rede não impedida para o controlador de domínio do AD. Lembre-se de substituir os valores de espaço reservado no exemplo pelos seus próprios valores. Se a origem do AD for Microsoft Entra Domain Services, então <user-upn> será <user-email>.

icacls <mapped-drive-letter>: /grant <user-upn>:(f)

Para obter mais informações sobre como usar icacls para definir ACLs do Windows e os diferentes tipos de permissões com suporte, consulte a referência da linha de comando para icacls.

Configurar ACLs do Windows com o Gerenciador de Arquivos do Windows

Se você estiver conectado a um cliente Windows associado ao domínio, poderá usar o Explorador de Arquivos do Windows para conceder permissão total a todos os diretórios e arquivos no compartilhamento de arquivo, inclusive o diretório raiz. Usar o Explorador de Arquivos só funciona para identidades híbridas; não funciona para identidades somente na nuvem.

Importante

Usar o Explorador de Arquivos do Windows não funciona para identidades somente na nuvem. Se o cliente não estiver ingressado no domínio ou se o ambiente tiver várias florestas do AD, não use o Windows Explorer para configurar ACLs. Em vez disso,use icacls. Essa restrição existe porque a configuração de ACL do Explorador de Arquivos do Windows requer que o cliente esteja associado ao domínio do AD ao qual a conta de armazenamento está vinculada.

Siga estas etapas para configurar ACLs usando o Explorador de Arquivos do Windows.

  1. Abra o Explorador de Arquivos do Windows, clique com o botão direito do mouse no arquivo ou diretório e selecione Propriedades.
  2. Selecione a guia Segurança .
  3. Selecione Editar… para alterar as permissões.
  4. Altere as permissões dos usuários existentes ou selecione Adicionar... para conceder permissões a novos usuários.
  5. Na janela de prompt para adicionar novos usuários, insira o nome do usuário de destino ao qual você deseja conceder permissão na caixa Inserir os nomes de objetos a serem selecionados e selecione Verificar nomes para localizar o nome UPN completo do usuário de destino. Talvez você precise especificar o nome e o GUID do domínio de seu AD local. Obtenha essas informações com seu administrador de domínio ou com um cliente conectado ao AD local.
  6. Selecione OK.
  7. Na guia Segurança, selecione todas as permissões que você quer conceder ao novo usuário.
  8. Escolha Aplicar.

Próxima etapa

Depois de configurar permissões de diretório e de nível de arquivo, você pode montar o compartilhamento de arquivos SMB no Windows ou linux.