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:Banco de Dados
SQL do AzureInstância
Gerenciada SQL do AzureAzure Synapse Analytics
Este artigo mostra como usar a ID do Microsoft Entra para autenticação com o Banco de Dados SQL do Azure, a Instância Gerenciada SQL do Azure e o Azure Synapse Analytics.
Observação
O Microsoft Entra ID era conhecido anteriormente como Azure Ative Directory (Azure AD).
Como alternativa, você também pode configurar a autenticação do Microsoft Entra para o SQL Server em Máquinas Virtuais do Azure.
Pré-requisitos
Para usar a autenticação do Microsoft Entra com seu recurso SQL do Azure, você precisa dos seguintes pré-requisitos:
- Um locatário do Microsoft Entra preenchido com usuários e grupos.
- Um recurso SQL do Azure existente, como o Banco de Dados SQL do Azure ou a Instância Gerenciada do SQL do Azure.
Criar e preencher um locatário do Microsoft Entra
Antes de configurar a autenticação do Microsoft Entra para seu recurso SQL do Azure, você precisa criar um locatário do Microsoft Entra e preenchê-lo com usuários e grupos. Os locatários do Microsoft Entra podem ser gerenciados inteiramente no Azure ou usados para a federação de um Serviço de Domínio Ative Directory local.
Para obter mais informações, consulte:
- O que é o Microsoft Entra ID?
- Integrando suas identidades locais com o Microsoft Entra ID
- Adicione o seu nome de domínio ao Microsoft Entra ID
- O que é federação com o Microsoft Entra ID?
- Sincronização de diretórios com o Microsoft Entra ID
- Gerenciar o Microsoft Entra ID usando o Windows PowerShell
- Portas e protocolos necessários de identidade híbrida
Definir o administrador do Microsoft Entra
Para usar a autenticação do Microsoft Entra com seu recurso, ele precisa ter o administrador do Microsoft Entra definido. Embora conceitualmente as etapas sejam as mesmas para o Banco de Dados SQL do Azure, o Azure Synapse Analytics e a Instância Gerenciada SQL do Azure, esta seção descreve em detalhes as diferentes APIs e experiências de portal para fazer isso por produto.
O administrador do Microsoft Entra também pode ser configurado quando o recurso SQL do Azure é criado. Se um administrador do Microsoft Entra já estiver configurado, ignore esta seção.
Banco de Dados SQL do Azure e Azure Synapse Analytics
A configuração do administrador do Microsoft Entra habilita a autenticação do Microsoft Entra para seu servidor lógico para o Banco de Dados SQL do Azure e o Azure Synapse Analytics. Você pode definir um administrador do Microsoft Entra para seu servidor usando o portal do Azure, PowerShell, CLI do Azure ou APIs REST.
No portal do Azure, você pode encontrar o nome do servidor lógico
- No campo nome do servidor na página Visão geral do Banco de Dados SQL do Azure.
- No campo Nome do servidor na página Visão geral do seu pool SQL dedicado autônomo no Azure Synapse Analytics.
- No ponto de extremidade SQL relevante na página Visão geral do seu espaço de trabalho do Azure Synapse Analytics.
Para definir o administrador do Microsoft Entra para o seu servidor lógico no portal do Azure, siga estes passos:
No painel Diretórios + assinaturas do portal do Azure, escolha o diretório que contém seu recurso SQL do Azure como o 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 do servidor SQL do seu servidor lógico, selecione ID do Microsoft Entra em Configurações para abrir o painel ID do Microsoft Entra .
No painel ID do Microsoft Entra , selecione Definir administrador para abrir o painel ID do Microsoft Entra .
O painel ID do Microsoft Entra mostra todos os usuários, grupos e aplicativos em seu diretório atual e permite que você pesquise por nome, alias ou ID. Encontre a identidade desejada para o administrador do Microsoft Entra e selecione-a e, em seguida, selecione Selecionar para fechar o painel.
Na parte superior da página ID do Microsoft Entra para seu servidor lógico, selecione Salvar.
A ID do objeto é exibida ao lado do nome do administrador para usuários e grupos do Microsoft Entra. Para aplicativos (entidades de serviço), a ID do aplicativo é exibida.
O processo de mudança de administrador pode levar vários minutos. Em seguida, o novo administrador aparece no campo admin do Microsoft Entra .
Para remover o administrador, na parte superior da página ID do Microsoft Entra , selecione Remover administrador e, em seguida, selecione Guardar. A remoção do 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 no banco de master dados do servidor como um usuário (entidade de banco 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 já existir um usuário com o nome, a configuração do administrador do Microsoft Entra falhará e será revertida, indicando que o nome já está em uso.
Azure SQL Managed Instance
A configuração do administrador do Microsoft Entra habilita a autenticação do Microsoft Entra para a Instância Gerenciada SQL do Azure. Você pode definir um administrador do Microsoft Entra para sua instância gerenciada do SQL usando o portal do Azure, PowerShell, CLI do Azure ou APIs REST.
Para conceder à sua instância gerenciada SQL permissões de leitura para o Microsoft Entra ID usando o portal do Azure, entre como um Administrador de Função Privilegiada e siga estas etapas:
No portal do Azure, no canto superior direito, selecione sua conta e escolha Alternar diretórios para confirmar qual diretório é seu diretório atual. Mude de diretório, se necessário.
No painel Diretórios + assinaturas do portal do Azure, escolha o diretório que contém sua instância gerenciada como o diretório Atual.'''
Pesquise instâncias gerenciadas SQL e selecione sua instância gerenciada para abrir o painel de instância gerenciada SQL . Em seguida, selecione ID do Microsoft Entra em Configurações para abrir o painel ID do Microsoft Entra para sua instância.
No painel de administração do Microsoft Entra , selecione Definir administrador na barra de navegação para abrir o painel ID do Microsoft Entra .
No painel ID do Microsoft Entra , procure um usuário, marque a caixa ao lado do usuário ou grupo para ser um administrador e pressione Selecionar para fechar o painel e voltar para a página de administração do Microsoft Entra para sua instância gerenciada.
O painel ID do Microsoft Entra mostra todos os membros e grupos dentro do diretório atual. Não é possível selecionar usuários ou grupos acinzentados porque não há suporte para administradores do Microsoft Entra. Selecione a identidade que deseja atribuir como administrador.
Na barra de navegação da página de administração do Microsoft Entra para sua instância gerenciada, selecione Salvar para confirmar o administrador do Microsoft Entra.
Após a conclusão da operação de alteração de administrador, o novo administrador aparece no campo admin do Microsoft Entra.
A ID do objeto é exibida ao lado do nome do administrador para usuários e grupos do Microsoft Entra. Para aplicativos (entidades de serviço), a ID do aplicativo é exibida.
Sugestão
Para remover o administrador, selecione Remover administrador na parte superior da página ID do Microsoft Entra e, em seguida, selecione Salvar.
Atribuir permissões do Microsoft Graph
A Instância Gerenciada SQL precisa de permissões para ler a ID do Microsoft Entra para cenários como autorizar usuários que se conectam por meio da associação ao grupo de segurança e da criação de novos usuários. Para que a autenticação do Microsoft Entra funcione, você precisa atribuir a identidade da instância gerenciada à função Leitores de Diretório . Você pode fazer isso usando o portal do Azure ou o PowerShell.
Para algumas operações, o Banco de Dados SQL do Azure e o Azure Synapse Analytics também exigem permissões para consultar o Microsoft Graph, explicado nas permissões do Microsoft Graph. O Banco de Dados SQL do Azure e o Azure Synapse Analytics oferecem suporte a permissões de Gráfico refinadas para esses cenários, enquanto a Instância Gerenciada do SQL requer a função Leitores de Diretório . As permissões refinadas e sua atribuição são descritas em detalhes em permitir que as entidades de serviço criem usuários do Microsoft Entra.
Função Leitores de Diretório
A página ID do Microsoft Entra para Instância Gerenciada SQL no portal do Azure exibe um banner conveniente quando a instância não recebe as permissões de Leitor de Diretório.
Selecione o banner na parte superior da página ID do Microsoft Entra e conceda permissão à identidade gerenciada atribuída pelo sistema ou pelo usuário que representa sua instância. Somente um Administrador de Função Privilegiada ou uma função superior em seu locatário pode executar essa operação.
Quando a operação é bem-sucedida, uma notificação de Êxito é exibida no canto superior direito:
O administrador do Microsoft Entra agora pode ser usado para criar entidades de servidor Microsoft Entra (logins) e entidades de banco de dados (usuários). Para obter mais informações, consulte Integração do Microsoft Entra com a Instância Gerenciada SQL do Azure.
Criar entidades do Microsoft Entra em SQL
Para se conectar a um banco de dados no Banco de Dados SQL ou no Azure Synapse Analytics com autenticação do Microsoft Entra, uma entidade de segurança deve ser configurada no banco de dados para essa identidade com pelo menos a CONNECT permissão.
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 usuário for membro de um grupo do Microsoft Entra que também tenha permissões atribuídas no 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.
O gerenciamento de permissões para entidades de servidor e banco de dados funciona da mesma forma, independentemente do tipo de entidade (ID do Microsoft Entra, 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 passado quando apropriado.
Para obter mais informações, consulte:
- Permissões e exemplos do mecanismo de banco de dados
- Blog: Noções básicas de permissão do Mecanismo de Banco de Dados
- Gerir bases de dados, funções e inícios de sessão especiais na Base de Dados SQL do Azure
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 do Microsoft Entra no banco de dados, conecte-se ao banco de dados com uma identidade do Microsoft Entra que tenha, pelo menos, a permissão ANY USER**. O exemplo de T-SQL a seguir cria uma entidade Microsoft_Entra_principal_name de banco de dados a partir do Microsoft Entra ID.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Para criar um usuário de banco de dados contido para um grupo do Microsoft Entra, digite o nome para 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 usuário de banco de dados contido para um usuário do Microsoft Entra, digite o nome principal do usuário da identidade:
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Utilizadores baseados em início de sessão
Observação
As entidades de servidor (logons) do Microsoft Entra estão atualmente em visualização pública para o Banco de Dados SQL do Azure e o Azure Synapse Analytics. Os logons do Microsoft Entra estão geralmente disponíveis para a Instância Gerenciada SQL do Azure e o SQL Server 2022.
As entidades de servidor (ou logins) do Microsoft Entra são suportadas, o que significa que os usuários de banco de dados contidos não são necessários. As entidades de banco de dados (usuários) podem ser criadas com base em uma entidade de servidor, o que significa que os usuários do Microsoft Entra podem herdar permissões atribuídas no nível do servidor de um login.
CREATE USER [appName] FROM LOGIN [appName];
Para obter mais informações, consulte Visão geral da instância gerenciada SQL. Para obter a sintaxe sobre a criação de entidades de servidor do Microsoft Entra (logons), consulte CREATE LOGIN.
Utilizadores externos
Não é possível criar diretamente um usuário de banco de dados para uma identidade gerenciada em um locatário do Microsoft Entra diferente daquele associado à sua assinatura 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. Os usuários externos também podem obter acesso por meio da associação a grupos do Microsoft Entra.
Exemplos: Para criar um usuário de banco de dados contido representando um usuário de domínio federado ou gerenciado do 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 no T-SQL CREATE LOGIN e CREATE USER instruções.
O Microsoft Entra ID e o Azure SQL divergem em seu design de gerenciamento de usuários de uma maneira fundamental: o Microsoft Entra ID permite que nomes de exibição sejam duplicados dentro de um locatário, enquanto o SQL do Azure exige que todas as entidades de servidor em um servidor ou instância e todas as entidades de banco de dados em um banco de dados tenham um nome exclusivo. Como o SQL do Azure usa diretamente o nome de exibição do Microsoft Entra da identidade ao criar entidades de segurança, isso pode resultar em erros ao criar usuários. Para resolver esse problema, o SQL do Azure lançou o WITH OBJECT_ID aprimoramento atualmente em visualização, que permite que os usuários especifiquem a ID do objeto Microsoft Entra da identidade que está sendo adicionada ao servidor ou instância.
Permissões do Microsoft Graph
O CREATE USER ... FROM EXTERNAL PROVIDER comando requer acesso SQL do Azure à ID do Microsoft Entra (o "provedor externo") em nome do usuário conectado. Às vezes, surgem circunstâncias que fazem com que o Microsoft Entra ID retorne uma exceção ao Azure SQL.
- Você 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 locatário do Microsoft Entra do usuário: elas impedem que o usuário acesse o provedor externo. A atualização das políticas de Acesso Condicional para permitir o acesso ao aplicativo '00000003-0000-0000-c000-0000000000000' (a ID do aplicativo da API do Microsoft Graph) deve resolver o problema. Se o erro disser que o acesso entre aplicativos primários deve ser tratado por meio de pré-autorização, o problema é porque o usuário está conectado como uma entidade de serviço. O comando deve ter êxito se for executado por um usuário.
- Se você receber um Tempo Limite de Conexão Expirado, talvez seja necessário definir o
TransparentNetworkIPResolutionparâmetro da cadeia de conexão como false. Para obter mais informações, consulte Problema de tempo limite de conexão com o .NET Framework 4.6.1 - TransparentNetworkIPResolution.
Para obter mais informações sobre como criar usuários de banco de dados contidos com base em identidades do Microsoft Entra, consulte CREATE USER.
Configurar autenticação multifator
Para melhorar a segurança do seu recurso SQL do Azure, considere configurar a autenticação multifator (MFA), que solicita que o usuário use um segundo método alternativo para autenticar no banco de dados, como uma chamada telefônica ou um aplicativo autenticador.
Para usar a autenticação multifator com seu recurso SQL do Azure, primeiro habilite a autenticação multifator e, em seguida, use uma política de acesso condicional para impor MFA para seu recurso SQL do Azure.
Conecte-se com o Microsoft Entra
Depois que a autenticação do Microsoft Entra tiver sido configurada, você poderá usá-la para se conectar ao seu recurso SQL com ferramentas da Microsoft, como o SQL Server Management Studio e o SQL Server Data Tools, e configurar aplicativos cliente para se conectarem usando identidades do Microsoft Entra.
Solucionar problemas de autenticação do Microsoft Entra
Para obter orientação sobre como solucionar problemas, consulte Blog: Solucionando problemas relacionados à autenticação do Microsoft Entra com o Banco de Dados SQL do Azure e o Azure Synapse.
Conteúdo relacionado
- Autorizar o acesso ao banco de dados ao Banco de Dados SQL, à Instância Gerenciada SQL e ao Azure Synapse Analytics
- Princípios
- Funções do banco de dados
- Regras de firewall do Banco de Dados SQL do Azure e do Azure Synapse IP
- Crie usuários convidados do Microsoft Entra e defina-os como um administrador do Microsoft Entra
- Tutorial: Criar usuários do Microsoft Entra usando aplicativos do Microsoft Entra