Autenticação do Microsoft Entra para SQL Server

Aplica-se a: SQL Server 2022 (16.x)

O SQL Server 2022 (16.x) introduz o suporte para autenticação com Microsoft Entra ID (anteriormente Azure Active Directory) tanto no Windows e quanto no Linux local, e SQL Server em VMs do Windows no Azure.

Use a ID do Microsoft Entra com instâncias autônomas do SQL Server ou grupos de disponibilidade Always On. No momento, as instâncias de cluster de failover do SQL Server não dão suporte à autenticação do Microsoft Entra.

Visão geral

Agora você pode se conectar ao SQL Server usando os seguintes métodos de autenticação do Microsoft Entra:

  • Autenticação padrão
  • Nome de usuário e senha
  • Integrado
  • Universal com autenticação multifator
  • Entidade de serviço
  • Identidade gerenciada
  • Token de acesso

Os modos de autenticação existentes, autenticação do SQL e autenticação do Windows permanecem inalterados.

O Microsoft Entra ID é um serviço de gerenciamento de acesso e identidade baseado em nuvem do Azure. O Microsoft Entra ID é conceitualmente semelhante ao Active Directory, fornecendo um repositório centralizado para gerenciar o acesso aos recursos da sua organização. As identidades são objetos no Microsoft Entra ID que representam usuários, grupos ou aplicativos. Eles podem receber permissões por meio do controle de acesso baseado em função e podem ser usados para autenticação em recursos do Azure. A autenticação do Microsoft Entra tem suporte para:

  • Banco de Dados SQL do Azure
  • Instância Gerenciada de SQL do Azure
  • SQL Server em VMs do Windows Azure
  • Azure Synapse Analytics
  • SQL Server

Veja mais informações, em Usar a autenticação Microsoft Entra com Azure SQL e Configure e gerenciar a autenticação Microsoft Entra com Azure SQL.

Se o Windows Server Active Directory for federado com o Microsoft Entra ID, os usuários poderão se autenticar com o SQL Server usando suas credenciais do Windows, como logons do Windows ou um logon do Microsoft Entra. O Microsoft Entra ID não dê suporte a todos os recursos do AD que compatíveis com o Windows Server Active Directory, como contas de serviço ou arquitetura de floresta de rede complexa. Há outros recursos do Microsoft Entra ID, como a autenticação multifator, que não estão disponíveis com o Active Directory. Compare o Active Directory com o Microsoft Entra ID para saber mais.

Conectar o SSQL Server ao Azure com o Microsoft Entra ID

Para que o SQL Server se comunique com o Azure, tanto o SQL Server como o host do Windows ou Linux em que ele é executado devem ser registrados no Azure Arc. Para habilitar a comunicação do SQL Server com o Azure, você precisará instalar o agente do Azure Arc e a extensão do Azure para SQL Server.

Para começar, confira Conectar o SQL Server ao Azure Arc.

Observação

Se você estiver executando o SQL Server em uma VM do Azure, não precisará registrar a VM no Azure Arc, em vez disso, deverá registrar a VM na extensão SQL IaaS Agent. Depois que a VM for registrada, veja mais detalhes em Habilitar a autenticação do Azure AD para SQL Server em VMs do Azure.

Autenticação padrão

A opção de autenticação Padrão com o Microsoft Entra ID que permite a autenticação realizada com base em mecanismos sem senha e não interativos, como identidades gerenciadas, Visual Studio, Visual Studio Code, CLI do Azure e muito mais.

Nome de usuário e senha

Permite especificar o nome de usuário e senha para o cliente e driver. O método de nome de usuário e senha é comumente desabilitado em muitos locatários por motivos de segurança. Embora as conexões sejam criptografadas, é recomendável evitar o uso de nome de usuário e senha quando possível, pois requer o envio de senhas pela rede.

Integrado

Com a autenticação integrada do Windows (IWA), o Microsoft Entra ID fornece uma solução para organizações com infraestruturas locais e na nuvem. Os domínios locais do Active Directory podem ser sincronizados com o Microsoft Entra ID por meio de federação, permitindo que o gerenciamento e o controle de acesso sejam manipulados dentro do Microsoft Entra ID, enquanto a autenticação do usuário permanece local. Com o IWA, as credenciais do Windows do usuário são autenticadas no Active Directory e, quando há êxito, o token de autenticação do usuário do Microsoft Entra ID é retornado ao SQL.

Universal com autenticação multifator

Esse é o método interativo padrão com a opção de autenticação multifator para contas do Microsoft Entra. Isso funciona na maioria dos cenários.

Entidade de serviço

Uma entidade de serviço é uma identidade criada para uso com ferramentas, tarefas e aplicativos automatizados. Com o método de autenticação da entidade de serviço, você pode se conectar à instância SQL Server com a ID do cliente e o segredo de uma identidade de entidade de serviço.

Identidade gerenciada

As identidades gerenciadas são formas especiais de entidades de serviço. Há dois tipos de identidades gerenciadas: atribuídas pelo sistema e atribuídas pelo usuário. As identidades gerenciadas atribuídas pelo sistema são habilitadas diretamente em um recurso do Azure, enquanto as identidades gerenciadas atribuídas pelo usuário são um recurso autônomo que pode ser atribuído a um ou mais recursos do Azure.

Observação

Para usar uma identidade gerenciada para se conectar a um recurso SQL por meio de clientes GUI, como SSMS e ADS, o computador que executa o aplicativo cliente deve ter um cliente do Microsoft Entra em execução com o certificado da identidade armazenado nele. Isso é mais comumente obtido por meio de uma VM do Azure, pois a identidade pode ser facilmente atribuída ao computador por meio do painel do portal da VM.

Para ferramentas que usam bibliotecas de identidades do Azure, como o SQL Server Management Studio (SSMS), ao se conectar com uma identidade gerenciada, você precisa usar o GUID para o logon, como abcd1234-abcd-1234-abcd-abcd1234abcd1234. Para obter mais informações, consulte (ManagedIdentityCredential. Se você passar o nome de usuário incorretamente, ocorrerá um erro como:

ManagedIdentityCredential authentication unavailable. The requested identity has not been assigned to this resource.
Status: 400 (Bad Request)
Content:
{"error":"invalid_request","error_description":"Identity not found"}

Token de acesso

Alguns clientes que não são GUI, como Invoke-sqlcmd, permitem fornecer um token de acesso. O escopo ou o público-alvo do token de acesso deve ser https://database.windows.net/.

Comentários

  • Apenas o SQL Server 2022 (16.x) local com um sistema operacional Windows ou Linux compatível ou o SQL Server 2022 nas VMs do Windows Azure são compatíveis com autenticação do Microsoft Entra.
  • Para conectar o SQL Server ao Azure Arc, a conta do Miccrosoft Entra precisa das seguintes permissões:
    • Membro do grupo Integração do Azure Connected Machine ou função Colaborador no grupo de recursos.
    • Membro da função Administrador de Recursos do Azure Connected Machine no grupo de recursos.
    • Membro da função Leitor no grupo de recursos.
  • Não há suporte para a autenticação do Microsoft Entra para instâncias de cluster de failover do SQL Server