Configurar uma relação de confiança na nuvem entre o AD DS local e o Microsoft Entra ID para acessar Arquivos do Azure
Muitas organizações desejam usar a autenticação baseada em identidade para compartilhamentos de arquivos SMB do Azure em ambientes que abrangem o AD DS local e o Microsoft Entra ID (anteriormente Azure Active Directory), mas não atendem aos pré-requisitos de domínio ou sistema operacional necessários.
Nesses cenários, os clientes podem habilitar a autenticação Kerberos do Microsoft Entra para identidades de usuário híbrido e, em seguida, estabelecer uma relação de confiança na nuvem entre o AD DS local e o Microsoft Entra ID para acessar compartilhamentos de arquivos SMB usando suas credenciais locais. Este artigo explica como funciona uma relação de confiança na nuvem e fornece instruções para configuração e validação. Ele também inclui etapas para girar uma chave Kerberos para a conta de serviço no Microsoft Entra ID e no Objeto de domínio confiável, além de etapas para remover um Objeto de domínio confiável e todas as configurações Kerberos, se desejado.
Este artigo se concentra na autenticação de identidades de usuário híbrido, que são identidades locais do AD DS sincronizadas com o Microsoft Entra ID usando o Microsoft Entra Connect ou a sincronização de nuvem do Microsoft Entra Connect. No momento não há suporte para as Identidades somente na nuvem no Arquivos do Azure.
Aplica-se a
Tipo de compartilhamento de arquivos | SMB | NFS |
---|---|---|
Compartilhamentos de arquivos padrão (GPv2), LRS/ZRS | ||
Compartilhamentos de arquivos padrão (GPv2), GRS/GZRS | ||
Compartilhamento de arquivos premium (FileStorage), LRS/ZRS |
Cenários
Confira a seguir exemplos de cenários nos quais você pode desejar configurar uma relação de confiança na nuvem:
Você tem um AD DS local tradicional, mas não pode usar para autenticação porque não tem conectividade de rede irrestrita com os controladores de domínio.
Você começou a migrar para a nuvem, mas atualmente ainda tem aplicativos em execução no AD DS local tradicional.
Alguns ou todos os computadores cliente não atendem aos requisitos do sistema operacional para obter a autenticação Kerberos do Microsoft Entra.
Permissões
Para concluir as etapas descritas nesse artigo, será necessário:
- Um nome de usuário e senha de administrador local do Active Directory
- Nome de usuário e senha da conta de administrador global do Microsoft Entra
Pré-requisitos
Antes de implementar o fluxo de autenticação baseado em confiança de entrada, verifique se os pré-requisitos a seguir são atendidos:
Pré-requisito | Descrição |
---|---|
O cliente deve executar o Windows 10, Windows Server 2012 ou uma versão superior do Windows. | |
Clientes devem ser ingressados no Active Directory (AD). O domínio deve ter um nível funcional de Windows Server 2012 ou superior. | É possível determinar se o cliente está ingressado no AD executando o comando dsregcmd: dsregcmd.exe /status |
Um locatário do Microsoft Entra. | Um locatário do Microsoft Entra é um limite de segurança de identidade que é controlado pelo departamento de TI da sua organização. Essa é uma instância do Microsoft Entra ID na qual residem informações sobre uma única organização. |
Uma Assinatura do Azure no mesmo locatário do Microsoft Entra que você planeja usar para autenticação. | |
Uma conta de armazenamento do Azure na assinatura do Azure. | Uma conta de armazenamento do Azure é um recurso que atua como um contêiner para agrupar todos os serviços de dados do Armazenamento do Azure, incluindo arquivos. |
O Microsoft Entra Connect ou a Sincronização na nuvem do Microsoft Entra Connect deve ser instalado. | Essas soluções são usadas em ambientes híbridos nos quais existem identidades tanto no Microsoft Entra ID quanto no AD DS local. |
Habilitar a autenticação Kerberos do Microsoft Entra
Se você já tiver habilitado a autenticação Kerberos do Microsoft Entra em sua conta de armazenamento, ignore esta etapa e continue para Criar e configurar o Objeto de domínio confiável Kerberos do Microsoft Entra.
Você pode habilitar a autenticação Kerberos para Microsoft Entra nos Arquivos do Azure para contas de usuário híbridas usando o portal do Azure, o PowerShell ou a CLI do Azure.
Para habilitar a autenticação Kerberos para Microsoft Entra usando o portal do Azure, siga estas etapas.
Entre no portal do Azure e selecione a conta de armazenamento para a qual você deseja habilitar a autenticação Kerberos para Microsoft Entra.
Em Armazenamento de dados, selecione Compartilhamentos de arquivos.
Ao lado do Active Directory, selecione o status de configuração (por exemplo, Não configurado).
Em Kerberos para Microsoft Entra, selecione Configurar.
Marque a caixa de seleção Kerberos para Microsoft Entra.
Opcional: se você quiser configurar permissões de diretório e de nível de arquivo por meio do Explorador de Arquivos do Windows, especifique o nome de domínio e o GUID de domínio para o AD local. Você pode obter essas informações com o administrador de domínio ou executando os seguintes cmdlets do PowerShell do Active Directory de um cliente ingressado no AD local:
Get-ADDomain
. O nome de domínio deve ser listado na saída emDNSRoot
e o GUID do domínio deve ser listado emObjectGUID
. Se você preferir configurar permissões de diretório e de nível de arquivo usando icacls, ignore esta etapa. No entanto, se você quiser usar icacls, o cliente precisará de uma conectividade de rede sem impedimentos para o AD local.Selecione Salvar.
Aviso
Se você já habilitou a autenticação do Kerberos para Microsoft Entra por meio das etapas manuais limitadas anteriores para armazenar perfis FSLogix nos Arquivos do Azure para VMs ingressadas no Microsoft Entra, a senha da entidade de serviço da conta de armazenamento será definida para expirar a cada seis meses. Depois que a senha expirar, os usuários não poderão obter os tíquetes do Kerberos para o compartilhamento de arquivo. Para mitigar esse comportamento, confira "Erro – A senha da entidade de serviço expirou no Microsoft Entra ID" em Possíveis erros ao habilitar a autenticação Kerberos para Microsoft Entra para usuários híbridos.
Conceder consentimento do administrador à nova entidade de serviço
Depois de habilitar a autenticação Kerberos para Microsoft Entra, você precisará dar o consentimento do administrador explicitamente ao novo aplicativo do Microsoft Entra registrado em seu locatário do Microsoft Entra. Essa entidade de serviço é gerada automaticamente e não é usada para autorização para o compartilhamento de arquivos, portanto, não faça nenhuma edição para a entidade de serviço diferente daquelas documentadas aqui. Se você fizer isso, poderá receber um erro.
Você pode configurar as permissões de API do portal do Azure seguindo estas etapas:
- Abra o Microsoft Entra ID.
- No o menu de serviço, em Gerenciar, selecione a opção Registros de aplicativo.
- Selecionar Todos os Aplicativos.
- Selecione o aplicativo com o nome correspondente a [conta de armazenamento]
<your-storage-account-name>
.file.core.windows.net. - No menu de serviço, em Gerenciar, selecione Permissões da API.
- Selecione Conceder consentimento do administrador para [Nome do Diretório] para conceder consentimento para as três permissões de API solicitadas (openid, profile e User.Read) para todas as contas no diretório.
- Clique em Sim para confirmar.
Importante
Se você estiver se conectando a uma conta de armazenamento por meio de um ponto de extremidade privado/link privado usando a autenticação Kerberos para Microsoft Entra, também precisará adicionar o FQDN de link privado ao aplicativo do Microsoft Entra da conta de armazenamento. Para obter instruções, consulte a entrada em nosso guia de solução de problemas.
Desabilitar a autenticação multifator na conta de armazenamento
O Kerberos para Microsoft Entra não dá suporte ao uso de MFA para acessar compartilhamentos de arquivos do Azure configurados com Kerberos para Microsoft Entra. Você deve excluir o aplicativo do Microsoft Entra que representa sua conta de armazenamento de suas políticas de acesso condicional da MFA se elas se aplicarem a todos os aplicativos.
O aplicativo de conta de armazenamento deve ter o mesmo nome que a conta de armazenamento na lista de exclusão de acesso condicional. Ao pesquisar o aplicativo da conta de armazenamento na lista de exclusão de acesso condicional, pesquise: [conta de armazenamento] <your-storage-account-name>
.file.core.windows.net
Lembre-se de substituir <your-storage-account-name>
pelo valor adequado.
Importante
Se você não excluir as políticas de MFA do aplicativo de conta de armazenamento, não será possível acessar o compartilhamento de arquivo. Tentar mapear o compartilhamento de arquivos usando o net use
resultará em uma mensagem de erro que diz "Erro do sistema 1327: as restrições de conta estão impedindo esse usuário de entrar. Por exemplo: senhas em branco não são permitidas, os horários de entrada são limitados ou uma restrição de política foi imposta."
Para obter diretrizes sobre como desabilitar a MFA, confira o seguinte:
- Adicionar exclusões para entidades de serviço de recursos do Azure
- Criar política de acesso condicional
Atribuir permissões de níveis de compartilhamento
Ao habilitar o acesso baseado em identidade, você pode definir para cada compartilhamento quais usuários e grupos têm acesso a esse compartilhamento específico. Depois que um usuário ou grupo é permitido em um compartilhamento, as ACLs do Windows (também chamadas de permissões NTFS) em arquivos e diretórios individuais assumem o controle. Isso permite o controle refinado sobre permissões, semelhante a um compartilhamento SMB em um Windows Server.
Para definir permissões de nível de compartilhamento, siga as instruções em Atribuir permissões de nível de compartilhamento a uma identidade.
Configurar permissões de diretório e de nível de arquivo
Depois que as permissões de nível de compartilhamento estiverem em vigor, atribua permissões de nível de diretório/arquivo ao usuário ou grupo. Isso requer o uso de um dispositivo com uma conectividade de rede sem impedimentos para um AD local.
Para configurar permissões de diretório e de nível de arquivo, siga as instruções em Configurar permissões de diretório e de nível de arquivo por SMB.
Criar e configurar o objeto de domínio confiável Kerberos do Microsoft Entra
Para criar e configurar o Objeto de domínio confiável Kerberos do Microsoft Entra, você usará o módulo do PowerShell de Gerenciamento de autenticação híbrida do Azure AD. Este módulo permite que as organizações de identidade híbrida usem credenciais modernas para seus aplicativos e permite que o Microsoft Entra ID se torne a fonte confiável para autenticação local e na nuvem.
Configurar o Objeto de Domínio Confiável
Você usará o módulo do PowerShell de Gerenciamento de autenticação híbrida do Azure AD para configurar um Objeto de domínio confiável no domínio do AD local e registrar informações de confiança no Microsoft Entra ID. Isso cria uma relação de confiança de entrada no AD local, que permite que o Microsoft Entra ID confie no AD local.
Você só precisa configurar o Objeto de domínio confiável uma vez por domínio. Se você já fez isso em seu domínio, ignore esta seção e continue para configurar os clientes para recuperar tíquetes Kerberos.
Instalar o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD
Inicie uma sessão do Windows PowerShell com a opção Executar como administrador.
Instalar o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD usando o script a seguir. O script:
- Habilita o TLS 1.2 para comunicação.
- Instala o provedor do pacote NuGet.
- Registra o repositório PSGallery.
- Instala o módulo PowerShellGet.
- Instala o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD.
- O PowerShell de Gerenciamento de autenticação híbrida do Azure AD usa o módulo AzureADPreview, que fornece o recursos avançados de gerenciamento do Microsoft Azure.
- Para proteger contra conflitos de instalação desnecessários com o módulo do PowerShell do Azure AD, esse comando inclui o sinalizador de opção
-AllowClobber
.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Install-PackageProvider -Name NuGet -Force
if (@(Get-PSRepository | ? {$_.Name -eq "PSGallery"}).Count -eq 0){
Register-PSRepository -DefaultSet-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}
Install-Module -Name PowerShellGet -Force
Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber
Criar o Objeto de Domínio Confiável
Inicie uma sessão do Windows PowerShell com a opção Executar como administrador.
Defina os parâmetros comuns. Personalize o script abaixo antes de ser executado.
- De definir o parâmetro
$domain
como seu Active Directory local de domínio. - Quando solicitado por
Get-Credential
, insira um nome de usuário e senha do administrador local do Active Directory. - Definir o parâmetro
$cloudUserName
como o nome de usuário de uma conta com privilégios de Administrador Global para acesso à nuvem do Microsoft Entra.
Observação
Se você quiser usar sua conta de Windows de logon atual para seu acesso Active Directory local, ignore a etapa em que as credenciais são atribuídas ao parâmetro
$domainCred
. Se você seguir essa abordagem, não inclua o parâmetro-DomainCredential
nos comandos do PowerShell após esta etapa.$domain = "your on-premesis domain name, for example contoso.com" $domainCred = Get-Credential $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
- De definir o parâmetro
Verifique o domínio kerberos atual Configurações.
Execute o seguinte comando para verificar as configurações atuais do Kerberos do seu domínio:
Get-AzureAdKerberosServer -Domain $domain ` -DomainCredential $domainCred ` -UserPrincipalName $cloudUserName
Se esta for a primeira vez que você chama um comando Kerberos no Microsoft Entra, você será solicitado a acessar o Microsoft Entra na nuvem.
- Insira a senha da conta de administrador global do Microsoft Entra.
- Se sua organização usar outros métodos de autenticação modernos, como a autenticação multifator do Microsoft Entra ou o Cartão Inteligente, siga as instruções conforme solicitado para entrar.
Se esta for a primeira vez que você estiver definindo as configurações do Kerberos do Microsoft Entra, o cmdlet Get-AzureAdKerberosServer exibirá informações vazias, como na seguinte saída de exemplo:
ID : UserAccount : ComputerAccount : DisplayName : DomainDnsName : KeyVersion : KeyUpdatedOn : KeyUpdatedFrom : CloudDisplayName : CloudDomainDnsName : CloudId : CloudKeyVersion : CloudKeyUpdatedOn : CloudTrustDisplay :
Se o domínio já dá suporte à autenticação FIDO, o cmdlet
Get-AzureAdKerberosServer
exibirá informações da conta de Serviço do Azure AD, como na saída de exemplo a seguir. O campoCloudTrustDisplay
retorna um valor vazio.ID : XXXXX UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com DisplayName : XXXXXX_XXXXX DomainDnsName : contoso.com KeyVersion : 53325 KeyUpdatedOn : 2/24/2024 9:03:15 AM KeyUpdatedFrom : ds-aad-auth-dem.contoso.com CloudDisplayName : XXXXXX_XXXXX CloudDomainDnsName : contoso.com CloudId : XXXXX CloudKeyVersion : 53325 CloudKeyUpdatedOn : 2/24/2024 9:03:15 AM CloudTrustDisplay :
Adicione o Objeto de Domínio Confiável.
Execute o cmdlet Set-AzureAdKerberosServer do PowerShell para adicionar o Objeto de Domínio Confiável. Certifique-se de incluir o parâmetro
-SetupCloudTrust
. Esse comando criará uma nova conta de serviço do Microsoft Entra, caso não exista nenhuma. Este comando só criará o objeto de domínio confiável solicitado se existir uma conta de serviço do Microsoft Entra.Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
Observação
Em uma floresta de vários domínios, para evitar o erro LsaCreateTrustedDomainEx 0x549 ao executar o comando em um domínio filho:
- Execute o comando no domínio raiz (inclui o parâmetro
-SetupCloudTrust
). - Execute o mesmo comando no domínio filho, sem o parâmetro
-SetupCloudTrust
.
Depois de criar o Objeto de Domínio Confiável, você pode verificar o Configurações Kerberos
Get-AzureAdKerberosServer
atualizado usando o cmdlet do PowerShell, conforme mostrado na etapa anterior. Se o cmdletSet-AzureAdKerberosServer
tiver sido executado com êxito com o parâmetro-SetupCloudTrust
, o campoCloudTrustDisplay
agora deverá retornarMicrosoft.AzureAD.Kdc.Service.TrustDisplay
, como na seguinte saída de exemplo:ID : XXXXX UserAccount : CN=krbtgt-AzureAD, CN=Users, DC=contoso, DC=com ComputerAccount : CN=AzureADKerberos, OU=Domain Controllers, DC=contoso, DC=com DisplayName : XXXXXX_XXXXX DomainDnsName : contoso.com KeyVersion : 53325 KeyUpdatedOn : 2/24/2024 9:03:15 AM KeyUpdatedFrom : ds-aad-auth-dem.contoso.com CloudDisplayName : XXXXXX_XXXXX CloudDomainDnsName : contoso.com CloudId : XXXXX CloudKeyVersion : 53325 CloudKeyUpdatedOn : 2/24/2024 9:03:15 AM CloudTrustDisplay : Microsoft.AzureAD.Kdc.Service.TrustDisplay
Observação
As nuvens soberanas do Azure exigem a configuração da propriedade
TopLevelNames
, que é definida comowindows.net
por padrão. As implantações de nuvem soberana da Instância Gerenciada de SQL do Azure usam um nome de domínio primário, comousgovcloudapi.net
para o Azure Governamental para os EUA. Defina o objeto de domínio confiável para esse nome de domínio primário usando o seguinte comando do PowerShell:Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net"
. Você pode verificar a configuração com o seguinte comando do PowerShell:Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay
.- Execute o comando no domínio raiz (inclui o parâmetro
Configurar os clientes para recuperar tíquetes do Kerberos
Identifique sua ID de locatário do Microsoft Entra e use a Política de Grupo para configurar os computadores cliente dos quais você deseja montar/usar compartilhamentos de Arquivos do Azure. Faça isso em cada cliente em que os Arquivos do Azure serão usados.
Configure essa política de grupo no(s) cliente(s) como "Habilitada": Administrative Templates\System\Kerberos\Allow retrieving the Azure AD Kerberos Ticket Granting Ticket during logon
Implante a seguinte configuração Política de Grupo em máquinas cliente usando o fluxo baseado em relação de confiança de entrada:
Edite a configuração de política Modelos Administrativos\System\Kerberos\Especificar servidores proxy KDC para clientes Kerberos.
Selecione Habilitado.
Em Opções, selecione Mostrar.... Isso abre a caixa de diálogo Mostrar Conteúdo.
Defina as configurações de servidores proxy KDC usando mapeamentos da seguinte forma. Substitua sua ID de locatário do Microsoft Entra pelo espaço reservado
your_Azure_AD_tenant_id
. Observe o espaço que seguehttps
e o espaço antes do fechamento/
no mapeamento de valor.Nome do valor Valor KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443: your_Azure_AD_tenant_id
/kerberos />Selecione OK para fechar a caixa de diálogo ' Mostrar conteúdo '.
Selecione Aplicar na caixa de diálogo ' Especificar servidores proxy KDC para clientes Kerberos '.
Girar a chave Kerberos
É possível girar periodicamente a chave Kerberos para a conta de serviço do Microsoft Entra criada e o objeto de domínio confiável para fins de gerenciamento.
Set-AzureAdKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName -SetupCloudTrust `
-RotateServerKey
Depois que a chave é girada, leva várias horas para propagar a chave alterada entre os servidores KDC Kerberos. Devido a esse tempo de distribuição de chave, você pode girar a chave uma vez dentro de 24 horas. Se precisar girar a chave novamente dentro de 24 horas por algum motivo, por exemplo, logo após a criação do objeto de domínio confiável, poderá adicionar o parâmetro -Force
:
Set-AzureAdKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName -SetupCloudTrust `
-RotateServerKey -Force
Remova o Objeto de Domínio Confiável
E possível remover o Objeto de Domínio Confiável adicionado usando o seguinte comando:
Remove-AzureADKerberosServerTrustedDomainObject -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName
Esse comando removerá apenas o Objeto de Domínio Confiável. Se o domínio for compatível com a autenticação FIDO, você poderá remover o objeto de domínio confiável ao mesmo tempo em que mantém a conta de serviço do Microsoft Entra necessária para o serviço de autenticação FIDO.
Remover todos os Configurações Kerberos
É possível remover a conta de serviço do Microsoft Entra e o objeto de domínio confiável usando o seguinte comando:
Remove-AzureAdKerberosServer -Domain $domain `
-DomainCredential $domainCred `
-UserPrincipalName $cloudUserName