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 Azure
Instância Gerenciada SQL do Azure
do Azure Synapse Analytics
Neste artigo, você aprende sobre:
- Opções de configuração para o Banco de Dados SQL do Azure, a Instância Gerenciada do SQL do Azure e o Azure Synapse Analytics que permitem que os usuários executem tarefas administrativas e acessem dados armazenados nesses bancos de dados.
- 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
masterbanco de dados 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.
Observação
O Microsoft Entra ID era conhecido anteriormente como Azure Ative Directory (Azure AD).
Autenticação e autorização
A autenticação é o processo de provar que o usuário é quem afirma ser. Um usuário se conecta a um banco de dados usando uma conta de usuário. Quando um usuário tenta se conectar a um banco de dados, ele fornece uma conta de usuário e informações de autenticação. O usuário é autenticado usando um dos dois métodos de autenticação a seguir:
-
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
masterbanco de dados para contas de usuário vinculadas a um login ou armazenada no banco de dados que contém as contas de usuário não vinculadas a um login.Observação
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 para o SQL do Azure
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
masterbanco de dados, à qual uma conta de usuário em um ou mais bancos de dados pode ser vinculada. Com um login, as informações de credenciais da conta de usuário são armazenadas com o login. - Uma conta de usuário é uma conta individual em qualquer banco de dados que pode estar, mas não precisa estar, vinculada a um login. Com uma conta de usuário que não está vinculada a um login, as informações de credenciais são armazenadas com a conta de usuário.
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 funções de associação de banco de dados e pelas permissões a nível de objeto da sua conta de utilizador. Como prática recomendada, você deve conceder aos usuários o mínimo de privilégios necessários.
Logins e contas de usuário existentes após a criação de um novo banco de dados
Quando implementar o SQL do Azure pela primeira vez, pode-se especificar um nome de utilizador e uma senha para um tipo especial de login administrativo, o administrador do servidor. A seguinte configuração de logins e utilizadores nas bases de dados e bases de dados de utilizador ocorre durante a implantação:
- Um logon SQL com privilégios administrativos é criado usando o nome de logon especificado. Um login é uma conta individual para iniciar sessão no Banco de Dados SQL, na Instância Gerida do SQL e no Azure Synapse.
- Esse login recebe permissões administrativas completas em todos os bancos de dados como um principal de nível de servidor . O login tem todas as permissões disponíveis e não pode ser limitado. Em uma Instância Gerenciada 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
dbode usuário especial (conta de usuário, que existe em cada banco de dados de usuário. O dbo utilizador tem todas as permissões na base de dados e é membro da função de base de dados fixadb_owner. Funções de banco de dados fixas adicionais são discutidas posteriormente neste artigo.
Para identificar a conta de administrador do servidor , abra o portal do Azure e navegue até a guia Propriedades do seu servidor lógico ou instância gerenciada:
Importante
O nome da conta de de administrador do Server 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, selecione SQL Servers, selecione o servidor na lista e selecione Redefinir Senha. Para redefinir a senha da Instância Gerenciada do SQL, vá para o portal do Azure, selecione a instância e selecione 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 administrador do Microsoft Entradeve 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
masterbanco 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 .
Observação
Os papéis
dbmanagereloginmanagernão dizem respeito à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
masterbanco de dados. - Adicione o Login às
##MS_DatabaseManager####MS_LoginManager##de##MS_DatabaseConnector##servidor e e de login usando a instrução ALTER SERVER ROLE.
Os membros de funções de banco de dados especiais
masterpara 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 dadbmanagerfunção, o membro é mapeado para adb_ownerfunção de banco de dados fixa e pode fazer logon e gerenciar esse banco de dados usando adboconta de usuário. Essas funções não têm permissões explícitas fora domasterbanco 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
masterbanco de dados. - Crie uma conta de utilizador na base de dados
masterassociada a este novo início de sessão. - Adicione a conta de utilizador à
dbmanager, à funçãologinmanagerou a ambas na base de dadosmasterusando 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
masterbanco 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 usuários 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
masterbanco 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 SQL Gerenciada, um logon SQL com permissões sysadmin também pode criar um logon ou utilizador 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 utilizadores internos do Microsoft Entra
Sugestão
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 um banco de dados no 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 é comumente usado para conceder permissão total a apenas alguns usuários. As outras funções de banco de dados fixas são úteis para obter um banco de dados simples em desenvolvimento rapidamente, mas não são recomendadas para a maioria dos bancos 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 os exemplos de sp_addrolemember.
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 usuário é membro de várias funções, elas agregam as permissões de todas elas.
Conceder permissões diretamente
Conceda permissões à conta de usuário diretamente. Há mais de 100 permissões que podem ser concedidas ou negadas individualmente no Banco de dados SQL. Muitas dessas permissões estão aninhadas. Por exemplo, a
UPDATEpermissão em um esquema inclui aUPDATEpermissão em cada tabela dentro desse esquema. Como na maioria dos sistemas de permissão, a negação de uma permissão substitui uma concessão. Devido à natureza aninhada e ao número de permissões, pode ser necessário um estudo cuidadoso para projetar um sistema de permissão apropriado para proteger adequadamente seu banco de dados. Comece com a lista de permissões em Permissões (Mecanismo de Banco de Dados) e revise o gráfico de permissões em formato de cartaz.
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 usuário de banco 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.
Observação
Você também pode usar grupos para usuários de banco de dados não contidos.
Você deve se familiarizar com os seguintes recursos que podem ser usados para limitar ou elevar as permissões:
- Representação e assinatura de módulos podem ser usadas para temporariamente elevar as permissões com segurança.
- Row-Level Segurança pode ser usada para limitar quais linhas um usuário pode acessar.
- O mascaramento dinâmico de dados pode ser usado para limitar a exposição de dados confidenciais.
- Os procedimentos armazenados podem ser usados para limitar as ações que podem ser executadas no banco de dados.