Habilitar a autenticação do Microsoft Entra Domain Services nos Arquivos do Azure

Os Arquivos do Azure dão suporte à autenticação baseada em identidade para compartilhamentos de arquivos do Windows em protocolo SMB usando o protocolo de autenticação Kerberos por meio dos seguintes métodos:

  • AD DS (Active Directory Domain Services) local
  • Serviços de Domínio do Microsoft Entra
  • Kerberos do Microsoft Entra para identidades de usuário híbridas

Esse artigo aborda como habilitar e configurar o Microsoft Entra Domain Services (anteriormente Azure Active Directory Domain Services) para autenticação baseada em identidade com compartilhamentos de arquivos do Azure. Nesse cenário de autenticação, as credenciais do Microsoft Entra e as credenciais do Microsoft Entra Domain Services são iguais e podem ser usadas de forma intercambiável.

É recomendável que você examine a seção Como funciona para selecionar origem do AD correta para autenticação. A configuração será diferente dependendo da origem do AD que você escolher.

Se você não está familiarizado com os Arquivos do Azure, é recomendável que você leia o nosso guia de planejamento antes de ler este artigo.

Observação

Os Arquivos do Azure dão suporte à autenticação Kerberos com o Microsoft Entra Domain Services com criptografia RC4-HMAC e AES-256. É recomendável usar AES-256.

Os Arquivos do Azure dão suporte à autenticação para o Microsoft Entra Domain Services com sincronização completa ou parcial (com escopo) no Microsoft Entra ID. Em ambientes com a sincronização com escopo presente, os administradores devem estar cientes de que Arquivos do Azure respeitam apenas as atribuições de função do RBAC do Azure concedidas a entidades de segurança sincronizadas. As atribuições de função concedidas a identidades não sincronizadas do Microsoft Entra ID para Microsoft Entra Domain Services serão ignoradas pelo serviço Arquivos do Azure.

Aplica-se a

Tipo de compartilhamento de arquivos SMB NFS
Compartilhamentos de arquivos padrão (GPv2), LRS/ZRS Yes No
Compartilhamentos de arquivos padrão (GPv2), GRS/GZRS Yes No
Compartilhamento de arquivos premium (FileStorage), LRS/ZRS Yes No

Pré-requisitos

Antes de habilitar a autenticação do Microsoft Entra Domain Services no protocolo SMB para compartilhamentos de arquivos do Azure, verifique se você concluiu os pré-requisitos a seguir:

  1. Selecionar ou criar um locatário do Microsoft Entra.

    Você pode usar um novo locatário ou um existente. O locatário e o compartilhamento de arquivos que você deseja acessar devem estar associados à mesma assinatura.

    Para criar um locatário do Microsoft Entra, você pode Adicionar um locatário do Microsoft Entra e uma assinatura do Microsoft Entra. Se você já tem um locatário do Microsoft Entra, mas quer criar um locatário para usar com os compartilhamentos de arquivos do Azure, consulte Criar um locatário do Microsoft Entra.

  2. Habilitar o Microsoft Entra Domain Services no locatário do Microsoft Entra.

    Para dar suporte à autenticação com as credenciais do Microsoft Entra, você deve habilitar o Microsoft Entra Domain Services para seu locatário do Microsoft Entra. Se você não for o administrador do locatário do Microsoft Entra, entre em contato com o administrador e siga as orientações passo a passo para Habilitar o Microsoft Entra Domain Services usando o portal do Azure.

    Normalmente leva cerca de 15 minutos para uma implantação do Microsoft Entra Domain Services concluir. Verifique se o status da integridade do Microsoft Entra Domain Services mostra Em execução, com a sincronização de hash de senha habilitada, antes de prosseguir para a próxima etapa.

  3. Conectar uma VM do Azure ao domínio com o Microsoft Entra Domain Services.

    Para acessar um compartilhamento de arquivo do Azure usando as credenciais do Microsoft Entra de uma VM, ela deve estar conectada ao domínio do Microsoft Entra Domain Services. Para obter mais informações sobre como ingressar no domínio de uma VM, consulte Ingressar uma máquina virtual do Windows Server em um domínio gerenciado. A autenticação do Microsoft Entra Domain Services no protocolo SMB com compartilhamentos de arquivos do Azure é compatível somente em máquinas virtuais do Azure executadas nas versões de sistema operacional acima do Windows 7 ou do Windows Server 2008 R2.

    Observação

    As VMs não ingressadas no domínio podem acessar os compartilhamentos de arquivos do Azure usando a autenticação do Microsoft Entra Domain Services somente se a VM tiver conectividade de rede desimpedida com os controladores de domínio para o Microsoft Entra Domain Services. Normalmente, isso exige VPN site a site ou ponto a site.

  4. Selecione ou crie um compartilhamento de arquivos do Azure.

    Selecione um compartilhamento de arquivo novo ou existente associado à mesma assinatura que o seu locatário do Microsoft Entra. Para obter informações sobre como criar um novo compartilhamento de arquivos, consulte Criar um compartilhamento de arquivos no Azure Files. Para um desempenho ideal, recomendamos que o compartilhamento de arquivo esteja na mesma região da VM da qual você planeja acessar o compartilhamento.

  5. Verifique a conectividade de arquivos do Azure montando compartilhamentos de arquivos do Azure usando a chave da sua conta de armazenamento.

    Para verificar se sua VM e seu compartilhamento de arquivos estão configurados corretamente, tente montar o compartilhamento de arquivos usando sua chave de conta de armazenamento. Para obter mais informações, consulte Montar um compartilhamento de arquivos do Azure e acessar o compartilhamento no Windows.

Disponibilidade regional

A autenticação dos Arquivos do Azure com o Microsoft Entra Domain Services está disponível em todas as regiões do Azure públicas, governamentais e da China.

Visão geral do fluxo de trabalho

Antes de habilitar a autenticação do Microsoft Entra Domain Services no protocolo SMB para compartilhamentos de arquivos do Azure, verifique se os ambientes do Microsoft Entra ID e do armazenamento do Azure estão configurados corretamente. Recomendamos que você analise os pré-requisitos para ter certeza de que completou todas as etapas necessárias.

Siga essas etapas para dar acesso aos recursos dos Arquivos do Azure com as credenciais do Microsoft Entra:

  1. Ative a autenticação do Microsoft Entra Domain Services no protocolo SMB para que sua conta de armazenamento registre a conta de armazenamento com a implantação associada do Microsoft Entra Domain Services.
  2. Atribua permissões de nível de compartilhamento para uma identidade do Microsoft Entra (um usuário, grupo ou entidade de serviço).
  3. Conecte-se ao compartilhamento de arquivos do Azure usando uma chave de conta de armazenamento e configure ACLs (listas de controle de acesso) do Windows para diretórios e arquivos.
  4. Montar um compartilhamento de arquivos do Azure de uma VM associada ao domínio.

O diagrama a seguir ilustra o fluxo de trabalho de ponta a ponta para habilitar a autenticação do Microsoft Entra Domain Services no protocolo SMB para os Arquivos do Azure.

Diagram showing Microsoft Entra ID over SMB for Azure Files workflow.

Habilitar a autenticação do Microsoft Entra Domain Services para sua conta

Para habilitar a autenticação do Microsoft Entra Domain Services no protocolo SMB para os Arquivos do Azure, você pode definir uma propriedade em contas de armazenamento usando o portal do Azure, o Azure PowerShell ou a CLI do Azure. Definir essa propriedade de forma implícita "conecta ao domínio" a conta de armazenamento à implantação do Microsoft Entra Domain Services associado. A autenticação do Microsoft Entra Domain Services no protocolo SMB é habilitada para todos os compartilhamentos de arquivo novos e existentes na conta de armazenamento.

Tenha em mente que você pode habilitar a autenticação do Microsoft Entra Domain Services no protocolo SMB somente depois de ter implantado com sucesso o Microsoft Entra Domain Services em seu locatário do Microsoft Entra. Para obter mais informações, confira os pré-requisitos.

Para habilitar a autenticação do Microsoft Entra Domain Services no protocolo SMB usando o portal do Azure, siga essas etapas:

  1. No portal do Azure, acesse sua conta de armazenamento existente ou crie uma conta de armazenamento.

  2. Selecione Armazenamento de dados>Compartilhamentos de dados.

  3. Na seção Configurações do compartilhamento de arquivo, selecione Acesso baseado em identidade: Não configurado.

    Screenshot of the file shares pane in your storage account, identity-based access is highlighted.

  4. Em Microsoft Entra Domain Services, selecione Configurar e habilite o recurso marcando a caixa de seleção.

  5. Selecione Salvar.

    Screenshot of the identity-based access configuration pane, Microsoft Entra Domain Services is enabled as the source.

Por padrão, a autenticação do Microsoft Entra Domain Services usa a criptografia RC4 Kerberos. Recomendamos configurá-la para usar a criptografia Kerberos AES-256 seguindo as instruções a seguir.

A ação requer a execução de uma operação no domínio do Active Directory gerenciado pelo Microsoft Entra Domain Services para alcançar um controlador de domínio a fim de solicitar uma alteração de propriedade no objeto de domínio. Os cmdlets abaixo são do PowerShell do Windows Server Active Directory, e não do Azure PowerShell. Devido a isso, esses comandos do PowerShell devem ser executados de um computador cliente conectado ao domínio do Microsoft Entra Domain Services.

Importante

Os cmdlets do PowerShell do Windows Server Active Directory nessa seção devem ser executados no Windows PowerShell 5.1 de um computador cliente conectado ao domínio do Microsoft Entra Domain Services. O PowerShell 7.x e o Azure Cloud Shell não funcionarão nesse cenário.

Faça login na máquina cliente conectada ao domínio como um usuário do Microsoft Entra Domain Services com as permissões necessárias. Além disso, você deve ter acesso de gravação ao atributo msDS-SupportedEncryptionTypes do objeto do domínio. Normalmente, os membros do grupo Administradores do AAD DC terão as permissões necessárias. Abra uma sessão normal (não elevada) do PowerShell e execute os comandos a seguir.

# 1. Find the service account in your managed domain that represents the storage account.

$storageAccountName= “<InsertStorageAccountNameHere>”
$searchFilter = "Name -like '*{0}*'" -f $storageAccountName
$userObject = Get-ADUser -filter $searchFilter

if ($userObject -eq $null)
{
   Write-Error "Cannot find AD object for storage account:$storageAccountName" -ErrorAction Stop
}

# 2. Set the KerberosEncryptionType of the object

Set-ADUser $userObject -KerberosEncryptionType AES256

# 3. Validate that the object now has the expected (AES256) encryption type.

Get-ADUser $userObject -properties KerberosEncryptionType

Importante

Se você estava usando a criptografia RC4 anteriormente e atualiza a conta de armazenamento para usar o AES-256, deverá executar klist purge no cliente e, em seguida, remontar o compartilhamento de arquivos para obter novos tíquetes do Kerberos com o AES-256.

Atribuir permissões de níveis de compartilhamento

Para acessar os recursos dos Arquivos do Azure com autenticação baseada em identidade, uma identidade (um usuário, grupo ou entidade de serviço) precisa ter as permissões necessárias no nível de compartilhamento. Esse processo é semelhante à especificação de permissões de compartilhamento do Windows, em que você especifica o tipo de acesso que um usuário específico tem a um compartilhamento de arquivo. As orientações nesta seção demonstram como atribuir ler, gravar ou excluir as permissões para um compartilhamento de arquivos para uma identidade. É altamente recomendável atribuir permissões declarando ações e ações de dados explicitamente em vez de usar o caractere curinga (*).

A maioria dos usuários deve atribuir permissões de nível de compartilhamento a usuários ou grupos específicos do Microsoft Entra e, em seguida, configurar ACLs do Windows para controle de acesso granular no nível do diretório e do arquivo. No entanto, como alternativa, você pode definir uma permissão de nível de compartilhamento padrão para permitir acesso de colaborador, colaborador elevado ou leitor a todas as identidades autenticadas.

Existem cinco funções internas do Azure para Arquivos do Azure, algumas delas possibilitam a concessão de permissões no nível de compartilhamento para os usuários e grupos:

  • O Colaborador Privilegiado de Dados do Arquivo de Armazenamento permite a leitura, gravação, exclusão e modificação das ACLs do Windows nos compartilhamentos de arquivo do Azure pelo Protocolo SMB substituindo as Arquivos existentes do Windows.
  • O Leitor Privilegiado de Dados do Arquivo de Armazenamento permite o acesso de leitura nos compartilhamentos de arquivo do Azure pelo protocolo SMB substituindo as ACLs existentes do Windows.
  • O Colaborador de Compartilhamento SMB de Dados do Arquivo de Armazenamento permite acesso de leitura, gravação e exclusão nos compartilhamentos de arquivo do Azure via SMB.
  • O colaborador elevado de compartilhamento SMB de dados do arquivo de armazenamento permite a leitura, gravação, exclusão e alteração das ACLs do Windows em compartilhamentos de arquivos do Azure via SMB.
  • O Leitor de Compartilhamento SMB de Dados do Arquivo de Armazenamento permite acesso de leitura nos compartilhamentos de arquivo do Azure via SMB.

Importante

O controle administrativo completo de um compartilhamento de arquivo, incluindo a capacidade de assumir a propriedade de um arquivo, requer o uso da chave de conta de armazenamento. Não há suporte para o controle administrativo com as credenciais do Microsoft Entra.

Você pode usar o portal do Azure, o PowerShell ou a CLI do Azure para atribuir funções internas à identidade do Microsoft Entra de um usuário a fim de conceder permissões de nível de compartilhamento. Tenha em mente que a atribuição de função do Azure no nível do compartilhamento pode demorar um pouco para entrar em vigor. É recomendável usar permissões no nível do compartilhamento para gerenciamento de acesso de alto nível para um grupo do AD que represente um grupo de usuários e identidades e depois utilizar as ACLs do Windows para controle de acesso granular no nível do diretório/arquivo.

Atribuir uma função do Azure a uma identidade do Microsoft Entra

Importante

Atribua permissões declarando explicitamente ações e ações de dados em vez de usar um caractere curinga (*). Se uma definição de função personalizada de uma ação de dados contiver um caractere curinga, todas as identidades atribuídas a essa função receberão acesso a todas as ações de dados possíveis. Isso significa que todas essas identidades também receberão as novas ações de dados adicionadas à plataforma. O acesso e as permissões adicionais concedidos por meio de novas ações ou de ações de dados podem ser um comportamento indesejado para clientes que usam curinga.

Para atribuir uma função do Azure a uma identidade do Microsoft Entra, no portal do Azure, siga essas etapas:

  1. No portal do Azure, acesse seu compartilhamento de arquivo ou Criar um compartilhamento de arquivo.
  2. Selecione Controle de Acesso (IAM) .
  3. Selecione Adicionar uma atribuição de função
  4. Na folha Adicionar atribuição de função, selecione a função interna apropriada (por exemplo, Leitor do Compartilhamento de Dados do Arquivo de Armazenamento pelo protocolo SMB ou Colaborador de Compartilhamento de Dados do Arquivo de Armazenamento pelo protocolo SMB) na lista Funções. Mantenha a configuração padrão de Atribuir acesso a como Usuário, grupo ou entidade de serviço do Microsoft Entra. Selecione a identidade de destino do Microsoft Entra pelo nome ou endereço de email.
  5. Clique em Revisar + atribuir para concluir a atribuição de função.

Configurar ACLs do Windows

Depois de atribuir permissões no nível de compartilhamento com o RBAC, você poderá atribuir ACLs do Windows no nível de raiz, de diretório ou de arquivo. Pense nas permissões no nível do compartilhamento como o gatekeeper de alto nível que determina se um usuário pode acessar o compartilhamento, enquanto as ACLs do Windows agem em um nível mais granular para determinar quais operações o usuário pode executar no nível do diretório ou do arquivo.

Os Arquivos do Azure dão suporte a todo o conjunto de permissões básicas e avançadas. Você pode exibir e configurar ACLs do Windows em diretórios e arquivos em um compartilhamento de arquivo do Azure, montando o compartilhamento e usando o Explorador de Arquivos do Windows ou executando o comando icacls ou Set-ACL do Windows.

Conjuntos de permissões a seguir têm suporte para o diretório raiz de um compartilhamento de arquivos:

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

Para obter mais informações, confira configurar permissões de nível de diretório e arquivo via SMB.

Montar o compartilhamento de arquivo usando a chave de conta de armazenamento

Antes de configurar as ACLs do Windows, você deve montar o compartilhamento de arquivo em sua VM conectada ao domínio usando a chave de conta de armazenamento. Para fazer isso, entre na VM conectada ao domínio como um usuário do Microsoft Entra, abra um prompt de comando do Windows e execute o comando a seguir. Lembre-se de substituir <YourStorageAccountName>, <FileShareName> e <YourStorageAccountKey> pelos seus próprios valores. 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.

É importante que você use o comando do Windows net use para montar o compartilhamento nessa fase e não no PowerShell. Se você usar o PowerShell para montar o compartilhamento, o compartilhamento não ficará visível para o Explorador de Arquivos do Windows ou cmd.exe e você não poderá configurar as ACLs do Windows.

Observação

Você pode ver a ACL Controle Completo já aplicada a uma função. Normalmente, isso já oferece a capacidade de atribuir permissões. No entanto, como há verificações de acesso em dois níveis (nível do compartilhamento e nível do arquivo/diretório), isso é restrito. Somente os usuários que têm a função Colaborador com Privilégio Elevado SMB e criam um arquivo ou um diretório podem atribuir permissões nesses novos arquivos ou diretórios específicos sem usar a chave de conta de armazenamento. Todas as outras atribuições de permissão de arquivo/diretório exigem a conexão com o compartilhamento usando a chave de conta de armazenamento primeiro.

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

Configurar ACLs do Windows com o Gerenciador de Arquivos do Windows

Depois de montar o compartilhamento de arquivo do Azure, configure as ACLs do Windows. Você pode fazer isso usando o Explorador de Arquivos do Windows ou o icacls.

Siga estas etapas para usar o Explorador de Arquivos do Windows a fim de conceder permissões completas a todos os diretórios e arquivos no compartilhamento de arquivo, incluindo o diretório raiz.

  1. Abra o Explorador de Arquivos do Windows, clique com o botão direito do mouse no arquivo/diretório e selecione Propriedades.
  2. Selecione a guia Segurança.
  3. Selecione Editar para alterar as permissões.
  4. É possível alterar as permissões de usuários existentes ou selecionar Adicionar para conceder permissões a novos usuários.
  5. Na janela de prompt para adicionar novos usuários, insira o nome de usuário de destino ao qual você deseja conceder permissão na caixa Inserir os nomes de objeto a serem selecionados e selecione Verificar Nomes para localizar o nome UPN completo do usuário de destino.
  6. Selecione OK.
  7. Na guia Segurança, selecione todas as permissões que você quer conceder ao novo usuário.
  8. Selecione Aplicar.

Configurar ACLs do Windows com icacls

Use o seguinte comando do Windows para conceder permissões completas para todos os diretórios e arquivos no compartilhamento de arquivos, incluindo o diretório raiz. Lembre-se de substituir os valores de espaço reservado no exemplo pelos seus próprios valores.

icacls <mounted-drive-letter>: /grant <user-email>:(f)

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

Montar um compartilhamento de arquivo de uma VM conectada ao domínio

O processo a seguir verifica se o compartilhamento de arquivo e as permissões de acesso foram configurados corretamente e se você pode acessar um compartilhamento de arquivo do Azure de uma VM conectada ao domínio. Tenha em mente que a atribuição de função do Azure no nível do compartilhamento pode demorar um pouco para entrar em vigor.

Entre na VM conectada ao domínio usando a identidade do Microsoft Entra para a qual você concedeu permissões. Certifique-se de entrar com as credenciais do Microsoft Entra. Se a unidade já estiver montada com a chave de conta de armazenamento, será preciso desconectar a unidade ou entrar novamente.

Execute o script do PowerShell abaixo ou use o portal do Azure para montar o compartilhamento de arquivos do Azure de maneira persistente e mapeá-lo para a unidade Z: no Windows. Se Z: já estiver em uso, substitua-o por uma letra de unidade disponível. Como você já foi autenticado, não será necessário fornecer a chave de conta de armazenamento. O script verificará se essa conta de armazenamento está acessível pela porta TCP 445, que é a porta que o SMB usa. Substitua <storage-account-name> e <file-share-name> por valores próprios. Para obter mais informações, veja Usar um compartilhamento de arquivo do Azure com o Windows.

A menos que você esteja usando nomes de domínio personalizados, você deve montar compartilhamentos de arquivos do Azure usando o sufixo file.core.windows.net, mesmo se você configurar um ponto de extremidade privado para seu compartilhamento.

$connectTestResult = Test-NetConnection -ComputerName <storage-account-name>.file.core.windows.net -Port 445
if ($connectTestResult.TcpTestSucceeded) {
    cmd.exe /C "cmdkey /add:`"<storage-account-name>.file.core.windows.net`" /user:`"localhost\<storage-account-name>`""
    New-PSDrive -Name Z -PSProvider FileSystem -Root "\\<storage-account-name>.file.core.windows.net\<file-share-name>" -Persist -Scope global
} else {
    Write-Error -Message "Unable to reach the Azure storage account via port 445. Check to make sure your organization or ISP is not blocking port 445, or use Azure P2S VPN, Azure S2S VPN, or Express Route to tunnel SMB traffic over a different port."
}

Você também pode usar o comando net-use de um prompt do Windows para montar o compartilhamento de arquivos. Substitua <YourStorageAccountName> e <FileShareName> por valores próprios.

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

Monte o compartilhamento de arquivos de uma VM não ingressada no domínio ou de uma VM ingressada em um domínio diferente do AD

VMs não conectadas ao domínio ou VMs conectadas a um domínio diferente que a conta de armazenamento podem acessar os compartilhamentos de arquivos do Azure usando autenticação do Microsoft Entra Domain Services somente se a VM tiver conectividade de rede sem impedimentos para os controladores de domínio do Microsoft Entra Domain Services, que estão localizados no Azure. Isso geralmente exige a configuração de uma VPN site a site ou ponto a site. O usuário que acessa o compartilhamento de arquivo deve ter uma identidade (uma identidade do Microsoft Entra sincronizada do Microsoft Entra ID com o Microsoft Entra Domain Services) no domínio gerenciado do Microsoft Entra Domain Services e deve fornecer credenciais explícitas (nome de usuário e senha).

Para montar um compartilhamento de arquivo de uma VM não ingressada no domínio, o usuário precisa:

  • Fornecer credenciais, como DOMAINNAME\username, em que DOMAINNAME é o domínio do Microsoft Entra Domain Services e username é o nome de usuário da identidade no Microsoft Entra Domain Services, ou
  • Usar a notação username@domainFQDN, em que domainFQDN é o nome de domínio totalmente qualificado.

O uso de uma dessas abordagens permitirá que o cliente entre em contato com o controlador de domínio no domínio do Microsoft Entra Domain Services para solicitar e receber tíquetes do Kerberos.

Por exemplo:

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:<DOMAINNAME\username>

ou

net use Z: \\<YourStorageAccountName>.file.core.windows.net\<FileShareName> /user:<username@domainFQDN>

Próximas etapas

Para permitir acesso ao compartilhamento de arquivo para mais usuários, siga as instruções em Atribuir permissões no nível do compartilhamento e Configurar ACLs do Windows.

Para obter mais informações sobre a autenticação baseada em identidade para os Arquivos do Azure, confira estes recursos: