Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
- SQL Server 2022
- SQL Server 2025
Azure SQL Database & Azure SQL Managed Instance - SQL Server em VMs Azure
Este artigo mostra-lhe como usar Microsoft Entra ID para autenticação com Azure SQL Database, Azure SQL Managed Instance e Azure Synapse Analytics.
Observação
Microsoft Entra ID era anteriormente conhecido como Azure Active Directory (Azure d.C.).
Alternativamente, também pode configurar a autenticação do Microsoft Entra para o SQL Server on Azure Virtual Machines.
Pré-requisitos
Para usar autenticação Microsoft Entra com o seu recurso Azure SQL, precisa dos seguintes pré-requisitos:
- Um locatário Microsoft Entra povoado com utilizadores e grupos.
- Um recurso Azure SQL existente, como Azure SQL Database, ou Azure SQL Managed Instance.
Crie e configure um tenant Microsoft Entra
Antes de poder configurar a autenticação Microsoft Entra para o seu recurso Azure SQL, precisa de criar um tenant Microsoft Entra e preenchê-lo com utilizadores e grupos. As instâncias Microsoft Entra podem ser geridas inteiramente dentro do Azure ou usadas para a federação de um serviço de Active Directory Domain Services no local.
Para obter mais informações, consulte:
- O que é Microsoft Entra ID?
- Integração das suas identidades locais com Microsoft Entra ID
- Adicione o seu nome de domínio a Microsoft Entra ID
- O que é federação com Microsoft Entra ID?
- sincronização de diretórios com Microsoft Entra ID
- Gerir Microsoft Entra ID usando Windows PowerShell
- Portas e protocolos necessários de identidade híbrida
Definir administrador do Microsoft Entra
Para usar a autenticação Microsoft Entra com o seu recurso, é necessário ter o administrador Microsoft Entra configurado. Embora conceptualmente os passos sejam os mesmos para o Azure SQL Database, Azure Synapse Analytics e Azure SQL Managed Instance, esta secção descreve em detalhe as diferentes APIs e experiências de portais para o fazer por produto.
O administrador do Microsoft Entra também pode ser configurado quando o recurso Azure SQL é criado. Se um administrador Microsoft Entra já estiver configurado, salte esta secção.
Azure SQL Database e Azure Synapse Analytics
Configurar o administrador do Microsoft Entra permite a autenticação do Microsoft Entra para o seu Servidor lógico para o Azure SQL Database e o Azure Synapse Analytics. Pode definir um administrador Microsoft Entra para o seu servidor usando o portal Azure, PowerShell, Azure CLI ou APIs REST.
No portal Azure, pode encontrar o nome do servidor lógico
- No campo nome do servidor na página Visão Geral da Azure SQL Database.
- No campo nome do servidor na página Overview do seu pool SQL dedicado independente em Azure Synapse Analytics.
- No endpoint SQL relevante na página Visão Geral do seu espaço de trabalho do Azure Synapse Analytics.
Para definir o administrador Microsoft Entra para o seu servidor lógico no portal Azure, siga estes passos:
No portal Azure Directories + subscrições, escolha o diretório que contém o seu recurso de Azure SQL como Diretório Atual.
Procure servidores SQL e, em seguida, selecione o servidor lógico para o recurso de banco de dados para abrir o painel do servidor SQL .
No painel SQL server do seu servidor lógico, selecione Microsoft Entra ID em Settings para abrir o painel Microsoft Entra ID.
No painel Microsoft Entra ID, selecione Set admin para abrir o painel Microsoft Entra ID.
O painel Microsoft Entra ID mostra todos os utilizadores, grupos e aplicações no seu diretório atual e permite-lhe pesquisar por nome, alias ou ID. Encontre a identidade desejada para o administrador do Microsoft Entra e selecione-a, depois selecione Select para fechar o painel.
No topo da página Microsoft Entra ID do seu servidor lógico, selecione Save.
O ID do Objeto é exibido ao lado do nome do administrador para Microsoft Entra utilizadores e grupos. Para aplicativos (entidades de serviço), a ID do aplicativo é exibida.
O processo de mudança de administrador pode levar vários minutos. Depois, o novo administrador aparece no campo Microsoft Entra admin.
Para remover o admin, no topo da página Microsoft Entra ID, selecione Remover admin, depois selecione Save. Remover o administrador do Microsoft Entra desativa a autenticação do Microsoft Entra para o seu servidor lógico.
Observação
O administrador do Microsoft Entra é armazenado na base de dados master do servidor como um utilizador (entidade principal da base de dados). Como os nomes principais do banco de dados devem ser exclusivos, o nome para exibição do administrador não pode ser o mesmo que o nome de qualquer usuário no banco de dados do master servidor. Se um utilizador com esse nome já existir, a configuração de administrador do Microsoft Entra falha e anula-se, indicando que o nome do utilizador já está em uso.
Instância Gerida do Azure SQL
Definir o administrador Microsoft Entra permite a autenticação Microsoft Entra para Azure SQL Managed Instance. Pode definir um administrador Microsoft Entra para a sua instância gerida SQL usando o portal Azure, PowerShell, Azure CLI ou APIs REST.
Para conceder permissões de leitura à sua instância SQL gerida ao Microsoft Entra ID usando o portal Azure, registar-se como Administrador de Papéis Privilegiados e siga estes passos:
No portal Azure, no canto superior direito, selecione a sua conta e depois selecione Mudar diretórios para confirmar qual diretório é o seu Diretório Atual. Mude de diretório, se necessário.
No Azure portal Diretórios + subscrições, selecione o diretório que contém a instância gerida como diretório atual.
Pesquise instâncias gerenciadas SQL e selecione sua instância gerenciada para abrir o painel de instância gerenciada SQL . Depois, seleciona Microsoft Entra ID em Settings para abrir o painel Microsoft Entra ID da tua instância.
No painel Microsoft Entra admin, selecione Set admin na barra de navegação para abrir o painel Microsoft Entra ID.
No painel Microsoft Entra ID, procura um utilizador, assinala a caixa ao lado do utilizador ou grupo para ser administrador, e depois carrega em Select para fechar o painel e voltar à página Microsoft Entra admin da tua instância gerida.
O painel Microsoft Entra ID mostra todos os membros e grupos dentro do seu diretório atual. Utilizadores ou grupos destacados a cinzento não podem ser selecionados porque não são suportados como administradores do Microsoft Entra. Selecione a identidade que deseja atribuir como administrador.
Na barra de navegação da página Microsoft Entra admin da sua instância gerida, selecione Save para confirmar o seu administrador Microsoft Entra.
Após a conclusão da operação de mudança de administrador, o novo administrador aparece no campo de administração do Microsoft Entra.
O ID do Objeto é exibido ao lado do nome do administrador para Microsoft Entra utilizadores e grupos. Para aplicativos (entidades de serviço), a ID do aplicativo é exibida.
Sugestão
Para remover o admin, selecione Remover admin no topo da página de Microsoft Entra ID, depois selecione Save.
Atribuir permissões ao Microsoft Graph
O SQL Managed Instance necessita de permissões para ler o Microsoft Entra ID em cenários como autorizar utilizadores que se liguem através da pertença a grupos de segurança e criação de novos utilizadores. Para a autenticação do Microsoft Entra funcionar, é necessário atribuir a identidade da instância gerida à função Directory Readers. Pode fazer isto usando o portal do Azure ou o PowerShell.
Para algumas operações, Azure SQL Database e Azure Synapse Analytics também requerem permissões para consultar Microsoft Graph, explicado em permissões Microsoft Graph. Azure SQL Database e Azure Synapse Analytics suportam permissões granulares de grafo para estes cenários, enquanto SQL Managed Instance requer a função Leitores de Diretório. Permissões de grão fino e a sua atribuição são descritas em detalhe no documento permitir que os principais de serviço criem utilizadores Microsoft Entra.
Importante
Azure SQL Database e SQL Managed Instance usam modelos de permissões diferentes para o acesso Microsoft Graph:
-
Azure SQL Database e Azure Synapse Analytics: Suportam permissões Graph API Microsoft detalhadas (como
User.Read.All,GroupMember.Read.AlleApplication.Read.All) atribuídas diretamente à identidade do servidor. Esta abordagem segue o princípio do menor privilégio e é recomendada. Para instruções passo a passo, veja Permitir que as entidades de serviço criem utilizadores Microsoft Entra. O papel de Leitor do Diretório também pode ser usado como uma opção mais abrangente. - SQL Managed Instance: Requer o papel de Directory Readers ou permissões granulares equivalentes do Microsoft Graph atribuídas à identidade da instância. O portal Azure fornece um banner conveniente na página Microsoft Entra ID que solicita que conceda a função de Leitores do Diretório. Siga os passos na secção Função de Leitores do Diretório.
Se estiveres a configurar Azure SQL Database, não precisas de atribuir o papel de Leitores de Diretórios para a configuração básica de administração Microsoft Entra. Em vez disso, atribua as permissões do Microsoft Graph detalhadas à identidade do servidor conforme descrito em Identidades Geridas no Microsoft Entra para Azure SQL.
Função Leitores de Diretório
A função Leitores de Diretório e o banner do portal descrito nesta secção aplica-se principalmente à SQL Managed Instance. Para o Azure SQL Database, pode atribuir permissões Microsoft Graph granulares em vez disso, ou opcionalmente usar Leitores de Diretórios como uma alternativa mais ampla.
A página Microsoft Entra ID para SQL Managed Instance no portal Azure mostra um banner conveniente quando a instância não tem permissões atribuídas ao Leitor de Diretório.
Selecione o banner no topo da página Microsoft Entra ID e conceda permissão à identidade gerida atribuída pelo sistema ou pelo utilizador que representa a sua instância. Apenas um Administrador de Funções Privilegiadas ou uma função superior no seu locatário pode realizar esta operação.
Observação
Se não vires o banner, a instância pode já ter atribuído o papel de Leitores de Diretório, ou podes não ter o papel exigido de Administrador de Funções Privilegiadas . Se não tiver esta função, peça ao administrador do inquilino para conceder a permissão, ou use o método PowerShell no separador PowerShell .
Quando a operação é bem-sucedida, uma notificação de Êxito é exibida no canto superior direito:
O administrador do Microsoft Entra pode agora ser usado para criar princípios de servidor Microsoft Entra (logins) e princípios de base de dados (utilizadores). Para mais informações, consulte a integração do Microsoft Entra com Azure SQL Managed Instance.
Criar entidades do Microsoft Entra em SQL
Para se ligar a uma base de dados em SQL Database ou Azure Synapse Analytics com autenticação Microsoft Entra, tem de ser configurado um principal na base de dados para essa identidade com pelo menos a permissão CONNECT.
Permissões de usuário do banco de dados
Quando um usuário de banco de dados é criado, ele recebe a CONNECT permissão para o banco de dados por padrão. Um usuário de banco de dados também herda permissões em duas circunstâncias:
- Se o utilizador for membro de um grupo Microsoft Entra, isso também tem permissões atribuídas ao servidor.
- Se o usuário for criado a partir de um login, ele herdará as permissões atribuídas ao servidor do login aplicável no banco de dados.
Gerir permissões para princípios de servidor e base de dados funciona da mesma forma independentemente do tipo de princípio (Microsoft Entra ID, autenticação SQL, etc.). Recomendamos conceder permissões para funções de banco de dados em vez de conceder permissões diretamente aos usuários. Em seguida, os usuários podem ser adicionados a funções com permissões apropriadas. Isso simplifica o gerenciamento de permissões de longo prazo e reduz a probabilidade de uma identidade reter o acesso além do momento apropriado.
Para obter mais informações, consulte:
- Permissões e exemplos do mecanismo de banco de dados
- Blog: Princípios básicos das permissões do Database Engine
- Gestão de bases de dados especiais, funções e logins em Azure SQL Database
Utilizadores contidos na base de dados
Um usuário de banco de dados contido é um tipo de usuário SQL que não está conectado a um logon no master banco de dados. Para criar um utilizador contido na base de dados Microsoft Entra, ligue-se à base de dados com uma identidade Microsoft Entra que tenha pelo menos a permissão **QUAISQUER UTILIZADOR**. O exemplo seguinte de T-SQL cria um principal de base de dados Microsoft_Entra_principal_name do Microsoft Entra ID.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Para criar um utilizador de base de dados contido para um grupo Microsoft Entra, introduza o nome de exibição do grupo:
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
Para criar um usuário de banco de dados contido para uma identidade gerenciada ou entidade de serviço, insira o nome para exibição da identidade:
CREATE USER [appName] FROM EXTERNAL PROVIDER;
Para criar um utilizador de base de dados contido para um utilizador da Microsoft Entra, introduza o nome principal do utilizador da identidade:
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Utilizadores baseados em login
Observação
Microsoft Entra principais de servidor (logins) estão atualmente em versão prévia pública para Azure SQL Database e Azure Synapse Analytics. Os logins do Microsoft Entra estão geralmente disponíveis para Azure SQL Managed Instance e SQL Server 2022.
Microsoft Entra princípios de servidor (ou logins) são suportados, o que significa que utilizadores de base de dados contidos não são necessários. Os princípios da base de dados (utilizadores) podem ser criados com base num principal de servidor, o que significa que os utilizadores da Microsoft Entra podem herdar permissões atribuídas ao nível do servidor para um login.
CREATE USER [appName] FROM LOGIN [appName];
Para mais informações, consulte SQL Managed Instance visão geral. Para sintaxe na criação de princípios de servidor Microsoft Entra (logins), veja CREATE LOGIN.
Utilizadores externos
Não pode criar diretamente um utilizador de base de dados para uma identidade gerida num tenant Microsoft Entra diferente daquele associado à sua subscrição do Azure. No entanto, os usuários em outros diretórios podem ser importados para o diretório associado como usuários externos. Eles podem ser usados para criar usuários de banco de dados contidos que podem acessar o banco de dados. Utilizadores externos também podem aceder através da adesão a grupos Microsoft Entra.
Exemplos: Para criar um utilizador de base de dados isolado que represente um utilizador de domínio federado ou gerido pelo Microsoft Entra:
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
Uma conta de usuário de domínio federado importada para um domínio gerenciado como um usuário externo deve usar a identidade de domínio gerenciado.
Considerações sobre o nome
Não há suporte para caracteres especiais como dois pontos : ou e comercial & quando incluídos como nomes de usuário nas instruções T-SQL CREATE LOGIN e CREATE USER.
O Microsoft Entra ID e o Azure SQL divergem no seu design de gestão de utilizadores de uma forma fundamental: o Microsoft Entra ID permite a duplicação de nomes de exibição dentro de um inquilino, enquanto o Azure SQL exige que todos os principais de servidor em um servidor ou instância e todos os principais de base de dados em uma base de dados tenham um nome único. Como o Azure SQL utiliza diretamente o nome de exibição Microsoft Entra da identidade ao criar princípios, isto pode resultar em erros ao criar utilizadores. Para resolver este problema, a Azure SQL lançou a melhoria WITH OBJECT_ID atualmente em pré-visualização, que permite aos utilizadores especificar o ID do objeto Microsoft Entra da identidade a ser adicionada ao servidor ou instância.
Permissões do Microsoft Graph
O comando CREATE USER ... FROM EXTERNAL PROVIDER requer que o Azure SQL aceda ao Microsoft Entra ID (o "fornecedor externo") em nome do utilizador que iniciou sessão. Por vezes, surgem circunstâncias que fazem com que o Microsoft Entra ID devolva uma exceção ao Azure SQL.
- Pode encontrar o erro SQL 33134, que contém a mensagem de erro específica do Microsoft Entra ID. O erro geralmente diz que o acesso é negado, que o usuário deve se inscrever no MFA para acessar o recurso ou que o acesso entre aplicativos primários deve ser tratado por meio de pré-autorização. Nos dois primeiros casos, o problema é geralmente causado por políticas de Acesso Condicional definidas no inquilino Microsoft Entra do utilizador: impedem o utilizador de aceder ao fornecedor externo. Atualizar as políticas de Acesso Condicional para permitir o acesso à aplicação '00000003-0000-0000-c000-00000000000' (o ID da aplicação da Microsoft Graph API) deverá resolver o problema. Se o erro disser que o acesso entre aplicações de primeiro plano deve ser tratado por meio de pré-autorização, o problema é porque o utilizador está conectado como um principal de serviço. O comando deve ter êxito se for executado por um usuário.
- Caso receba um Connection Timeout Expired, pode ser necessário definir o parâmetro da cadeia de conexão
TransparentNetworkIPResolutionpara falso. Para mais informações, consulte Problema de tempo de expiração de ligação com .NET Framework 4.6.1 - TransparentNetworkIPResolution.
Para mais informações sobre como criar utilizadores de bases de dados contidas com base em identidades Microsoft Entra, veja CRIAR UTILIZADOR.
Configurar autenticação multifator
Para melhorar a segurança do seu recurso Azure SQL, considere configurar <>autenticação multifator (MFA), que incentiva o utilizador a usar um segundo método alternativo para autenticar na base de dados, como uma chamada telefónica ou uma aplicação autenticadora.
Para usar autenticação multifator com o seu recurso de Azure SQL, primeiro ativa autenticação multifator, e depois use uma política de acesso condicional Conditional access para impor MFA ao seu recurso Azure SQL.
Ligue-se à Microsoft Entra
Depois de a autenticação do Microsoft Entra estar configurada, pode usá-la para ligar-se ao seu recurso SQL com ferramentas da Microsoft como o SQL Server Management Studio e o SQL Server Data Tools, e configurar aplicações cliente para se ligarem usando as identidades do Microsoft Entra.
Solucionar a autenticação do Microsoft Entra
Para orientações sobre resolução de problemas, consulte Blog: Resolução de problemas relacionados com autenticação Microsoft Entra com Azure SQL Database e Azure Synapse.
Conteúdo relacionado
- Autorizar o acesso à base de dados SQL, SQL Managed Instance e Azure Synapse Analytics
- Identidades geridas em Microsoft Entra para Azure SQL
- Entidades de serviço do Microsoft Entra para o Azure SQL
- Princípios
- Funções do banco de dados
- Regras de firewall de IP do Azure SQL Database e do Azure Synapse
- Criar Microsoft Entra utilizadores convidados e defini-los como administradores Microsoft Entra
- Tutorial: Criar utilizadores Microsoft Entra usando aplicações Microsoft Entra