Usar a Autenticação do Microsoft Entra para autenticação com o SQL do Synapse
A autenticação do Microsoft Entra ID é um mecanismo que se conecta ao Azure Synapse Analytics usando identidades no Microsoft Entra ID.
Com a autenticação do Microsoft Entra, você pode gerenciar de maneira centralizada as identidades do usuário que têm acesso ao Azure Synapse para simplificar o gerenciamento de permissões. Os benefícios incluem o seguinte:
- Ela fornece uma alternativa à autenticação convencional de nome de usuário e senha.
- 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 usando grupos externos (Microsoft Entra ID).
- 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.
- O Microsoft Entra ID dá suporte à autenticação baseada em token em aplicativos que se conectam ao Azure Synapse.
- A autenticação do Microsoft Entra ID dá suporte ao ADFS (federação de domínio) ou à autenticação nativa de senha/usuário para um local do Microsoft Entra ID sem a sincronização de domínio.
- O Microsoft Entra ID dá suporte a conexões do SQL Server Management Studio que usam a Autenticação Universal do Active Directory, que inclui o MFA (autenticação multifator). A MFA inclui autenticação eficiente com uma variedade de opções de verificação fáceis, que incluem chamada telefônica, mensagem de texto, cartões inteligentes com PIN ou notificação por aplicativos móveis. Para obter mais informações, confira Suporte SSMS para autenticação do Microsoft Entra com SQL do Synapse.
- O Microsoft Entra ID dá suporte a conexões semelhantes do SSDT (SQL Server Data Tools) que usa a Autenticação Interativa do Active Directory. 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.
- Crie e preencha o Microsoft Entra ID.
- Criar uma identidade do Microsoft Entra
- Atribuir uma função à identidade criada do Microsoft Entra ID no workspace do Azure Synapse
- Conecte-se ao Synapse Studio usando identidades do Microsoft Entra ID.
Passagem do Microsoft Entra no Azure Synapse Analytics
O Azure Synapse Analytics permite que você acesse os dados do data lake usando sua identidade do Microsoft Entra ID.
A definição de direitos de acesso nos arquivos e nos dados, que é respeitada em diferentes mecanismos de dados, permite que você simplifique suas soluções de data lake tendo um só lugar no qual as permissões são definidas, em vez de precisar defini-las em vários locais.
Confiar na arquitetura
O diagrama de alto nível a seguir resume a arquitetura da solução para o uso da autenticação do Microsoft Entra com o SQL do Synapse. Para dar suporte à senha de usuário nativo do Microsoft Entra, apenas a parte da Nuvem e o Azure AD/SQL do Synapse é considerada. 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. As setas indicam caminhos para comunicação.
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 um Microsoft Entra ID com usuários nativos ou um 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 precisa ser usada para criar o SQL Server que hospeda o Banco de Dados SQL do Azure ou o pool de SQL dedicado.
Estrutura do administrador
Ao usar a autenticação do Microsoft Entra, haverá duas contas de administrador para o servidor do SQL do Synapse: o administrador original do SQL (usando a autenticação SQL)e o administrador do Microsoft Entra. 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, permitindo múltiplos administradores do Microsoft Entra na instância do SQL do Synapse.
O uso da conta de grupo como administrador aprimora a capacidade de gerenciamento, permitindo que você adicione e remova membros do grupo no Microsoft Entra ID de maneira centralizada, sem alterar os usuários ou as permissões no workspace do Azure Synapse Analytics. Somente um administrador do Microsoft Entra (um usuário ou grupo) pode ser configurado por vez, a qualquer momento.
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 SQL, pelas contas de administrador do Microsoft Entra 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 SQL do Synapse, você precisará se conectar ao banco de dados ou à instância usando uma identidade do Microsoft Entra ID. 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).
Qualquer autenticação do Microsoft Entra só será possível se o administrador do Azure AD tiver sido criado para o SQL do Synapse. Se o administrador do Microsoft Entra tiver sido removido do servidor, os usuários existentes do Microsoft Entra criados anteriormente no SQL do Synapse não poderão mais se conectar ao banco de dados usando as respectivas credenciais do Microsoft Entra.
Desabilitar autenticação local
Ao permitir apenas a autenticação do Microsoft Entra, gerencie centralmente o acesso aos recursos do Azure Synapse, como os pools de SQL. Para desabilitar a autenticação local no Azure Synapse durante a criação do workspace, selecione Usar somente a autenticação do Microsoft Entra como o método de autenticação. Um logon de Administrador do SQL ainda será criado, mas ficará desabilitado. A autenticação local pode ser habilitada posteriormente por um Proprietário ou Colaborador do Azure do workspace do Azure Synapse.
Você também pode desabilitar a autenticação local depois que um workspace é criado pelo portal do Azure. A autenticação local só pode ser desabilitada quando um administrador do Microsoft Entra é criado para o workspace do Azure Synapse.
Recursos e limitações do Microsoft Entra
Os seguintes membros do Microsoft Entra ID podem ser provisionados no SQL do Synapse:
- 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 domínio federado: membro criado no Microsoft Entra ID com um domínio federado. Para obter mais informações, consulte Implantando os Serviços de Federação do Active Directory (AD FS) no Azure.
- Membros importados de outros Azure ADs que são membros de domínio nativo ou federado.
- Grupos do Active Directory criados como grupos de segurança.
Os usuários do Microsoft Entra que fazem parte de um grupo que tem a função de servidor
db_owner
não podem usar a sintaxe CREATE DATABASE SCOPED CREDENTIAL no SQL do Synapse. Você verá o seguinte erro:SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.
Conceda a função
db_owner
diretamente ao usuário individual do Microsoft Entra para atenuar o problema de CREATE DATABASE SCOPED CREDENTIAL.Estas funções do sistema retornam valores NULL quando executadas em entidades de segurança do Microsoft Entra:
SUSER_ID()
SUSER_NAME(<admin ID>)
SUSER_SNAME(<admin SID>)
SUSER_ID(<admin name>)
SUSER_SID(<admin name>)
Conectar usando as identidades do Microsoft Entra ID
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 MFA
- 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 MFA
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 um grupo) pode ser configurado para os pools de SQL do Synapse a qualquer momento.
- A adição de entidades de segurança do servidor do Microsoft Entra (logons) ao SQL do Synapse permite criar várias dessas entidades que podem ser adicionadas à função
sysadmin
.
- A adição de entidades de segurança do servidor do Microsoft Entra (logons) ao SQL do Synapse permite criar várias dessas entidades que podem ser adicionadas à função
- Somente um administrador do Microsoft Entra do SQL do Synapse pode inicialmente se conectar ao SQL do Synapse usando uma conta do Microsoft Entra. O administrador do Active Directory pode configurar os próximos usuários do banco de dados do Microsoft Entra.
- É 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). Sendo assim, as versões mais recentes dessas ferramentas e desses aplicativos da camada de dados (DAC e .BACPAC) podem usar a autenticação do Microsoft Entra.
- Na 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 o MFA.
- 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.
- A conta de administrador do Microsoft Entra controla o acesso aos pools dedicados, enquanto as funções RBAC do Azure Synapse são usadas para controlar o acesso aos pools sem servidor, por exemplo, com a função Administrador do Azure Synapse e Administrador do SQL do Synapse. Configurar as funções RBAC do Synapse por meio do Synapse Studio, para obter mais informações, consulte Como gerenciar atribuições de função RBAC do Synapse no Synapse Studio.
- Se um usuário estiver configurado como administrador do Microsoft Entra e do Synapse e for removido da função no Microsoft Entra, ele perderá o acesso aos pools de SQL dedicados no Synapse. Para recuperar o acesso a esses pools de SQL dedicados, ele deve ser removido e adicionado novamente com a função de administrador do Synapse.
Próximas etapas
- Para obter uma visão geral do acesso e do controle no Synapse SQL, confira Controle de acesso do Synapse SQL.
- Para obter mais informações sobre objetos de banco de dados, confira Entidades.
- Para obter mais informações sobre as funções de banco de dados, confira Funções de banco de dados.