Autorizar acesso ao Banco de Dados SQL, à Instância Gerenciada de SQL e ao Azure Synapse Analytics

Aplica-se a:Banco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse Analytics

Neste artigo, você aprenderá sobre:

  • Opções para configurar o Banco de Dados SQL do Azure, a Instância Gerenciada de 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 criar inicialmente um novo servidor.
  • Como adicionar logons e contas de usuário às contas de usuário e ao banco de dados master, depois conceder permissões administrativas a essas contas.
  • Como adicionar contas de usuário a bancos de dados de usuário associadas a logons ou a contas de usuário independentes.
  • Configurar contas de usuário com permissões nos bancos de dados do usuário 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 de SQL do Azure e no Azure Synapse são mencionados coletivamente no restante deste artigo como bancos de dados, e o servidor está se referindo ao servidor lógico que gerencia os bancos de dados do Banco de Dados SQL do Azure e do Azure Synapse.

Observação

O Microsoft Entra ID era anteriormente conhecido como Azure Active Directory (Azure AD).

Autenticação e autorização

A autenticação é o processo de provar que o usuário é quem diz ser. Um usuário se conecta a um banco de dados com uma conta de usuário. Uma conta de usuário e informações de autenticação são fornecidas quando um usuário tenta se conectar a um banco de dados. O usuário é autenticado usando um dos dois métodos de autenticação a seguir:

Logons e usuários: uma conta de usuário em um banco de dados pode ser associada a um logon que é armazenado no banco de dados master ou pode ser um nome de usuário que é armazenado em um banco de dados individual.

  • Um Logon é uma conta individual no banco de dados master ao qual uma conta de usuário pode ser vinculada em um ou mais bancos de dados. Com um logon, as informações de credencial para a conta de usuário são armazenadas com o logon.
  • Umaconta de usuário é uma conta individual em qualquer banco de dados que pode, mas não precisa, estar vinculada a um logon. Com uma conta de usuário que não está vinculada a um logon, as informações da credencial são armazenadas com a conta de usuário.

A autorização para acessar dados e executar várias ações são gerenciadas usando funções de banco de dados e permissões explícitas. A autorização refere-se às permissões atribuídas a um usuário e determina o que o usuário tem permissão para fazer. A autorização é controlada pelas associações de função e permissões no nível do objeto do banco de dados da conta de usuário. Como uma prática recomendada, você deve conceder aos usuários os privilégios mínimos necessários.

Logons existentes e contas de usuário após criar um novo banco de dados

Ao implantar SQL do Azure pela primeira vez, você poderá especificar uma ID 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 do SQL com privilégios de administrador é criado usando o nome de logon especificado. Um logon é uma conta individual para fazer logon no Banco de Dados SQL, na Instância Gerenciada SQL e no Azure Synapse.
  • Esse logon recebe permissões administrativas completas em todos os bancos de dados como uma entidade de segurança no nível do servidor. O logon tem todas as permissões disponíveis e não pode ser limitado. Em uma instância gerenciada, 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 dbo (conta 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 da função de banco de dados fixa db_owner. Funções de banco de dados fixa 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 para a guia Propriedades do seu servidor ou da instância gerenciada.

Screenshot shows the SQL Server Properties page where you can obtain the Server admin login and Microsoft Entra admin values.

Screenshot shows the SQL managed instance Properties page where you can obtain the login and Microsoft Entra admin values.

Importante

O nome da conta de Administrador do servidor não pode ser alterado após sua criação. Para redefinir a senha para o administrador do servidor, vá para o portal do Azure, clique em Servidores SQL, selecione o servidor na lista e clique em Redefinir Senha. Vá para o portal do Azure, clique na instância e clique em Redefinir senha para redefinir a senha da Instância Gerenciada de SQL. Você também pode usar o PowerShell ou a CLI do Azure.

Crie logons e usuários adicionais com permissões administrativas

Neste ponto, o servidor ou a instância gerenciada só são configurados para acesso usando uma única conta de usuário e logon do SQL. Você tem as seguintes opções (dependendo do seu modo de implantação) para criar logons adicionais com permissões administrativas totais ou parciais:

  • 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. Essa conta pode ser uma conta de grupo de segurança ou individual. Um administrador do Microsoft Entradeverá ser configurado se você quiser usar as contas do Microsoft Entra para se conectar ao Banco de Dados SQL, à Instância Gerenciada de SQL ou ao Azure Synapse. Para obter informações detalhadas sobre como habilitar a autenticação do Microsoft Entra para todos os tipos de implantação do SQL do Azure, veja os seguintes artigos:

  • Na Instância Gerenciada de SQL, crie logons do SQL com permissões administrativas completas

    Observação

    As funções dbmanager e loginmanagernão pertencem a implantações da Instância Gerenciada de SQL do Azure.

  • No Banco de Dados SQL, crie logons do SQL com permissões administrativas limitadas

    Os membros das funções de banco de dados master especiais para Banco de Dados SQL do Azure têm autoridade para criar e gerenciar bancos de dados ou criar e gerenciar logons. Em bancos de dados criados por um usuário que seja membro da função dbmanager, o membro é mapeado na função de banco de dados fixa db_owner e pode fazer logon e gerenciar esse banco de dados usando a conta de usuário do dbo. Essas funções não têm permissões explícitas fora do banco de dados master.

    Importante

    Você não pode criar um logon do SQL adicional com permissões administrativas totais no Banco de Dados SQL do Azure. Somente a conta do administrador do servidor ou a conta do 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 para o Banco de Dados SQL do Azure.

  • No pool de SQL dedicado do Azure Synapse, crie logons do SQL com permissões administrativas limitadas

    • Crie um logon do SQL adicional no banco de dados master.
    • Crie uma conta de usuário no banco de dados master associado ao novo logon.
    • Adicione a conta de usuário à função dbmanager, loginmanager ou ambas no banco de dados master usando a instrução sp_addrolemember.
  • No pool de SQL sem servidor do Azure Synapse, crie logons do SQL com permissões administrativas limitadas

Crie contas para usuários não administradores

Você pode criar contas para usuários não administradores usando um dos dois métodos:

  • Criar um logon

    Crie um logon do SQL no banco de dados master. Depois crie uma conta de usuário em cada banco de dados ao qual o usuário precisa acessar e associe a conta de usuário a esse logon. Essa abordagem é preferida quando o usuário deve acessar vários bancos de dados e se você quiser manter as senhas sincronizadas. No entanto, essa abordagem tem complexidades quando usadas com replicação geográfica, já que o logon 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 usuário

    Crie uma conta de usuário no banco de dados para a qual um usuário precisa de acesso (também chamado de usuário independente).

    • Você sempre pode criar esse tipo de conta de usuário com o Banco de Dados SQL.
    • Com a Instância Gerenciada de SQL que suporta entidades do servidor do Microsoft Entra, você pode criar contas de usuário para autenticação com a Instância Gerenciada de SQL sem exigir que os usuários do banco de dados sejam criados como usuários de banco de dados independentes.

    Com essa abordagem, as informações de autenticação de usuário são armazenadas em cada banco de dados e replicadas automaticamente nos bancos de dados replicados geograficamente. No entanto, se a mesma conta existir em vários bancos de dados e você estiver usando autenticação do SQL, deverá manter as senhas sincronizadas manualmente. Além disso, se um usuário tiver uma conta em bancos de dados diferentes com senhas diferentes, lembrar dessas senhas pode se tornar um problema.

Importante

Você deve estar conectado usando uma conta do Microsoft Entra no banco de dados no Banco de Dados SQL do Azure para criar usuários independentes mapeados para identidades do Microsoft Entra. Na Instância Gerenciada de SQL, um logon do SQL com permissões sysadmin também pode criar um logon ou usuário do Microsoft Microsoft Entra.

Para obter exemplos de criar logons e usuários, consulte:

Dica

Para ver 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

Após criar uma conta de usuário em um banco de dados, seja com base em um logon ou como um usuário independente, você pode autorizar esse usuário a executar várias ações e acessar dados em um banco de dados em particular. Você pode usar os seguintes métodos para autorizar o acesso:

  • Funções de banco de dados fixa

    Adicione a conta do usuário a uma função de banco de dados fixa. Há 9 funções de banco de dados fixa, cada uma com um conjunto definido de permissões. As funções de banco de dados fixa mais comuns são: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter e db_denydatareader. db_owner é usada normalmente para conceder permissão total a apenas alguns usuários. As outras funções fixas de banco de dados são úteis para mover rapidamente um banco de dados simples para desenvolvimento, 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 no banco de dados, sendo mais do que é estritamente necessário.

  • Função de banco de dados personalizada

    Crie uma função de banco de dados personalizada usando a instrução CRIAR FUNÇÃO. Uma função personalizada permite criar suas próprias funções de banco de dados definidas pelo usuário e conceder cuidadosamente a cada função o mínimo de permissões necessárias para a necessidade de negócios. Você pode adicionar usuários à função personalizada. Quando um usuário for membro de várias funções, ele agregará 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 são aninhadas. Por exemplo, a permissão UPDATE em um esquema inclui a permissão UPDATE em cada tabela dentro desse esquema. Assim como ocorre 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, talvez seja necessário realizar um estudo cuidadoso para criar um sistema de permissões apropriado a fim de proteger corretamente o banco de dados. Comece com a lista de permissões em Permissões (Mecanismo do Banco de Dados) e examine o gráfico com tamanho de pôster das permissões.

Usando grupos

O gerenciamento de acesso eficiente usa permissões atribuídas a grupos de segurança do Active Directory e funções fixas ou personalizadas em vez de 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 independente para o grupo. Adicione um ou mais usuários de banco de dados como membros 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 independentes no banco de dados. Coloque um ou mais usuários do banco de dados em uma função de banco de dados personalizada com permissões específicas adequadas para esse grupo de usuários.

    Observação

    Você também pode usar grupos para usuários de banco de dados dependentes.

Você deve estar familiarizado com os seguintes recursos que podem ser usados para limitar ou elevar as permissões:

Próximas etapas

Para ter uma visão geral de todos os recursos de segurança do Banco de Dados SQL do Azure e da Instância Gerenciada de SQL, confira a Visão geral de segurança.