Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
(somente pools SQL dedicados) do Azure Synapse Analytics
Agora você pode criar e utilizar entidades de servidor do Microsoft Entra ID (anteriormente Azure Ative Directory), que são logons no banco de dados virtual master do Banco de Dados SQL do Azure (Visualização) e da instância SQL Gerenciada do Azure.
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 e posterior.
Há vários benefícios de usar entidades de servidor do Microsoft Entra com seu recurso SQL do Azure:
- Ofereça suporte a funções de servidor do Banco de Dados SQL do Azure para gerenciamento de permissões.
- Dê suporte a vários utilizadores Microsoft Entra com funções especiais para o Banco de Dados SQL, como as funções
loginmanageredbmanager. - Paridade funcional entre logins SQL e logins do Microsoft Entra.
- Aumente o suporte à melhoria funcional, como a utilização de autenticação exclusivamente Microsoft Entra. A autenticação exclusiva do Microsoft Entra permite que a autenticação SQL seja desativada, incluindo o administrador do servidor SQL, os logons SQL e os utilizadores.
- Permite que as entidades do Microsoft Entra ofereçam suporte a réplicas geográficas. As entidades do Microsoft Entra podem conectar-se à réplica geográfica de um banco de dados de utilizador, com permissões apenas de leitura e restrições no servidor primário.
- Utilize logins do principal de serviço do Microsoft Entra com funções especiais para totalmente automatizar a criação e manutenção de utilizadores e bases de dados com aplicações do Microsoft Entra.
Para obter mais informações sobre a autenticação do Microsoft Entra no Azure SQL, consulte Usar a autenticação do Microsoft Entra.
Permissões
As permissões a seguir são necessárias para utilizar ou criar logons do Microsoft Entra no banco de dados virtual master .
- Permissão de administrador do Microsoft Entra ou associação à
loginmanagerfunção de servidor. O primeiro login do Microsoft Entra só pode ser criado pelo administrador do Microsoft Entra. - Deve ser membro do Microsoft Entra ID dentro do mesmo diretório usado para o Banco de Dados SQL do Azure.
Por padrão, os master logons recém-criados do Microsoft Entra no banco de dados recebem a permissão VIEW ANY DATABASE .
Sintaxe dos principais do Microsoft Entra
Utilize a sintaxe a seguir para criar e gerir principais de servidor e banco de dados Microsoft Entra.
Criar conta
Essa sintaxe cria um logon no nível do servidor com base em uma identidade do Microsoft Entra. Somente o administrador do Microsoft Entra pode executar esse comando no banco de dados virtual master .
CREATE LOGIN login_name
{
FROM EXTERNAL PROVIDER [WITH OBJECT_ID = 'objectid']
| WITH <option_list> [,..]
}
<option_list> ::=
PASSWORD = { 'password' }
[ , SID = sid ]
O login_name especifica a entidade de segurança do Microsoft Entra, que é um utilizador, grupo ou aplicação do Microsoft Entra.
Para obter mais informações, consulte CREATE LOGIN (Transact-SQL).
Criar utilizador a partir do login
A seguinte sintaxe T-SQL cria um principal do Microsoft Entra do nível de banco de dados, mapeado para um login do Microsoft Entra no banco de dados virtual master. Semelhante à sintaxe para criar um banco de dados contido no usuário do Microsoft Entra, a única diferença é especificar FROM LOGIN [login_name] em vez de FROM EXTERNAL PROVIDER.
Para criar um usuário do Microsoft Entra a partir de um logon do Microsoft Entra, use a sintaxe a seguir.
CREATE USER [user_name] FROM LOGIN [login_name]
Você pode usar a SID coluna de sys.database_principals para distinguir entre um usuário de banco de dados contido do Microsoft Entra e um usuário do Microsoft Entra criado a partir de um login. Para um usuário de banco de dados contido, o SID é uma cadeia binária de comprimento 16. Para um utilizador que faz login, o SID tem um comprimento de 18 com um sufixo AADE.
Observação
Anexar o sufixo AADE ao SID é como identificamos um usuário do Microsoft Entra como sendo criado a partir de um login. No entanto, isso também significa que os SIDs para o login e seu(s) usuário(s) não correspondem entre sys.server_principals e sys.database_principals. Para correlacionar o usuário de volta ao seu login, o sufixo AADE deve primeiro ser removido.
Para entender a diferença conceitual entre usuários baseados em login e usuários de banco de dados contidos, consulte Usuários de banco de dados contidos.
Para obter mais informações sobre toda a sintaxe de usuário de criação, consulte CREATE USER (Transact-SQL).
Desativar ou ativar um login usando ALTER LOGIN
A sintaxe DDL ALTER LOGIN (Transact-SQL) é usada para habilitar ou desabilitar um logon do Microsoft Entra no Banco de Dados SQL do Azure.
ALTER LOGIN [login_name] DISABLE
Quando um login é desativado, as conexões não são mais permitidas usando essa entidade de servidor. Também impede que todas as entidades de banco de dados (utilizadores) criadas a partir dessa sessão possam conectar-se às suas respetivas bases de dados.
Observação
ALTER LOGIN login_name DISABLEnão afetará os usuários do banco de dados contido, pois eles não estão associados a logins.ALTER LOGIN login_name DISABLEnão é suportado para grupos do Microsoft Entra.Um login individual desabilitado não pode pertencer a um usuário que faz parte de um grupo de logon criado no banco de dados (por exemplo, um grupo de administradores do
masterMicrosoft Entra).Para que as
DISABLEalterações ouENABLEtenham efeito imediato, o cache de autenticação e o cache TokenAndPermUserStore devem ser limpos usando os comandos T-SQL.DBCC FLUSHAUTHCACHE DBCC FREESYSTEMCACHE('TokenAndPermUserStore') WITH NO_INFOMSGS
Funções para entidades principais do Microsoft Entra
Funções especiais para a Base de Dados SQL podem ser atribuídas a utilizadores na base de dados virtual master para entidades do Microsoft Entra, incluindo dbmanager e loginmanager.
As funções de servidor do Banco de Dados SQL do Azure podem ser atribuídas a logons no banco de dados virtual master .
Para obter um tutorial sobre como conceder essas funções, consulte Tutorial: Criar e utilizar logins de servidor do Microsoft Entra.
Limitações e observações
- O administrador do SQL Server não pode criar logons ou usuários do Microsoft Entra em nenhum banco de dados.
- Um administrador SQL ou usuário SQL não pode executar as seguintes operações do Microsoft Entra:
CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDERCREATE USER [bob@contoso.com] FROM EXTERNAL PROVIDEREXECUTE AS USER [bob@contoso.com]ALTER AUTHORIZATION ON securable::name TO [bob@contoso.com]
- Não há suporte para a representação de entidades de servidor (logons) do Microsoft Entra no Banco de Dados SQL do Azure e no Azure Synapse Analytics. É suportado no SQL Managed Instance:
- Cláusula EXECUTE AS (Transact-SQL)
- EXECUTAR COMO (Transact-SQL)
- A representação de principais de banco de dados (utilizadores) do Microsoft Entra num banco de dados de utilizadores é suportada em todos os produtos do Microsoft SQL.
- Os logins do Microsoft Entra não podem se sobrepor ao administrador do Microsoft Entra. O administrador do Microsoft Entra tem precedência sobre qualquer login. Se uma conta Microsoft Entra já tiver acesso ao servidor como administrador do Microsoft Entra, seja individualmente ou como parte de um grupo, qualquer login criado para essa conta não terá efeito algum. No entanto, a criação de login não é bloqueada através do T-SQL. Depois que a conta se autenticar no servidor, o logon terá as permissões efetivas de um administrador do Microsoft Entra e não de um login recém-criado.
- Não há suporte para alterar permissões em um objeto de login específico do Microsoft Entra:
GRANT <PERMISSION> ON LOGIN :: <Microsoft Entra account> TO <Any other login>
- Quando você altera as permissões para um logon do Microsoft Entra, por padrão, as alterações só entram em vigor na próxima vez que o logon se conectar ao Banco de Dados SQL do Azure. Quaisquer conexões abertas existentes com o login não são afetadas. Para forçar as alterações de permissões a terem efeito imediato, você pode limpar manualmente a autenticação e TokenAndPermUserStore, conforme descrito anteriormente em desabilitar ou habilitar um login usando ALTER LOGIN. Esse comportamento também se aplica quando se fazem alterações de associação de função de servidor com ALTER SERVER ROLE.
- No SQL Server Management Studio, o comando de script para criar um utilizador não verifica se já existe um login do Microsoft Entra em
mastercom o mesmo nome. Ele sempre gera o T-SQL para um usuário Microsoft Entra de banco de dados contido. - Poderá ocorrer um erro se estiver a tentar criar uma conta de acesso ou um utilizador a partir de um principal de serviço com um nome de apresentação não exclusivo. Para obter mais informações sobre como atenuar esse erro, consulte Logins do Microsoft Entra e usuários com nomes de exibição não exclusivos.
- No Banco de Dados SQL do Azure e no Azure Synapse Analytics, os usuários do banco de dados criados usando logons do Microsoft Entra podem enfrentar atrasos ao receber funções e permissões. Como esse recurso ainda está em visualização pública, os comandos a seguir devem ser usados para resolver esses problemas.
- Solte o usuário do banco de dados de usuários.
- Execute
DBCC FREESYSTEMCACHE('TokenAndPermUserStore')para limpar caches de segurança no banco de dados. - Execute
DBCC FLUSHAUTHCACHEpara limpar o cache de contexto de autenticação federada. - Crie o usuário com base no login.
Limitações principais do servidor de grupo Microsoft Entra
Com os inícios de sessão do Microsoft Entra em pré-visualização pública para a Base de Dados SQL do Azure e o Azure Synapse Analytics, as seguintes limitações são conhecidas:
- As funções de servidor do Banco de Dados SQL do Azure não são suportadas para grupos do Microsoft Entra.
- Se o administrador de SQL for um grupo do Microsoft Entra, há algumas limitações para os utilizadores desse grupo quando se ligam. Cada usuário do Microsoft Entra individualmente não faz parte da
sys.server_principalstabela. Isto tem várias consequências, incluindo chamadas paraSUSER_SIDretornarNULL. - Os logins de usuário do Microsoft Entra que fazem parte dos logons de grupo do Microsoft Entra também não são criados implicitamente, o que significa que eles não terão um esquema padrão e não poderão executar operações como
CREATE SCHEMAaté que um logon para o usuário do Microsoft Entra seja criado ou um esquema padrão seja atribuído ao grupo. - Não há suporte para alterar a propriedade de um banco de dados para um grupo do Microsoft Entra como proprietário do banco de dados.
ALTER AUTHORIZATION ON database::<mydb> TO [my_aad_group]Falha com uma mensagem de erro:Msg 33181, Level 16, State 1, Line 4 The new owner cannot be Azure Active Directory group.