Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo oferece uma visão geral aprofundada do uso da autenticação Microsoft Entra com Synapse SQL no Azure Synapse Analytics.
Note
As entidades de segurança do servidor do Microsoft Entra estão atualmente em versão prévia para o Azure Synapse Analytics.
Para configurar a autenticação Microsoft Entra, veja Configure and manage Microsoft Entra authentication with Azure Synapse Analytics.
Overview
O Microsoft Entra ID permite gerenciar centralmente as identidades de pessoas e serviços em seu patrimônio de dados. Ao integrar o Microsoft Entra com o Azure Synapse Analytics para autenticação, você pode simplificar o gerenciamento de identidade e permissões, além de permitir acesso condicional detalhado e governança sobre conexões aos seus dados.
O uso da autenticação do Microsoft Entra inclui os seguintes benefícios:
- Substitui métodos de autenticação menos seguros como senhas e nomes de usuário.
- Elimina ou ajuda a impedir a proliferação de identidades de usuário entre servidores.
- Os grupos do Microsoft Entra permitem que o gerenciamento de permissões de banco de dados seja abstraído de contas individuais e em grupos operacionais.
- Permite o rodízio de senhas em um único lugar.
- Autenticação somente do Microsoft Entra fornece uma alternativa completa para a autenticação SQL.
- As identidades gerenciadas para recursos do Azure eliminam a necessidade de armazenar senhas para serviços que se conectam aos bancos de dados e conexões de seus bancos de dados com outros recursos do Azure.
- Habilita controles de segurança avançados que incluem a autenticação multifator eficiente com uma variedade de opções de verificação fáceis, como chamada telefônica, mensagem SMS, cartões inteligentes com PIN ou notificação por aplicativos móveis.
- O Microsoft Entra ID permite a integração com muitos protocolos de autenticação modernos, incluindo OpenID Connect, OAuth2.0, delegação restrita de Kerberos e muito mais.
- Permite o monitoramento centralizado de conexões com fontes de dados.
- Habilita controles de acesso condicional, como a exigência de dispositivos compatíveis ou métodos de autenticação para conexões bem-sucedidas.
Note
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 oferece suporte ao redirecionamento de consultas do Microsoft Entra ID para endpoints de terceiros. Essa limitação se aplica a todas as plataformas SQL e a todos os sistemas operacionais que suportam autenticação Microsoft Entra.
Etapas de configuração
Use as etapas abaixo para configurar a autenticação do Microsoft Entra:
- Crie e preencha um tenant do Microsoft Entra.
- Crie um espaço de trabalho no Azure Synapse ou um pool SQL dedicado independente.
- Atribua um administrador do Microsoft Entra ao workspace ou servidor lógico.
- Crie principais SQL no seu banco de dados mapeados para identidades Microsoft Entra.
- Configure seus aplicativos clientes para se conectarem usando bibliotecas e métodos de autenticação do Azure Identity.
- Conecte-se ao seu banco de dados com identidades do Microsoft Entra.
Identidades e métodos de autenticação com suporte
Azure Synapse Analytics suporta o uso das seguintes identidades Microsoft Entra como logins e usuários (principals) no Synapse SQL:
- Usuários do Microsoft Entra: qualquer tipo de usuário em um locatário do Microsoft Entra, incluindo internos, externos, convidados e membros. Membros de um domínio do Active Directory federado com o Microsoft Entra ID também são suportados e podem ser configurados para autenticação única contínua.
- Aplicações: Aplicações que existem no Azure podem usar entidades de serviço ou identidades gerenciadas para se autenticar diretamente no Azure Synapse Analytics. Usar identidades gerenciadas é preferível porque a autenticação é sem senha e elimina a necessidade de credenciais gerenciadas pelo desenvolvedor.
- Grupos do Microsoft Entra, que podem simplificar o gerenciamento de acesso em toda a sua organização, gerenciando o acesso de usuários e aplicativos com base em sua associação de grupo.
Para identidades do usuário, há suporte para os seguintes métodos de autenticação:
- Microsoft Entra Integrado (Autenticação do Windows) é suportado por Identidades Híbridas do Microsoft Entra com Active Directory [federação].
- Microsoft Entra MFA, ou autenticação multifator, que exige verificações de segurança adicionais além do conhecimento do usuário.
- Autenticação de senha do Microsoft Entra, que usa credenciais de usuário armazenadas e gerenciadas no Microsoft Entra ID.
- Autenticação padrão do Microsoft Entra, que verifica vários caches de credenciais no computador do aplicativo e pode usar tokens de usuário para autenticar no SQL.
Para identidades de carga de trabalho e serviço, há suporte para os seguintes métodos de autenticação:
- Identidades gerenciadas para recursos do Azure, atribuídas pelo sistema e atribuídas pelo usuário. A autenticação de identidade gerenciada é baseada em token, na qual a identidade é atribuída ao recurso que deseja autenticar usando-a. A plataforma de Identidade do Azure valida esse relacionamento, o que permite a autenticação sem senha.
- Nome do principal de serviço do Microsoft Entra e segredo do aplicativo (cliente). Esse método de autenticação não é recomendado devido ao risco associado a senhas que podem ser adivinhadas e vazadas.
- Autenticação padrão do Microsoft Entra, que analisa vários caches de credenciais na máquina do aplicativo e pode usar tokens de aplicativo para autenticar no SQL.
Administrador do Microsoft Entra
Para habilitar a autenticação Microsoft Entra, um administrador Microsoft Entra precisa ser configurado para seu workspace ou servidor lógico do Azure Synapse. Esse administrador existe ao lado do administrador SQL. O administrador do Microsoft Entra pode ser um usuário, grupo, principal de serviço ou identidade gerenciada no seu locatário do Azure. Apenas uma identidade pode ser configurada por vez. Remover o administrador do Microsoft Entra desativa conexões baseadas em autenticação do Microsoft Entra, mesmo para usuários existentes do Microsoft Entra com permissões em um banco de dados.
Dica
Os grupos do Microsoft Entra permitem que várias identidades atuem como administrador do Microsoft Entra no servidor. Quando o administrador é definido como um grupo, todos os membros do grupo herdam a função de administrador do Microsoft Entra. Um administrador de grupo do Microsoft Entra melhora a facilidade de gerenciamento ao transferir a administração das ações do plano de dados do servidor para o Microsoft Entra ID e para os proprietários dos grupos. Os grupos podem ser usados para todas as identidades do Microsoft Entra que se conectam ao SQL, permitindo a configuração única de usuário e permissão no servidor e nos bancos de dados, deixando todo o gerenciamento de usuários para os grupos.
O administrador do Microsoft Entra desempenha um papel especial: é a primeira conta que pode criar outros logons e usuários Microsoft Entra, coletivamente chamados de entidades de segurança. O administrador é um usuário de banco de dados independente no master banco de dados do servidor. As contas de administrador são membros da função db_owner em todos os bancos de dados de usuários e cada banco de dados de usuário é inserido como o usuário dbo. Para mais informações sobre contas de administrador, confira Gerenciamento de bancos de dados e logons.
Principais do Microsoft Entra
Note
As entidades de segurança do servidor do Microsoft Entra (logins) estão atualmente em versão prévia para o Azure Synapse Analytics.
Você pode criar identidades do Microsoft Entra como entidades de segurança no Azure Synapse Analytics de três maneiras:
- como entidades de segurança do servidor ou logons
- como usuários baseados em logon (um tipo de principal de banco de dados)
- como usuários de banco de dados restritos
Importante
A autenticação do Microsoft Entra para SQL do Azure não se integra ao RBAC do Azure. Para usar identidades do Microsoft Entra para conectar ao SQL do Azure e executar consultas, você precisa criar essas identidades como entidades de segurança do Microsoft Entra nos bancos de dados que elas precisam acessar. Os papéis SQL Server Contributor e SQL DB Contributor garantem operações de implantação relacionadas à gestão, não o acesso à conectividade com o banco de dados.
Logins (entidades de segurança do servidor) em pools SQL dedicados
Entidades de segurança do servidor (logins) para identidades do Microsoft Entra estão em prévia para pools SQL dedicados do Azure Synapse Analytics.
O T-SQL a seguir mostra como criar um logon do Microsoft Entra:
CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER
Um logon do Microsoft Entra tem os seguintes valores de propriedade em sys.server_principals:
| Property | Valor |
|---|---|
SID (Identificador de segurança) |
Representação binária do ID de objeto da identidade do Microsoft Entra |
| tipo | E = Logon externo ou aplicativo do Microsoft Entra ID X = Grupo externo do Microsoft Entra ID |
| type_desc | EXTERNAL_LOGIN para login ou aplicativo do Microsoft Entra EXTERNAL_GROUP para o grupo do Microsoft Entra |
Usuários baseados em login
Os usuários baseados em login herdam as funções e permissões atribuídas ao login do Microsoft Entra no nível do servidor.
O T-SQL a seguir mostra como criar um usuário baseado em logon para uma identidade do Microsoft Entra:
CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]
A tabela a seguir detalha os valores de propriedades do usuário baseados em logon do Microsoft Entra em sys.database_principals:
| Property | Valor |
|---|---|
SID (Identificador de segurança) |
Representação binária do identificador de objeto da identidade do Microsoft Entra, mais 'AADE' |
| tipo | E = Logon externo ou aplicativo do Microsoft Entra ID X = Grupo externo do Microsoft Entra ID |
| type_desc | EXTERNAL_LOGIN para login ou aplicativo do Microsoft Entra EXTERNAL_GROUP para o grupo do Microsoft Entra |
Usuários de banco de dados independente
Usuários do banco de dados contido são portáteis com o banco de dados. Eles não têm conexões com identidades definidas no servidor ou instância, e você pode facilmente movê-los junto com o banco de dados de um servidor ou instância para outro sem interrupções.
O T-SQL a seguir mostra como criar um usuário de banco de dados independente para uma identidade do Microsoft Entra:
CREATE USER [MSEntraUser] FROM EXTERNAL PROVIDER
Um usuário baseado em banco de dados do Microsoft Entra tem os mesmos valores de propriedade que os usuários baseados em logon no sys.database_principals, exceto pela forma como o SID é construído:
| Property | Valor |
|---|---|
SID (Identificador de segurança) |
Representação binária do ID de objeto da identidade do Microsoft Entra |
| tipo | E = Logon externo ou aplicativo do Microsoft Entra ID X = Grupo externo do Microsoft Entra ID |
| type_desc | EXTERNAL_LOGIN para login ou aplicativo do Microsoft Entra EXTERNAL_GROUP para o grupo do Microsoft Entra |
Para obter o GUID original do Microsoft Entra em que o SID se baseia, use a seguinte conversão T-SQL:
SELECT CAST(sid AS UNIQUEIDENTIFIER) AS EntraID FROM sys.database_principals
Caution
Você pode, sem querer, criar um usuário de banco de dados Microsoft Entra contido com o mesmo nome de um login Microsoft Entra no nível do servidor ou instância. Como as entidades de segurança não estão conectadas entre si, o usuário do banco de dados não herda permissões do login do servidor. Identidades podem se confundir em solicitações de conexão, resultando em comportamentos indefinidos.
Use a seguinte consulta T-SQL para determinar se um usuário do banco de dados é um usuário baseado em logon ou um usuário contido no banco de dados.
SELECT CASE
WHEN CONVERT(VARCHAR(100), sid, 2) LIKE '%AADE' AND len(sid) = 18 THEN 'login-based user'
ELSE 'contained database user'
END AS user_type,
*
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Use a seguinte consulta T-SQL para exibir todos os principais do Microsoft Entra em um banco de dados:
SELECT
name,
CAST(sid AS UNIQUEIDENTIFIER) AS EntraID,
CASE WHEN TYPE = 'E' THEN 'App/User' ELSE 'Group' AS user_type,
sid
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Autenticação somente via Microsoft Entra
Quando você ativa a autenticação exclusiva do Microsoft Entra, você desativa a autenticação SQL. Você não pode usar autenticação SQL para se conectar ao workspace, pool SQL ou banco de dados.
Para começar, veja Configurar autenticação somente Microsoft Entra.
MFA (autenticação multifator)
A autenticação multifator do Microsoft Entra é um recurso de segurança fornecido pelo serviço de gerenciamento de identidade e acesso baseado em nuvem da Microsoft. A autenticação multifator aumenta a segurança dos logons dos usuários, exigindo que os usuários forneçam etapas extras de verificação além de uma senha.
A autenticação multifator do Microsoft Entra ajuda a proteger o acesso aos dados e aplicativos enquanto atende à demanda do usuário por um processo de entrada simples. A MFA adiciona uma camada extra de segurança às entradas do usuário, exigindo que os usuários forneçam dois ou mais fatores de autenticação. Esses fatores normalmente incluem algo que o usuário sabe (senha), algo que o usuário possui (smartphone ou token de hardware) e/ou algo que o usuário é (dados biométricos). Ao combinar vários fatores, a MFA reduz significativamente a probabilidade de acesso não autorizado.
Autenticação multifator é um método de autenticação suportado para Azure Synapse Analytics.
Para começar, veja Configurar autenticação multifator Microsoft Entra.
suporte do Microsoft Entra B2B
A autenticação do Microsoft Entra em todos os produtos SQL também dá suporte à colaboração Microsoft Entra B2B, que permite às empresas convidar usuários convidados para colaborar com sua organização. Os usuários convidados podem se conectar a bancos de dados como usuários individuais ou membros de um grupo do Microsoft Entra.
Arquitetura de confiança para federação do Microsoft Entra com Active Directory
O Microsoft Entra ID também se integra a soluções familiares de gerenciamento de identidade e acesso, como o Active Directory. Ao unir híbridamente seu Active Directory local, você habilita identidades do Windows federadas pelo Microsoft Entra ID para usar credenciais de logon único para se conectar ao Azure Synapse Analytics.
Para federação, o Microsoft Entra ID fornece dois métodos de autenticação seguros: passagem e autenticação de hash de senha. Se quiser federar seu Active Directory local para o Microsoft Entra ID, confira Escolher o método de autenticação certo para sua solução de identidade híbrida do Microsoft Entra.
Para obter mais informações sobre a configuração e a sincronização de identidades híbridas do Microsoft Entra, confira os seguintes artigos:
- Implementar a sincronização do hash de senhas com o Microsoft Entra Connect Sync
- Autenticação de passagem do Microsoft Entra
- Implantação dos Serviços de Federação do Active Directory (AD FS) no Azure e Microsoft Entra Connect e federação
O Microsoft Entra ID autentica o token e o banco de dados confia nele e valida o emissor e outros detalhes. 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 usando autenticação Microsoft Entra requer que a assinatura de hospedagem esteja associada ao Microsoft Entra ID. Você deve usar a mesma assinatura para criar os recursos do SQL do Azure ou Azure Synapse.
Permissions
As permissões atribuídas ao administrador do Microsoft Entra diferem das permissões atribuídas a outras entidades de segurança no Azure Synapse Analytics. Em alguns cenários, o Azure Synapse Analytics também precisa das permissões do Microsoft Graph para usar a autenticação Microsoft Entra.
Permissões de administrador
As seguintes permissões e funções são atribuídas ao administrador do Microsoft Entra quando criado:
- db_owner de cada banco de dados
Azure Synapse Analytics permissions
Um principal precisa da ALTER ANY USER permissão no banco de dados para criar um usuário.
Por padrão, contas de administrador de servidor, usuários de banco de dados com CONTROL ON DATABASE, e membros do db_owner papel de banco de dados têm essa ALTER ANY USER permissão.
Para criar um principal Microsoft Entra no SQL do Azure, a identidade solicitante deve consultar o Microsoft Graph para detalhes sobre o principal. Na implantação inicial, a única identidade que pode consultar o Microsoft Graph é o administrador do Microsoft Entra. Portanto, o administrador deve ser a primeira identidade a criar outras entidades de segurança do Microsoft Entra. Depois disso, o administrador pode atribuir ALTER ANY USER a outros principais para que eles possam criar outros principais do Microsoft Entra.
Implantações sem toque com autenticação do Microsoft Entra
Como o administrador do Microsoft Entra deve ser a primeira identidade a se conectar ao banco de dados e criar outros usuários do Microsoft Entra, pode ser útil adicionar a identidade da sua infraestrutura de implantação como administrador. Suas implantações podem fazer a configuração inicial, como criar outros principais do Microsoft Entra e atribuir permissões a eles. Para implantações, use ferramentas como templates ARM do PowerShell para programar a criação automatizada de entidades de segurança. O SQL do Azure hoje não suporta APIs nativas para configurar criação de usuários e gerenciamento de permissões. Você só pode realizar essas operações usando uma conexão direta com a instância SQL.
Permissões do Microsoft Graph
Para criar entidades principais do Microsoft Entra e em outros cenários, o SQL do Azure precisa fazer solicitações ao Microsoft Graph para recuperar informações e validar a existência da identidade no Microsoft Entra ID. Para isso, o processo SQL deve ter ou obter acesso às permissões de leitura do Microsoft Graph dentro do tenant do cliente. Você pode alcançar esse acesso de várias maneiras:
- Se o principal SQL que executa o comando for uma identidade de usuário, você não precisa conceder permissões adicionais na instância do SQL Server para consultar o Microsoft Graph.
- Se o principal SQL executando o comando for uma identidade de serviço, como um principal de serviço ou identidade gerenciada, a instância do SQL do Azure requer suas próprias permissões para consultar o Microsoft Graph.
- Atribua permissões de aplicativo à identidade primária do servidor (identidade gerenciada) do servidor lógico ou da instância gerenciada. O processo SQL pode usar a identidade principal do servidor para autenticar em outros serviços do Azure em um tenant, como o Microsoft Graph. A tabela a seguir explica vários cenários e as permissões do Microsoft Graph necessárias para que o comando seja executado com sucesso.
| Scenario | Permissão mínima |
|---|---|
CREATE USERou CREATE LOGIN para um principal de serviço Microsoft Entra ou identidade gerenciada |
Application.Read.All |
CREATE USERou CREATE LOGIN para um usuário do Microsoft Entra |
User.Read.All |
CREATE USERou CREATE LOGIN para um grupo Microsoft Entra |
GroupMember.Read.All |
Dica
A função de Leitores do Diretório é a função de menor escopo que você pode atribuir a uma identidade e cobre todas as permissões necessárias. Ao usar papéis, você pode atribuí-los aos grupos de segurança da Microsoft Entra, que abstraem a gestão das entidades individuais para grupos conceituais.
Suporte a ferramentas
O SQL Server Management Studio (SSMS) dá suporte a várias opções de conexão de autenticação do Microsoft Entra, incluindo autenticação multifator.
O SSDT (SQL Server Data Tools) para Visual Studio, a partir de 2015, dá suporte à autenticação de senha, integrada e interativa com o Microsoft Entra ID. Para obter mais informações, confira Suporte do Microsoft Entra ID no SQL Server Data Tools (SSDT).
- Atualmente, o SSDT Pesquisador de Objetos não mostra usuários do Microsoft Entra. Como alternativa, exiba os usuários em sys.database_principals.
Versões mínimas
Para usar a autenticação Microsoft Entra com Azure Synapse Analytics, você precisa das seguintes versões mínimas ao usar estas ferramentas:
- SSMS (SQL Server Management Studio) 18.6 ou posterior
- SQL Server Data Tools 14.0.60311.1 (abril de 2016) ou posterior para Visual Studio 2015
- Provedor de dados do .NET Framework para SQL Server, versão mínima .NET Framework 4.6
- 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 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.
Conecte-se ao Microsoft Entra para o Azure Synapse Analytics
Depois de configurar a autenticação Microsoft Entra para seu recurso SQL do Azure, você pode se conectar usando o SQL Server Management Studio, SQL Server Data Tools e um aplicativo cliente.
Limitações
Ao usar autenticação Microsoft Entra com Azure Synapse Analytics, considere as seguintes limitações:
Usuários do Microsoft Entra e 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 são suportados e não podem fazer login no banco de dados.
As seguintes funções do sistema não têm suporte e retornam valores
NULLquando executadas pelas entidades do Microsoft Entra:SUSER_ID()SUSER_NAME(<ID>)SUSER_SNAME(<SID>)SUSER_ID(<name>)SUSER_SID(<name>)
É recomendável configurar o tempo limite da conexão para 30 segundos.
Usuários do Microsoft Entra que fazem parte de um grupo que é membro da
db_ownerfunção de banco de dados podem apresentar o seguinte erro ao tentar usar CREATE DATABASE SCOPED CREDENTIAL no Azure Synapse Analytics: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 atenuar o
CREATE DATABASE SCOPED CREDENTIALproblema, adicione a identidade do usuário do Microsoft Entra àdb_ownerfunção diretamente.O Azure Synapse Analytics não cria usuários implícitos para usuários logados por meio da associação ao grupo Microsoft Entra. Por causa disso, operações que exigem atribuir a titularidade podem falhar, mesmo que o grupo Microsoft Entra seja membro de uma função de acesso 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 pode executar
CREATE SCHEMA,ALTER SCHEMAe 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 algo como umDEFAULT_SCHEMAdbo.Remover o administrador do Microsoft Entra impede conexões de autenticação do Microsoft Entra.
Conteúdo relacionado
- Configure e gerencie a autenticação Microsoft Entra com Azure Synapse Analytics
- Autorizar o acesso ao banco de dados para o Azure Synapse Analytics
- Principais do Banco de Dados
- Funções de banco de dados
- Sintaxe CREATE LOGIN para entidades de segurança do servidor Microsoft Entra
- Azure Synapse Analytics regras de firewall