Autorizar o acesso à Base de Dados SQL, ao SQL Managed Instance e ao Azure Synapse Analytics
Aplica-se a:Banco de Dados SQL do Azure Azure SQLManaged InstanceAzure Synapse Analytics
Neste artigo, você aprende sobre:
- Opções para configurar o Banco de Dados SQL do Azure, a Instância Gerenciada do SQL do Azure e o Azure Synapse Analytics para permitir que os usuários executem tarefas administrativas e acessem os dados armazenados nesses bancos de dados.
- A configuração de acesso e autorização após a criação inicial de um novo servidor.
- Como adicionar logins e contas de usuário no
master
banco de dados e contas de usuário e, em seguida, conceder permissões administrativas a essas contas. - Como adicionar contas de usuário em bancos de dados de usuários, associadas a logins ou como contas de usuário contidas.
- Configure contas de usuário com permissões em bancos de dados de usuários usando funções de banco de dados e permissões explícitas.
Importante
Os bancos de dados no Banco de Dados SQL do Azure, na Instância Gerenciada do SQL do Azure e no Azure Synapse são referidos coletivamente no restante deste artigo como bancos de dados, e o servidor está se referindo ao servidor lógico que gerencia bancos de dados para o Banco de Dados SQL do Azure e o Azure Synapse.
Nota
Microsoft Entra ID é o novo nome para o Azure Ative Directory (Azure AD). Estamos atualizando a documentação neste momento.
Autenticação e autorização
A autenticação é o processo de provar que o utilizador é quem diz ser. Um utilizador liga-se a uma base de dados através de uma conta de utilizador. Quando um utilizador tenta ligar-se a uma base de dados, introduz uma conta de utilizador e as informações de autenticação. O utilizador é autenticado através de um dos dois métodos de autenticação seguintes:
Autenticação SQL.
Com este método de autenticação, o utilizador submete um nome de conta de utilizador e a palavra-passe associada para estabelecer uma ligação. Essa senha é armazenada no banco de dados para contas de usuário vinculadas a um login ou armazenada no
master
banco de dados que contém as contas de usuário não vinculadas a um login.Nota
O Banco de Dados SQL do Azure impõe apenas a complexidade de senha para a política de senha. Para obter a política de senha na Instância Gerenciada SQL do Azure, consulte Perguntas frequentes (FAQ) sobre a Instância Gerenciada SQL do Azure.
Autenticação do Microsoft Entra
Com esse método de autenticação, o usuário envia um nome de conta de usuário e solicita que o serviço use as informações de credenciais armazenadas no Microsoft Entra ID (anteriormente Azure Ative Directory).
Logons e usuários: uma conta de usuário em um banco de dados pode ser associada a um logon armazenado no master
banco de dados ou pode ser um nome de usuário armazenado em um banco de dados individual.
- Um login é uma conta individual no
master
banco de dados, à qual uma conta de usuário em um ou mais bancos de dados pode ser vinculada. Com o início de sessão, as informações das credenciais da conta de utilizador são armazenadas no início de sessão. - Uma conta de utilizador é uma conta individual em qualquer base de dados que pode estar associada a um início de sessão, apesar de não ser necessário. Com uma conta de utilizador não associada a um início de sessão, as informações das credenciais são armazenadas na conta de utilizador.
A autorização para acessar dados e executar várias ações é gerenciada usando funções de banco de dados e permissões explícitas. Autorização refere-se às permissões atribuídas a um usuário e determina o que esse usuário tem permissão para fazer. A autorização é controlada pelas associações de função de banco de dados e permissões no nível do objeto da sua conta de usuário. Como melhor prática, deverá conceder aos utilizadores o mínimo de privilégios necessários.
Inícios de sessão e contas de utilizador existentes após a criação de uma base de dados nova
Ao implantar o SQL do Azure pela primeira vez, você pode especificar um nome de logon e uma senha para um tipo especial de logon administrativo, o administrador do servidor. A seguinte configuração de logons e usuários nos bancos de dados mestre e de usuário ocorre durante a implantação:
- Um logon SQL com privilégios administrativos é criado usando o nome de logon especificado. Um logon é uma conta individual para fazer logon no Banco de Dados SQL, na Instância Gerenciada do SQL e na Sinapse do Azure.
- Esse login recebe permissões administrativas completas em todos os bancos de dados como uma entidade de segurança no nível do servidor. O login tem todas as permissões disponíveis e não pode ser limitado. Em uma Instância Gerenciada do SQL, esse logon é adicionado à função de servidor fixa sysadmin (essa função não existe no Banco de Dados SQL do Azure).
- Quando essa conta entra em um banco de dados, ela é correspondida à conta de usuário especial (conta
dbo
de usuário, que existe em cada banco de dados de usuário. O usuário dbo tem todas as permissões de banco de dados no banco de dados e é membro dadb_owner
função de banco de dados fixa. Funções de banco de dados fixas adicionais são discutidas posteriormente neste artigo.
Para identificar a conta de administrador do servidor para um servidor lógico, abra o portal do Azure e navegue até a guia Propriedades do seu servidor ou instância gerenciada.
Importante
O nome da conta de administrador do servidor não pode ser alterado após a sua criação. Para redefinir a senha do administrador do servidor, vá para o portal do Azure, clique em SQL Servers, selecione o servidor na lista e clique em Redefinir Senha. Para redefinir a senha da Instância Gerenciada do SQL, vá para o portal do Azure, clique na instância e clique em Redefinir senha. Você também pode usar o PowerShell ou a CLI do Azure.
Criar logins adicionais e usuários com permissões administrativas
Neste ponto, seu servidor ou instância gerenciada só está configurado para acesso usando um único logon SQL e conta de usuário. Para criar logins adicionais com permissões administrativas totais ou parciais, você tem as seguintes opções (dependendo do seu modo de implantação):
Criar uma conta de administrador do Microsoft Entra com permissões administrativas completas
Habilite a autenticação do Microsoft Entra e adicione um administrador do Microsoft Entra. Uma conta do Microsoft Entra pode ser configurada como um administrador da implantação do SQL do Azure com permissões administrativas completas. Esta conta pode ser uma conta individual ou de grupo de segurança. Um administradordo Microsoft Entra deve ser configurado se você quiser usar contas do Microsoft Entra para se conectar ao Banco de Dados SQL, à Instância Gerenciada do SQL ou à Sinapse do Azure. Para obter informações detalhadas sobre como habilitar a autenticação do Microsoft Entra para todos os tipos de implantação do Azure SQL, consulte os seguintes artigos:
Na Instância Gerenciada SQL, crie logons SQL com permissões administrativas completas
- Crie um logon SQL adicional no
master
banco de dados. - Adicione o login à função de servidor fixa sysadmin usando a instrução ALTER SERVER ROLE . Este login terá permissões administrativas completas.
- Como alternativa, crie um login do Microsoft Entra usando a sintaxe CREATE LOGIN.
Nota
As
dbmanager
funções eloginmanager
não pertencem às implantações da Instância Gerenciada SQL do Azure.- Crie um logon SQL adicional no
Na Base de Dados SQL, crie inícios de sessão do SQL com permissões administrativas limitadas
- Crie um logon SQL adicional no
master
banco de dados. - Adicione o Login às
##MS_DatabaseManager##
funções de nível de servidor e##MS_DatabaseConnector##
e de##MS_LoginManager##
login usando a instrução ALTER SERVER ROLE.
Os membros de funções de banco de dados especiais
master
para o Banco de Dados SQL do Azure têm autoridade para criar e gerenciar bancos de dados ou para criar e gerenciar logons. Em bancos de dados criados por um usuário que é membro dadbmanager
função, o membro é mapeado para a função de banco de dados fixa e pode fazer logon e gerenciar esse banco de dados usando adb_owner
dbo
conta de usuário. Essas funções não têm permissões explícitas fora domaster
banco de dados.Importante
Não é possível criar um logon SQL adicional com permissões administrativas completas no Banco de Dados SQL do Azure. Somente a conta de administrador do servidor ou a conta de administrador do Microsoft Entra (que pode ser um grupo do Microsoft Entra) pode adicionar ou remover outros logons de ou para funções de servidor. Isso é específico do Banco de Dados SQL do Azure.
- Crie um logon SQL adicional no
No pool SQL dedicado do Azure Synapse, crie logons SQL com permissões administrativas limitadas
- Crie um logon SQL adicional no
master
banco de dados. - Crie uma conta de utilizador na base de dados associada a
master
este novo início de sessão. - Adicione a conta de usuário ao
dbmanager
, àloginmanager
função ou a ambos nomaster
banco de dados usando a instrução sp_addrolemember .
- Crie um logon SQL adicional no
No pool SQL sem servidor do Azure Synapse, crie logons SQL com permissões administrativas limitadas
- Crie um logon SQL adicional no
master
banco de dados. - Adicione o logon SQL à função de servidor fixa sysadmin usando a instrução ALTER SERVER ROLE .
- Como alternativa, crie um login do Microsoft Entra usando a sintaxe CREATE LOGIN.
- Crie um logon SQL adicional no
Criar contas para utilizadores não administradores
Você pode criar contas para usuários não administrativos usando um dos dois métodos:
Criar um login
Crie um logon SQL no
master
banco de dados. Em seguida, crie uma conta de usuário em cada banco de dados ao qual esse usuário precisa acessar e associe a conta de usuário a esse login. Essa abordagem é preferida quando o usuário deve acessar vários bancos de dados e você deseja manter as senhas sincronizadas. No entanto, essa abordagem tem complexidades quando usada com replicação geográfica, pois o login deve ser criado no servidor primário e no(s) servidor(es) secundário(s). Para obter mais informações, consulte Configurar e gerenciar a segurança do Banco de Dados SQL do Azure para restauração geográfica ou failover.Criar uma conta de utilizador
Crie uma conta de usuário no banco de dados ao qual um usuário precisa acessar (também chamado de usuário contido).
- Com o Banco de dados SQL, você sempre pode criar esse tipo de conta de usuário.
- Com a Instância Gerenciada SQL suportando entidades de servidor Microsoft Entra, você pode criar contas de usuário para autenticação na Instância Gerenciada SQL sem exigir que os usuários do banco de dados sejam criados como um usuário de banco de dados contido.
Com essa abordagem, as informações de autenticação do usuário são armazenadas em cada banco de dados e replicadas automaticamente para bancos de dados replicados geograficamente. No entanto, se a mesma conta existir em vários bancos de dados e você estiver usando a autenticação SQL, deverá manter as senhas sincronizadas manualmente. Além disso, se um usuário tiver uma conta em diferentes bancos de dados com senhas diferentes, lembrar essas senhas pode se tornar um problema.
Importante
Para criar usuários contidos mapeados para identidades do Microsoft Entra, você deve estar conectado usando uma conta do Microsoft Entra no banco de dados no Banco de Dados SQL do Azure. Na Instância Gerenciada SQL, um logon SQL com sysadmin
permissões também pode criar um usuário ou logon do Microsoft Entra.
Para obter exemplos mostrando como criar logins e usuários, consulte:
- Criar logon para o Banco de Dados SQL do Azure
- Criar logon para a Instância Gerenciada SQL do Azure
- Criar login para o Azure Synapse
- Criar utilizador
- Criando usuários contidos do Microsoft Entra
Gorjeta
Para obter um tutorial de segurança que inclui a criação de usuários no Banco de Dados SQL do Azure, consulte Tutorial: Proteger o Banco de Dados SQL do Azure.
Usando funções de banco de dados fixas e personalizadas
Depois de criar uma conta de usuário em um banco de dados, com base em um login ou como um usuário contido, você pode autorizar esse usuário a executar várias ações e acessar dados em um banco de dados específico. Você pode usar os seguintes métodos para autorizar o acesso:
Funções de banco de dados fixas
Adicione a conta de usuário a uma função de banco de dados fixa. Há 9 funções de banco de dados fixas, cada uma com um conjunto definido de permissões. As funções de banco de dados fixas mais comuns são: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter e db_denydatareader. db_owner é, geralmente, utilizada para conceder permissão total apenas a alguns utilizadores. As outras funções de base de dados fixas são úteis para colocar bases de dados simples em desenvolvimento rapidamente, mas não são recomendadas para a maioria das bases de dados de produção. Por exemplo, a função de banco de dados fixa db_datareader concede acesso de leitura a todas as tabelas do banco de dados, o que é mais do que o estritamente necessário.
Para adicionar um usuário a uma função de banco de dados fixa:
- No Banco de Dados SQL do Azure e no pool SQL sem servidor do Azure Synapse, use a instrução ALTER ROLE . Para obter exemplos, consulte Exemplos de ALTER ROLE
- No pool SQL dedicado do Azure Synapse, use a instrução sp_addrolemember . Para obter exemplos, consulte sp_addrolemember exemplos.
Função de banco de dados personalizada
Crie uma função de banco de dados personalizada usando a instrução CREATE ROLE . Uma função personalizada permite que você crie suas próprias funções de banco de dados definidas pelo usuário e conceda cuidadosamente a cada função o mínimo de permissões necessárias para a necessidade comercial. Em seguida, você pode adicionar usuários à função personalizada. Quando um utilizador é membro de várias funções, agrega as permissões de todas essas funções.
Conceder permissões diretamente
Conceda permissões à conta de usuário diretamente. Existem mais de 100 permissões que podem ser individualmente concedidas ou negadas na Base de Dados SQL. Muitas destas permissões são aninhadas. Por exemplo, a permissão
UPDATE
num esquema inclui a permissãoUPDATE
em cada tabela dentro desse esquema. Tal como na maioria dos sistemas de permissões, a recusa de uma permissão sobrepõe-se a uma atribuição. Devido à natureza aninhada e ao número de permissões, desenhar um sistema de permissões que proteja as bases de dados adequadamente pode envolver um cuidadoso estudo. Comece com a lista de permissões em Permissions (Database Engine) (Permissões [Motor de Base de Dados]) e reveja o gráfico em tamanho de cartaz das permissões.
Utilização de grupos
O gerenciamento eficiente de acesso usa permissões atribuídas a grupos de segurança do Ative Directory e funções fixas ou personalizadas, em vez de a usuários individuais.
Ao usar a autenticação do Microsoft Entra, coloque os usuários do Microsoft Entra em um grupo de segurança do Microsoft Entra. Crie um utilizador de base de dados contido para o grupo. Adicione um ou mais usuários de banco de dados como membro a funções de banco de dados personalizadas ou internas com as permissões específicas apropriadas para esse grupo de usuários.
Ao usar a autenticação SQL, crie usuários de banco de dados contidos no banco de dados. Coloque um ou mais usuários de banco de dados em uma função de banco de dados personalizada com permissões específicas apropriadas para esse grupo de usuários.
Nota
Você também pode usar grupos para usuários de banco de dados não contidos.
Deverá familiarizar-se com as seguintes funcionalidades que podem ser utilizadas para limitar ou efetuar a elevação de permissões:
- A representação e a assinatura de módulo podem ser utilizadas para elevar temporariamente permissões de forma segura.
- A Segurança ao Nível da Linha pode ser utilizada para limitar as linhas a que um utilizador pode aceder.
- A Máscara de Dados pode ser utilizada para limitar a exposição de dados confidenciais.
- Os Procedimentos armazenados podem ser utilizados para limitar as ações que podem ser realizadas na base de dados.
Próximos passos
Para obter uma visão geral de todos os recursos de segurança do Banco de Dados SQL do Azure e da Instância Gerenciada SQL, consulte Visão geral de segurança.