Migre para o Innovate Summit:
Saiba como a migração e a modernização para o Azure podem aumentar o desempenho, a resiliência e a segurança da sua empresa, permitindo que você adote totalmente a IA.Registrar agora
Não há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Este artigo ensina você a habilitar a autenticação do Microsoft Entra ID (antigo Azure Active Directory) para o SQL Server em VMs (máquinas virtuais) do Azure.
Visão geral
A partir do SQL Server 2022, você pode se conectar ao SQL Server nas VMs do Azure usando um dos seguintes métodos de autenticação de identidade do Microsoft Entra:
Senha oferece autenticação com credenciais do Microsoft Entra
Universal com MFA adiciona a autenticação multifator
Entidade de serviço habilita a autenticação a partir de Aplicativos Azure
Identidade Gerenciada habilita a autenticação de aplicativos atribuídos a identidades do Microsoft Entra
Quando você cria um logon do Microsoft Entra para o SQL Server e quando um usuário se conecta usando esse logon, o SQL Server usa uma identidade gerenciada para consultar o Microsoft Graph. Ao habilitar a autenticação do Microsoft Entra ID para seu SQL Server na VM do Azure, você precisa fornecer uma identidade gerenciada que o SQL Server possa usar para se comunicar com o Microsoft Entra ID. Essa identidade gerenciada precisa ter permissões para consultar o Microsoft Graph.
Ao habilitar uma identidade gerenciada para um recurso no Azure, o limite de segurança da identidade é o recurso ao qual ela está anexada. Por exemplo, o limite de segurança de uma máquina virtual com as identidades gerenciadas para recursos do Azure habilitadas é a máquina virtual. Qualquer código em execução nessa VM pode chamar o ponto de extremidade das identidades gerenciadas e solicitar tokens. Ao habilitar uma identidade gerenciada para o SQL Server em VMs do Azure, a identidade é anexada à máquina virtual. Portanto, o limite de segurança é a máquina virtual. A experiência é semelhante a trabalhar com outros recursos que dão suporte a identidades gerenciadas. Para obter mais informações, leia as perguntas frequentes sobre as identidades gerenciadas.
As identidades gerenciadas atribuídas pelo sistema e pelo usuário usadas para a autenticação do Microsoft Entra com o SQL Server em VMs do Azure oferecem os seguintes benefícios:
A Identidade gerenciada atribuída pelo sistema oferece um processo de configuração simplificado. Como a identidade gerenciada tem o mesmo tempo de vida que a máquina virtual, não é necessário excluí-la separadamente quando você exclui a máquina virtual.
A Identidade gerenciada atribuída pelo usuário oferece escalabilidade, pois pode ser anexada e usada para autenticação do Microsoft Entra para vários SQL Server em VMs do Azure.
CLI do Azure 2.48.0 ou posterior se você pretende usar a CLI do Azure para configurar a autenticação do Microsoft Entra para sua VM do SQL Server.
Conceder permissões
A identidade gerenciada que você escolhe para facilitar a autenticação entre o SQL Server e o Microsoft Entra ID precisa ter as três seguintes permissões de aplicativo do Microsoft Graph (funções de aplicativo): User.Read.All, GroupMember.Read.All e Application.Read.All.
Como alternativa, adicionar a identidade gerenciada à função Leitores de diretório do Microsoft Entra concede permissões suficientes. Outra maneira de atribuir a função Leitores de Diretório a uma identidade gerenciada é atribuir a função Leitores de Diretório a um grupo no Microsoft Entra ID. Os proprietários do grupo podem adicionar a identidade gerenciada da Máquina Virtual como um membro desse grupo. Isso minimiza o envolvimento de Administradores globais do Microsoft Entra e delega a responsabilidade aos proprietários do grupo.
Adicionar a identidade gerenciada à função
Esta seção explica como adicionar sua identidade gerenciada à função Leitores de Diretório no Microsoft Entra ID. Você precisa ter privilégios de administrador global para fazer alterações nas atribuições da função Leitores de Diretório. Se não tiver permissão suficiente, trabalhe com o administrador do Microsoft Entra para seguir essas etapas.
Para conceder à identidade gerenciada a permissão da função Leitores de diretório, siga estas etapas:
Digite Leitores de diretório na caixa de pesquisa e selecione a função Leitores de diretório para abrir a página Leitores de Diretório | Atribuições:
Na página Leitores de Diretório | Atribuições, selecione + Adicionar atribuições para abrir a página Adicionar atribuição.
Na página Adicionar atribuições, escolha Nenhum membro selecionado em Selecionar membros para abrir a página Selecionar um membro.
Na página Selecionar um membro, procure a identidade gerenciada que deseja usar com a VM do SQL Server e adicione-a à função Leitores de diretório. Para identidades gerenciadas atribuídas pelo sistema, localize o nome da VM. Use Selecionar para confirmar a identidade e volte à página Adicionar atribuições.
Verifique se você vê a identidade escolhida em Selecionar membros e escolha Avançar.
Verifique se o tipo de atribuição está definido como Ativo e se a caixa ao lado de Atribuído permanentemente está marcada. Insira uma justificativa comercial, como Adição de permissões da função Leitor de Diretório à identidade atribuída pelo sistema para VM2, e selecione Atribuir para salvar as configurações e volte à página Leitores de Diretório | Atribuições.
Na página Leitores de Diretório | Atribuições, confirme se você vê sua identidade recém-adicionada em Leitores de Diretório.
Adicionar permissões de função de aplicativo
Você pode usar o Azure PowerShell para conceder funções de aplicativo a uma identidade gerenciada. Para fazer isso, siga estas etapas:
Observação
Os módulos Azure AD e MSOnline PowerShell estão preteridos desde 30 de março de 2024. Para saber mais, leia a atualização de preterição. Após essa data, o suporte a esses módulos se limitará à assistência à migração para o SDK do Microsoft Graph PowerShell e às correções de segurança. Os módulos preteridos continuarão funcionando até 30 de março de 2025.
Recomendamos migrar para o Microsoft Graph PowerShell para interagir com o Microsoft Entra ID (antigo Azure AD). Para perguntas comuns sobre migração, consulte as Perguntas Frequentes sobre Migração. Observação: as versões 1.0.x do MSOnline poderão sofrer interrupções após 30 de junho de 2024.
Escolha Aplicativos empresariais e, em seguida, selecione Todos os aplicativos em Gerenciar.
Filtre o Tipo de aplicativo por Managed identities.
Selecione a identidade gerenciada e escolha Permissões em Segurança. Você deve conferir as seguintes permissões: User.Read.All, GroupMember.Read.All, Application.Read.All.
Habilitar a comunicação de saída
Para que a autenticação do Microsoft Entra funcione, você precisará do seguinte:
Comunicação de saída do SQL Server para o Microsoft Entra ID e o ponto de extremidade do Microsoft Graph.
Comunicação de saída do cliente SQL para o Microsoft Entra ID.
As configurações de VM padrão do Azure permitem a comunicação de saída com o ponto de extremidade do Microsoft Graph, bem como do Microsoft Entra ID, mas alguns usuários optam por restringir a comunicação de saída usando um firewall no nível do sistema operacional ou o NSG (grupo de segurança de rede) de VNet do Azure.
Os firewalls na VM do SQL Server e qualquer cliente SQL precisam permitir o tráfego de saída nas portas 80 e 443.
A regra NSG de VNet do Azure para a VNet que hospeda sua VM do SQL Server deve ter o seguinte:
Uma marcas de serviço de AzureActiveDirectory.
Intervalos de porta de destino: 80, 443.
Ação definida como Permitir.
Uma prioridade alta (que é um número baixo).
Habilitar a autenticação do Microsoft Entra
Você pode habilitar a autenticação do Microsoft Entra para sua VM do SQL Server usando o portal do Azure ou a CLI do Azure.
Observação
Depois que a autenticação do Microsoft Entra estiver habilitada, você poderá seguir as mesmas etapas nesta seção para alterar a configuração para usar uma identidade gerenciada diferente.
Escolha Habilitar em Autenticação do Microsoft Entra.
Escolha o tipo de identidade gerenciada no menu suspenso: Atribuída pelo sistema ou Atribuída pelo usuário. Se você escolher Atribuída pelo usuário, selecione a identidade que deseja usar para se autenticar no SQL Server na sua VM do Azure no menu suspenso Identidade gerenciada atribuída pelo usuário exibido.
Depois que a autenticação do Microsoft Entra tiver sido habilitada, você poderá seguir as mesmas etapas para alterar qual identidade gerenciada pode autenticar-se em sua VM do SQL Server.
Observação
O erro The selected managed identity does not have enough permissions for Microsoft Entra authentication indica que as permissões não foram atribuídas corretamente à identidade selecionada. Verifique a seção Conceder permissões para atribuir permissões adequadas.
A tabela a seguir lista os comandos da CLI do Azure que você pode usar para trabalhar com a autenticação do Microsoft Entra para seu SQL Server em VMs do Azure.
– Execute antes de habilitar a autenticação do Microsoft Entra para validar a configuração, como para confirmar se a identidade gerenciada tem as permissões necessárias. – Execute depois de habilitar a autenticação do Microsoft Entra para depurar problemas inesperados, como a remoção de uma identidade gerenciada ou a remoção das permissões necessárias para uma identidade gerenciada.
Valide o status da autenticação do Microsoft Entra para o SQL Server em VMs do Azure.
Valide o ambiente Microsoft Entra
Você pode validar se as permissões foram atribuídas corretamente à identidade gerenciada especificada executando o comando az sql vm validate-azure-ad-auth no cliente.
Valide a autenticação do Microsoft Entra com uma identidade gerenciada atribuída pelo sistema:
CLI do Azure
az sql vm validate-azure-ad-auth -n sqlvm -g myresourcegroup
Valide a autenticação do Microsoft Entra com uma identidade gerenciada atribuída:
CLI do Azure
az sql vm validate-azure-ad-auth -n sqlvm -g myresourcegroup
--msi-client-id11111111-2222-3333-4444-555555555555
Habilitar a autenticação do Microsoft Entra
Você pode habilitar a autenticação do Microsoft Entra para o computador especificado executando o comando az sql vm enable-azure-ad-auth.
Supondo que o nome da VM do SQL Server seja sqlvm e seu grupo de recursos seja myResourceGroup, os seguintes exemplos habilitam a autenticação do Microsoft Entra:
Habilite a autenticação do Microsoft Entra com uma identidade gerenciada atribuída pelo sistema usando a validação do lado do cliente:
CLI do Azure
az sql vm enable-azure-ad-auth -n sqlvm -g myresourcegroup
Habilite a autenticação do Microsoft Entra com uma identidade gerenciada atribuída pelo sistema, mas ignore a validação do lado do cliente e conte com a validação do lado do servidor que sempre acontece:
CLI do Azure
az sql vm enable-azure-ad-auth -n sqlvm -g myresourcegroup
--skip-client-validation
Habilite a autenticação do Microsoft Entra com uma identidade gerenciada atribuída pelo usuário e a validação do lado do cliente:
CLI do Azure
az sql vm enable-azure-ad-auth -n sqlvm -g myresourcegroup
--msi-client-id11111111-2222-3333-4444-555555555555
Habilite a autenticação do Microsoft Entra com uma identidade gerenciada atribuída pelo usuário, mas ignore a validação do lado do cliente e conte com a validação do lado do servidor que sempre acontece:
CLI do Azure
az sql vm enable-azure-ad-auth -n sqlvm -g myresourcegroup
--msi-client-id11111111-2222-3333-4444-555555555555--skip-client-validation
Verifique o status da autenticação do Microsoft Entra
Você pode verificar se a autenticação do Microsoft Entra foi habilitada executando o comando az sql vm show --expand *.
O Microsoft Entra ID não estará habilitado se AzureAdAuthenticationSettings de az sql vm show --expand * exibir NULL.
Por exemplo, quando você executa:
CLI do Azure
az sql vm show -n sqlvm -g myresourcegroup --expand *
A seguinte saída indica que a autenticação do Microsoft Entra foi habilitada com uma identidade gerenciada atribuída pelo usuário:
A autenticação do Microsoft Entra só tem suporte com o SQL Server 2022 em execução em VMs do Windows registradas com a extensão do Agente de IaaS do SQL, implantada em qualquer nuvem. Somente há suporte para cenários compatíveis com a extensão Agente de IaaS do SQL, como uma instância padrão ou uma única instância nomeada. Não há suporte a instâncias de Cluster de Failover.
A identidade que você escolhe para se autenticar no SQL Server precisa ter as permissões da função Leitores de diretório no Microsoft Entra ID ou as três seguintes permissões de aplicativo do Microsoft Graph (funções de aplicativo): User.Read.All, GroupMember.Read.All e Application.Read.All.
Depois que a autenticação do Microsoft Entra é habilitada, não há como desativá-la.
Atualmente, não há suporte para a autenticação na VM do SQL Server no Azure por meio da autenticação do Microsoft Entra com o método FIDO2.
Próximas etapas
Confira as melhores práticas de segurança para o SQL Server.
Demonstrar os recursos do Microsoft Entra ID para modernizar as soluções de identidade, implementar soluções híbridas e implementar a governança de identidade.