Autenticação do Microsoft Entra como alternativa à autenticação SQL

Aplica-se a:✅ ponto final de análise SQL e o Warehouse no Microsoft Fabric

Este artigo aborda os métodos técnicos que os usuários e clientes podem empregar para fazer a transição da autenticação SQL para a autenticação do Microsoft Entra no Microsoft Fabric. A autenticação do Microsoft Entra é uma alternativa à utilização de nomes de utilizador e palavras-passe através da autenticação SQL para aceder ao ponto de extremidade de análise SQL ou ao Warehouse no Microsoft Fabric. A autenticação Microsoft Entra é aconselhável e vital para a criação de uma plataforma de dados segura.

Este artigo centra-se na autenticação do Microsoft Entra como alternativa à autenticação SQL em itens no Microsoft Fabric, como um Warehouse ou o ponto final de análise SQL de um Lakehouse.

Benefícios da autenticação do Microsoft Entra no Fabric

Um dos princípios fundamentais do Microsoft Fabric é a segurança por design. O Microsoft Entra é parte integrante da segurança do Microsoft Fabric, garantindo forte proteção de dados, governança e conformidade.

O Microsoft Entra desempenha um papel crucial na segurança do Microsoft Fabric por vários motivos:

  • Autenticação: verifique os utilizadores e as entidades de serviço com o Microsoft Entra ID, que concede tokens de acesso para operações no Fabric.
  • Acesso seguro: conecte-se com segurança a aplicativos na nuvem a partir de qualquer dispositivo ou rede, protegendo as solicitações feitas ao Fabric.
  • Acesso condicional: os administradores podem definir políticas que avaliam o contexto do usuário, controlam o acesso ou impõem etapas de verificação extras.
  • Integração: o Microsoft Entra ID funciona perfeitamente com todas as ofertas de SaaS da Microsoft, incluindo o Fabric, permitindo fácil acesso entre dispositivos e redes.
  • Plataforma abrangente: aceda ao Microsoft Fabric com o Microsoft Entra ID por qualquer método, quer através do portal do Fabric, de uma cadeia de ligação SQL, da API REST ou do ponto final XMLA.

O Microsoft Entra adota uma política completa de Confiança Zero, oferecendo uma alternativa superior à autenticação SQL tradicional limitada a nomes de usuário e senhas. Esta abordagem:

  • Impede a personificação do utilizador.
  • Permite um controle de acesso refinado considerando a identidade do usuário, ambiente, dispositivos, etc.
  • Suporta segurança avançada, como a autenticação multifator do Microsoft Entra.

Configuração de malha

A autenticação do Microsoft Entra para utilização com um ponto final de análise SQL de um Warehouse ou de um Lakehouse requer configuração nas definições de Inquilino e de Espaço de trabalho.

Configuração do locatário

Um administrador do Fabric no seu tenant tem de permitir o acesso de nomes principais de serviço (SPN) às APIs do Fabric, necessário para que o SPN possa interagir com itens de armazém do Fabric ou de ponto final de análise SQL através de cadeias de ligação SQL.

Esta configuração encontra-se na secção Definições de programador e tem a designação Os principais de serviço podem utilizar APIs do Fabric. Certifique-se de que está ativado.

Captura de tela do portal Fabric da página Configurações do desenvolvedor em Configurações do locatário.

Configuração do espaço de trabalho

Um administrador do Fabric no seu espaço de trabalho tem de conceder acesso a um utilizador ou SPN para aceder a itens do Fabric.

Existem dois meios pelos quais um Usuário ou SPN pode ter acesso:

  • Conceder a um utilizador ou SPN a associação a uma função: Qualquer função de espaço de trabalho (Admin, Membro, Colaborador ou Visualizador) é suficiente para se conectar a itens de armazém de dados ou lakehouse com uma cadeia de conexão SQL.

    1. Na opção Gerenciar acesso no espaço de trabalho, atribua a função de Colaborador. Para obter mais informações, consulte Funções de serviço.
  • Atribuir um utilizador ou SPN a um item específico: Conceder acesso a um endereço específico do armazém de dados ou do ponto de análise SQL de um Lakehouse. Um administrador do Fabric pode escolher entre diferentes níveis de permissão.

    1. Navegue até ao item relevante do ponto final do Warehouse ou da analítica SQL.
    2. Selecione Mais opções e, em seguida , Gerir Permissões. Selecione Adicionar utilizador.
    3. Adicione o Utilizador ou SPN na página Conceder acesso a pessoas.
    4. Atribua as permissões necessárias a um Usuário ou SPN. Escolha sem permissões adicionais para conceder somente permissões de conexão.

    Captura de tela do portal Fabric da página Conceder acesso às pessoas.

Você pode alterar as permissões padrão dadas ao usuário ou SPN pelo sistema. Use os comandos T-SQL GRANT e DENY para alterar as permissões, conforme necessário, ou ALTER ROLE para adicionar associação a funções.

Suporte para identidades de utilizador e nomes principais de serviço (SPNs)

O Microsoft Fabric suporta nativamente a autenticação e a autorização para utilizadores do Microsoft Entra e SPN (nomes de principal de serviço) em ligações SQL a itens de armazém de dados e de ponto final de análise SQL.

  • As identidades de usuário são as credenciais exclusivas para cada usuário dentro de uma organização.
  • Os SPNs representam objetos de aplicativo dentro de um locatário e atuam como a identidade para instâncias de aplicativos, assumindo a função de autenticar e autorizar esses aplicativos.

Suporte para fluxo de dados tabulares (TDS)

O Fabric utiliza o protocolo TDS (Tabular Data Stream), o mesmo que o SQL Server, quando se liga através de uma cadeia de ligação.

O Fabric é compatível com qualquer aplicativo ou ferramenta capaz de se conectar a um produto com o Mecanismo de Banco de Dados SQL. Semelhante a uma conexão de instância do SQL Server, o TDS opera na porta TCP 1433. Para obter mais informações sobre a conectividade do Fabric SQL e como localizar a cadeia de conexão SQL, consulte Localizar a cadeia de conexão do depósito.

Uma cadeia de conexão SQL de exemplo se parece com: <guid_unique_your_item>.datawarehouse.fabric.microsoft.com.

As aplicações e as ferramentas cliente podem definir a propriedade de ligação Authentication na cadeia de ligação para escolher um modo de autenticação Microsoft Entra. A tabela a seguir detalha os diferentes modos de autenticação do Microsoft Entra, incluindo o suporte para autenticação multifator (MFA) do Microsoft Entra.

Modo de autenticação Cenários Comentários
Microsoft Entra Interactive Utilizado por aplicativos ou ferramentas em situações em que a autenticação do usuário pode ocorrer interativamente, ou quando é aceitável ter intervenção manual para verificação de credenciais. Ative a MFA e as políticas de Acesso Condicional do Microsoft Entra para aplicar regras organizacionais.
Microsoft Entra Service Principal Usado por aplicativos para autenticação segura sem intervenção humana, mais adequado para integração de aplicativos. Aconselhável ativar as políticas de Acesso Condicional do Microsoft Entra.
Palavra-passe do Microsoft Entra Quando os aplicativos não podem usar a autenticação baseada em SPN devido à incompatibilidade, ou exigem um nome de usuário e senha genéricos para muitos usuários, ou se outros métodos são inviáveis. O MFA deve estar desativado e nenhuma política de acesso condicional pode ser definida. Recomendamos a validação com a equipa de segurança do cliente antes de optar por esta solução.

Fluxograma mostrando modos de autenticação do Microsoft Entra e pontos de decisão.

Suporte do controlador para autenticação do Microsoft Entra

Embora a maioria dos drivers SQL tenha vindo inicialmente com suporte para autenticação do Microsoft Entra, as atualizações recentes expandiram a compatibilidade para incluir a autenticação baseada em SPN. Esse aprimoramento simplifica a mudança para a autenticação Microsoft Entra para vários aplicativos e ferramentas por meio de atualizações de driver e adição de suporte para autenticação Microsoft Entra.

No entanto, às vezes é necessário ajustar configurações adicionais, como habilitar determinadas portas ou firewalls para facilitar a autenticação do Microsoft Entra na máquina host.

Os aplicativos e ferramentas devem atualizar os drivers para versões que ofereçam suporte à autenticação do Microsoft Entra e adicionar uma palavra-chave do modo de autenticação em sua cadeia de conexão SQL, como ActiveDirectoryInteractive, ActiveDirectoryServicePrincipalou ActiveDirectoryPassword.

O Fabric é compatível com os controladores nativos da Microsoft, incluindo OLE DB, Microsoft.Data.SqlCliente controladores genéricos, tais como ODBC e JDBC. A transição para que os aplicativos trabalhem com o Fabric pode ser gerenciada por meio da reconfiguração para usar a autenticação baseada em ID do Microsoft Entra.

Para mais informações, consulte Conectividade com o Fabric Data Warehouse.

Microsoft OLE DB

O driver OLE DB para SQL Server é uma API de acesso a dados autônoma projetada para OLE DB e lançada pela primeira vez com o SQL Server 2005 (9.x). Desde então, os recursos expandidos incluem autenticação baseada em SPN com a versão 18.5.0, adicionando aos métodos de autenticação existentes de versões anteriores.

Modo de autenticação Cadeia de conexão SQL
Microsoft Entra Interactive Autenticação interativa do Microsoft Entra
Microsoft Entra Service Principal Autenticação do principal de serviço do Microsoft Entra
Palavra-passe do Microsoft Entra Autenticação de nome de usuário e senha do Microsoft Entra

Para obter um trecho de código C# usando OLE DB com autenticação baseada em SPN, consulte System.Data.OLEDB.Connect.cs.

Microsoft ODBC Driver

O driver ODBC da Microsoft para SQL Server é uma única biblioteca de vínculo dinâmico (DLL) que contém suporte em tempo de execução para aplicativos que usam APIs de código nativo para se conectar ao SQL Server. Recomenda-se usar a versão mais recente para que os aplicativos se integrem ao Fabric.

Para obter mais informações sobre a autenticação do Microsoft Entra com ODBC, consulte Usando a ID do Microsoft Entra com o código de exemplo do driver ODBC.

Modo de Autenticação Cadeia de conexão SQL
Microsoft Entra Interactive DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive
Microsoft Entra Service Principal DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Palavra-passe do Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

Para obter um trecho de código python usando ODBC com autenticação baseada em SPN, consulte pyodbc-dw-connectivity.py.

Controlador JDBC da Microsoft

O Microsoft JDBC Driver for SQL Server é um driver JDBC Tipo 4 que fornece conectividade de banco de dados por meio das interfaces de programa de aplicativo (APIs) JDBC padrão disponíveis na plataforma Java.

A partir da versão 9.2, mssql-jdbc introduz suporte para ActiveDirectoryInteractive e ActiveDirectoryServicePrincipal, sendo ActiveDirectoryPassword suportado nas versões 12.2 e superiores. Este controlador requer ficheiros JAR adicionais como dependências, que devem ser compatíveis com a versão do mssql-driver utilizada na sua aplicação. Para obter mais informações, consulte Dependências de recursos do Microsoft JDBC Driver e Requisito de configuração do cliente.

Modo de Autenticação Mais informações
Microsoft Entra Interactive Conectar-se usando o modo de autenticação ActiveDirectoryInteractive
Microsoft Entra Service Principal Conectar-se usando o modo de autenticação ActiveDirectoryServicePrincipal
Palavra-passe do Microsoft Entra Conectar-se usando o modo de autenticação ActiveDirectoryPassword

Para obter um trecho de código java usando JDBC com autenticação baseada em SPN, consulte fabrictoolbox/dw_connect.java e exemplo de arquivo pom pom.xml.

Microsoft.Data.SqlClient no .NET

Esta biblioteca Microsoft.Data.SqlClient é o provedor de dados mais recente e multiplataforma para o SQL Server, destinado a substituir o mais antigo System.Data.SqlClient , que era somente Windows.

Plataformas suportadas:

  • .NET 8.0 e posterior
  • .NET Framework 4.6.2 e posterior

O namespace Microsoft.Data.SqlClient é uma união dos dois System.Data.SqlClient componentes, fornecendo um conjunto de classes para acessar bancos de dados do Mecanismo de Banco de Dados SQL. Microsoft.Data.SqlClient é recomendado para todos os novos desenvolvimentos.

Modo de Autenticação Mais informações
Microsoft Entra Interactive Usando autenticação interativa
Microsoft Entra Service Principal Usando a autenticação da entidade de serviço
Palavra-passe do Microsoft Entra Usando autenticação de senha

Trechos de código usando SPNs: