Use a autenticação do Microsoft Entra

Aplica-se a:Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics

Este artigo fornece uma visão geral do uso do Microsoft Entra ID (anteriormente Azure Active Directory) para autenticar no Banco de Dados SQL do Azure, Instância Gerenciada de SQL do Azure, SQL Server em VMs do Windows Azure, SQL do Synapse no Azure Synapse Analytics e SQL Server para Windows e Linux.

Para saber como criar e preencher o Microsoft Entra ID e configurar o Microsoft Entra ID com o Banco de Dados SQL do Azure, a Instância Gerenciada de SQL do Azure e o SQL do Synapse, no Azure Synapse Analytics, confira Configurar o Microsoft Entra ID e o Microsoft Entra ID com SQL Server nas VMs do Azure.

Observação

O Microsoft Entra ID é o novo nome do Azure Active Directory (Azure AD). Estamos atualizando a documentação neste momento.

Visão geral

Com a autenticação do Microsoft Entra, é possível gerenciar centralmente as identidades de usuários do banco de dados e outros serviços da Microsoft em uma única localização central. O gerenciamento central de IDs fornece um único local para gerenciar os usuários do banco de dados e simplifica o gerenciamento de permissões. Os benefícios incluem o seguinte:

  • Ele fornece uma alternativa para autenticação do SQL Server.

  • Ajuda a impedir a proliferação de identidades de usuário entre servidores.

  • Permite o rodízio de senhas em um único lugar.

  • Os clientes podem gerenciar permissões de banco de dados usando grupos Microsoft Entra.

  • Pode eliminar o armazenamento de senhas, permitindo a autenticação integrada do Windows e outras formas de autenticação às quais o Microsoft Entra ID dá suporte.

  • A autenticação do Microsoft Entra usa usuários de banco de dados independente para autenticar identidades no banco de dados.

  • O Microsoft Entra ID dá suporte à autenticação baseada em token em aplicativos que se conectam ao Banco de Dados SQL e à Instância Gerenciada de SQL.

  • A autenticação do Microsoft Entra dá suporte a:

    • Identidades somente na nuvem do Microsoft Entra.
    • Identidades híbridas Microsoft Entra que dão suporte a:
      • A autenticação de nuvem com duas opções combinadas com autenticação de passagem de logon único (SSO) contínuo e autenticação de hash de senha.
      • Autenticação federada.
    • Para obter mais informações sobre os métodos de autenticação do Microsoft Entra e qual deles escolher, consulte o seguinte artigo:
  • O SQL Server Management Studio dá suporte a conexões que usam o Microsoft Entra com autenticação multifator. A autenticação multifator fornece autenticação forte com uma variedade de opções de verificação fáceis: telefonema, mensagem de texto, cartões inteligentes com PIN ou notificação de aplicativo móvel. Para obter mais informações, consulte Suporte SSMS para autenticação multifator do Microsoft Entra com Banco de Dados SQL do Azure, Instância Gerenciada de SQL e Azure Synapse

  • O SSDT (SQL Server Data Tools) também dá suporte a uma ampla variedade de opções de autenticação com o Microsoft Entra ID. Para obter mais informações, confira Suporte do Microsoft Entra ID no SQL Server Data Tools (SSDT).

As etapas de configuração incluem os procedimentos a seguir para configurar e usar a autenticação do Microsoft Entra.

  1. Crie e preencha um locatário do Microsoft Entra.
  2. Opcional: associe ou altere o diretório atual associado a sua Assinatura do Azure.
  3. Crie um administrador do Microsoft Entra.
  4. Configure os computadores cliente.
  5. Crie usuários de banco de dados independente em seu banco de dados, mapeados para identidades do Microsoft Entra.
  6. Conecte-se ao seu banco de dados com identidades do Microsoft Entra.

Observação

Para o SQL do Azure, as VMs do Azure e o SQL Server 2022, a autenticação do Microsoft Entra dá suporte apenas a tokens de acesso originados do Microsoft Entra ID e não dão suporte a tokens de acesso de terceiros. O Microsoft Entra ID também não dá suporte ao redirecionamento de consultas do Microsoft Entra ID para pontos de extremidade de terceiros. Isso se aplica a todas as plataformas SQL e a todos os sistemas operacionais que dão suporte à autenticação do Microsoft Entra.

Confiar na arquitetura

  • Somente a parte da nuvem do Microsoft Entra ID, do banco de dados SQL, da Instância Gerenciada de SQL, do [SQL Server nas VMs do Windows Azure e do Azure Synapse é considerada compatível com senhas de usuários nativos do Microsoft Entra.
  • Para dar suporte a credenciais de logon único do Windows (ou usuário/senha para credencial do Windows), use as credenciais do Microsoft Entra de um domínio federado ou gerenciado configurado para o logon único contínuo para autenticação por hash de senha e passagem. Para obter mais informações, consulte Logon único sem problemas do Microsoft Entra.
  • Para dar suporte à Autenticação federada (ou a usuário/senha para as credenciais do Windows), será necessária a comunicação com o bloco do ADFS.

Para obter mais informações sobre identidades, configuração e sincronização híbridas do Microsoft Entra, confira os seguintes artigos:

Para ver um exemplo de autenticação federada com a infraestrutura de ADFS (ou usuário/senha para credenciais do Windows), consulte o diagrama abaixo. As setas indicam caminhos para comunicação.

Diagram of Microsoft Entra authentication for Azure SQL.

O diagrama a seguir indica as relações de federação, confiança e hospedagem que permitem que um cliente se conecte a um banco de dados enviando um token. O token é autenticado pelo Microsoft Entra ID e é considerado confiável pelo banco de dados. O Cliente 1 pode representar o Microsoft Entra ID com usuários nativos ou o Microsoft Entra ID com usuários federados. O Cliente 2 representa uma solução possível, incluindo os usuários importados; neste exemplo, provenientes de um Microsoft Entra ID federado com o ADFS sendo sincronizado com o Microsoft Entra ID. É importante entender que o acesso a um banco de dados com a autenticação do Microsoft Entra ID exige que a assinatura de hospedagem esteja associada ao Microsoft Entra ID. A mesma assinatura deve ser usada para criar os recursos do Banco de Dados SQL do Azure, da Instância Gerenciada de SQL ou do Azure Synapse.

Diagram shows the relationship between subscriptions in the Microsoft Entra configuration.

Estrutura do administrador

Ao usar a autenticação do Microsoft Entra, há duas contas de Administrador: o administrador original de banco de dados SQL do Azure e o administrador do Microsoft Entra. Os mesmos conceitos se aplicam ao Azure Synapse. Somente o administrador com base em uma conta do Microsoft Entra ID pode criar o primeiro usuário de banco de dados independente do Microsoft Entra ID em um banco de dados de usuário. O logon do administrador do Microsoft Entra pode ser um usuário do Microsoft Entra ou um grupo do Microsoft Entra. Quando o administrador é uma conta de grupo, ele pode ser usado por qualquer membro do grupo, habilitando vários administradores do Microsoft Entra para o servidor. O uso da conta de grupo como administrador melhora a capacidade de gerenciamento, permitindo adicionar e remover centralmente membros do grupo no Microsoft Entra ID sem alterar os usuários ou as permissões no Banco de dados SQL ou no Azure Synapse. Somente um administrador do Microsoft Entra (um usuário ou grupo) pode ser configurado por vez, a qualquer momento.

Diagram shows the administrator structure for Microsoft Entra ID used with SQL Server.

Observação

A autenticação do Microsoft Entra com SQL do Azure dá suporte apenas a um único locatário do Microsoft Entra em que o recurso do SQL do Azure reside no momento. Todos os objetos do Microsoft Entra desse locatário podem ser configurados como usuários que permitem o acesso a SQL do Azure nesse locatário. O administrador do Microsoft Entra também deve ser do locatário do recurso SQL do Azure. Não há suporte à autenticação multilocatário do Microsoft Entra acessando o SQL do Azure de locatários diferentes.

Permissões

Para criar novos usuários, você deve ter a permissão ALTER ANY USER no banco de dados. A permissão ALTER ANY USER pode ser concedida a qualquer usuário do banco de dados. A permissão ALTER ANY USER também é mantida pelas contas de administrador do servidor e usuários de banco de dados com a permissão CONTROL ON DATABASE ou ALTER ON DATABASE para esse banco de dados e por membros da função de banco de dados db_owner.

Para criar um usuário de banco de dados independente no Banco de Dados SQL do Azure, na Instância Gerenciada de SQL do Azure ou no Azure Synapse, é necessário se conectar ao banco de dados ou à instância usando uma identidade do Microsoft Entra. Para criar o primeiro usuário de banco de dados independente, você deve se conectar ao banco de dados usando o administrador do Microsoft Entra (que é o proprietário do banco de dados). Isso é demonstrado em Configurar e gerenciar a autenticação do Microsoft Entra com o Banco de Dados SQL ou o Azure Synapse. Qualquer autenticação do Microsoft Entra só será possível se o administrador do Microsoft Entra tiver sido criado para o Banco de Dados SQL do Azure, a Instância Gerenciada de SQL ou o Azure Synapse. Se o administrador do Microsoft Entra tiver sido removido do servidor, os usuários existentes do Microsoft Entra criados anteriormente no servidor não poderão mais se conectar ao banco de dados usando suas credenciais do Microsoft Entra.

Recursos e limitações do Microsoft Entra

  • Os seguintes membros do Microsoft Entra ID podem ser provisionados para o Banco de Dados SQL do Azure:

    • Membros nativos: membro criado no Microsoft Entra ID no domínio gerenciado ou em um domínio do cliente. Para obter mais informações, confira Adicionar seu próprio nome de domínio ao Microsoft Entra ID.
    • Membros de um domínio do Active Directory federados com o Microsoft Entra ID em um domínio gerenciado configurado para o logon único contínuo com autenticação por hash de senha ou passagem. Para obter mais informações, consulte Federação com Microsoft Entra ID e Logon único sem problemas do Microsoft Entra.
    • Usuários convidados, um recurso da ID externa do Microsoft Entra que permite convidar usuários para seu locatário do Microsoft Entra por meio de contas externas ao locatário do Microsoft Entra.
    • Grupos do Active Directory criados como grupos de segurança.
  • Os usuários do Microsoft Entra que fazem parte de um grupo que seja membro da função de banco de dados db_owner não podem usar a sintaxe CREATE DATABASE SCOPED CREDENTIAL no Banco de Dados SQL do Azure nem no Azure Synapse. Ocorrerá o seguinte erro:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.

    Para mitigar o problema CRIAR UMA CREDENCIAL NO ESCOPO DO BANCO DE DADOS, adicione diretamente ao usuário individual do Microsoft Entra a função db_owner.

  • Estas funções do sistema não são suportadas e retornam valores NULL quando executadas em entidades de segurança do Microsoft Entra:

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • O Banco de Dados SQL do Azure não cria usuários implícitos para usuários conectados como parte de uma associação de grupo do Microsoft Entra. Por isso, várias operações que exigem atribuição de propriedade falharão, mesmo que o grupo do Microsoft Entra seja adicionado como um membro a uma função com essas permissões.

    Por exemplo, um usuário conectado a um banco de dados por meio de um grupo do Microsoft Entra com a função db_ddladmin não poderá executar CREATE SCHEMA, ALTER SCHEMA nem outras instruções de criação de objeto sem um esquema definido explicitamente (como tabela, exibição ou tipo, por exemplo). Para resolver isso, um usuário do Microsoft Entra deve ser criado para esse usuário, ou o grupo do Microsoft Entra deve ser alterado para atribuir DEFAULT_SCHEMA a dbo.

Instância Gerenciada de SQL

  • Entidades de servidor do Microsoft Entra (logons) e usuários têm suporte para Instância Gerenciada de SQL.

  • Não há suporte para a configuração de logons do Microsoft Entra mapeados para um grupo do Microsoft Entra como proprietário do banco de dados na Instância Gerenciada do SQL.

    • Uma extensão disso é que, quando um grupo é adicionado como parte da função de servidor dbcreator, os usuários desse grupo podem se conectar à Instância Gerenciada de SQL e criar bancos de dados, mas não poderão acessar o banco de dados. Isso ocorre porque o novo proprietário do banco de dados é SA e não o usuário do Microsoft Entra. Esse problema não se manifesta se o usuário individual é adicionado à função de servidor dbcreator.
  • Há suporte para gerenciamento do SQL Agent e de execuções de cargo para logons do Microsoft Entra.

  • As operações de restauração e backup do banco de dados podem ser executadas pelas entidades de segurança do servidor do Microsoft Entra (logons).

  • A auditoria de todas as instruções relacionadas às entidades de segurança do servidor do Microsoft Entra (logons) e aos eventos de autenticação tem suporte.

  • Há suporte para a conexão de administrador dedicada para as entidades de segurança do servidor do Microsoft Entra (logons) que são membros da função do servidor sysadmin.

    • Compatível por meio do utilitário sqlcmd e do SQL Server Management Studio.
  • Os gatilhos de logon têm suporte para os eventos de logon que vêm das entidades de segurança do servidor do Microsoft Entra (logons).

  • Os emails do Service Broker e do banco de dados podem ser configurados usando uma entidade de segurança do servidor do Microsoft Entra (logon).

Conexão usando identidades do Microsoft Entra

A autenticação do Microsoft Entra ID dá suporte aos seguintes métodos de conexão a um banco de dados usando identidades do Microsoft Entra ID:

  • Senha do Microsoft Entra
  • Microsoft Entra integrado
  • Microsoft Entra Universal com autenticação multifator
  • Uso da autenticação de token do aplicativo

Os seguintes métodos de autenticação têm suporte para as entidades de segurança do servidor do Microsoft Entra (logons):

  • Senha do Microsoft Entra
  • Microsoft Entra integrado
  • Microsoft Entra Universal com autenticação multifator

Considerações adicionais

  • Para aumentar a capacidade de gerenciamento, é recomendável que você provisione um grupo dedicado do Microsoft Entra como administrador.
  • Somente um administrador do Microsoft Entra (um usuário ou grupo) pode ser configurado para um servidor do Banco de Dados SQL ou no Azure Synapse a qualquer momento.
    • A adição de entidades de segurança de servidor do Microsoft Entra (logons) para Instância Gerenciada de SQL permite a possibilidade de criar várias entidades de servidor do Microsoft Entra (logons) que podem ser adicionadas à função sysadmin.
  • Somente um administrador do Microsoft Entra para o servidor pode conectar-se inicialmente ao servidor ou à instância gerenciada usando uma conta do Microsoft Entra. O administrador do Microsoft Entra pode configurar os próximos usuários do banco de dados do Microsoft Entra.
  • Os usuários e as Entidades de serviço do Microsoft Entra (aplicativos do Microsoft Entra) que são membros de mais de 2048 grupos de segurança do Microsoft Entra não têm suporte para fazer logon no banco de dados no Banco de Dados SQL, na Instância Gerenciada de SQL ou no Azure Synapse.
  • É recomendável configurar o tempo limite da conexão para 30 segundos.
  • O SQL Server 2016 Management Studio e o SQL Server Data Tools para Visual Studio 2015 (versão 14.0.60311.1 de abril de 2016 ou posterior) dão suporte à autenticação do Microsoft Entra. (Há suporte para a autenticação do Microsoft Entra no Provedor de Dados .NET Framework para SqlServer; é necessária, no mínimo, a versão 4.6 do .NET Framework). Portanto, as versões mais recentes dessas ferramentas e aplicativos da camada de dados (DAC e BACPAC) podem usar a autenticação do Microsoft Entra.
  • Da versão 15.0.1 em diante, o utilitário sqlcmd e o utilitário bcp dão suporte à autenticação interativa do Active Directory com autenticação multifator.
  • O SQL Server Data Tools para Visual Studio 2015 requer pelo menos a versão de abril de 2016 do Data Tools (versão 14.0.60311.1). Atualmente, os usuários do Microsoft Entra não são mostrados no Pesquisador de Objetos do SSDT. Como alternativa, exiba os usuários em sys.database_principals.
  • O Microsoft JDBC Driver 6.0 para SQL Server dá suporte à autenticação do Microsoft Entra. Confira também Configuração das propriedades de conexão.
  • O PolyBase não pode ser autenticado com a autenticação do Microsoft Entra.
  • Há suporte para a autenticação do Microsoft Entra no Banco de Dados SQL e no Azure Synapse usando as folhas Importar banco de dados e Exportar banco de dados do portal do Azure. Também há suporte para importação e exportação usando a autenticação do Microsoft Entra em um comando do PowerShell.
  • A autenticação do Microsoft Entra tem suporte para Banco de Dados SQL, Instância Gerenciada de SQL e Azure Synapse com o uso da CLI. Para saber mais, consulte Configurar e gerenciar a autenticação do Microsoft Entra com o Banco de Dados SQL ou o Azure Synapse e SQL Server – az sql server.

Próximas etapas