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: Azure SQL Managed Instance
Neste artigo, você aprende sobre:
- Opções de configuração para SQL Managed Instance que permitem aos utilizadores realizar tarefas administrativas e aceder a dados armazenados nestas bases de dados.
- Configuração de acesso e autorização após criar 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.
- Como configurar contas de utilizador com permissões nas bases de dados de utilizador utilizando funções de base de dados e permissões explícitas.
- Para a Base de Dados SQL do Azure, veja Autorizar o acesso à Base de Dados SQL.
- Para Azure Synapse Analytics, veja Autorizar acesso à base de dados ao Azure Synapse Analytics.
Note
Microsoft Entra ID era anteriormente conhecido 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:
-
Ao utilizar este método de autenticação, o utilizador submete um nome de conta de utilizador e uma palavra-passe associada para estabelecer uma ligação. A
masterbase de dados armazena esta palavra-passe para contas de utilizador associadas a um login. A base de dados que contém as contas de utilizador não associadas a um login armazena a palavra-passe.Note
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 Entra da Microsoft para SQL do Azure
Ao utilizar este método de autenticação, o utilizador submete um nome de conta de utilizador e solicita ao serviço que utilize as informações de credenciais armazenadas em Microsoft Entra ID (anteriormente Azure Active Directory).
Logins e utilizadores: Pode associar uma conta de utilizador numa base de dados com um login que a master base de dados armazena, ou pode torná-la um nome de utilizador que uma base de dados individual armazene.
- Um login é uma conta na
masterbase de dados, à qual pode ligar uma conta de utilizador numa ou mais bases de dados. Ao usar um login, armazena a informação da credencial da conta de utilizador 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. Ao usar uma conta de utilizador que não está ligada a um login, armazena a informação da credencial com a conta de utilizador.
A autorização para aceder a dados e realizar várias ações é gerida através do uso de funções de base de dados e permissões explícitas. Autorização refere-se às permissões atribuídas a um utilizador e determina o que esse utilizador pode fazer. As pertenças à base de dados da sua conta de utilizador e as permissões ao nível do objeto controlam a autorização. Como boa prática, conceda aos utilizadores o mínimo de privilégios necessário.
Logins e contas de usuário existentes após a criação de um novo banco de dados
Quando implementa um recurso SQL do Azure pela primeira vez, especifique um nome de login e uma palavra-passe para um tipo especial de login administrativo, o administrador servidor. Durante a implementação, ocorre a seguinte configuração de logins e utilizadores nas bases de dados master e de utilizadores:
Importante
Não inclua qualquer informação pessoal, sensível ou confidencial no campo do nome de login do administrador do servidor. Os dados introduzidos neste campo não são considerados dados do cliente.
- O processo de implementação cria um login de autenticação SQL com privilégios administrativos usando o nome de login que especificou. Um login é uma conta individual para iniciar sessão no Azure SQL Managed Instance.
- O processo de implementação concede a este login de autenticação permissões administrativas completas em todas as bases de dados como principal ao nível do servidor. O login de autenticação tem todas as permissões disponíveis e não pode ser limitado. Numa SQL Managed Instance, o processo de implementação adiciona este login de autenticação ao papel fixo de servidor sysadmin.
- Quando esta conta inicia sessão numa base de dados, corresponde à conta
dbode utilizador especial (conta de utilizador), que existe em cada base de dados de utilizador. 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 :
- Vá para o hub SQL do Azure em aka.ms/azuresqlhub.
- No menu de recursos, vai à tua instância gerida em SQL.
- Em Definições, selecione a página de Propriedades.
- Veja os valores para login de administrador do servidor ou administrador do Microsoft Entra.
Importante
Não podes mudar o nome da conta de administrador do servidor depois de a criares. Para redefinir a palavra-passe, vá ao portal Azure, selecione a sua instância gerida SQL e selecione Redefinir palavra-passe. Você também pode usar o PowerShell ou a CLI do Azure.
Criar logins adicionais e usuários com permissões administrativas
Neste ponto, a sua instância gerida SQL está configurada apenas para um único login de autenticação SQL e conta de utilizador. Para criar logins adicionais com permissões administrativas totais ou parciais, utilize as seguintes opções:
Criar uma conta de administrador do Microsoft Entra com permissões administrativas completas
Ative a autenticação Microsoft Entra e adicione um administrador Microsoft Entra. Pode configurar uma conta Microsoft Entra como administrador da implementação do SQL do Azure com permissões administrativas completas. Esta conta pode ser uma conta individual ou de grupo de segurança. Deve configurar um administrador Microsoft Entra se quiser usar contas Microsoft Entra para se ligar ao Azure SQL Managed Instance. 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, consulte os seguintes artigos:
No SQL Managed Instance, crie logins de autenticação SQL com permissões administrativas completas
- Crie um login adicional de autenticação SQL na
masterbase de dados.- Adicione o login ao papel fixo de servidor sysadmin usando a instrução ALTER SERVER ROLE . Este login tem permissões administrativas completas.
- Alternativamente, crie um login de autenticação Microsoft Entra usando a sintaxe CREATE LOGIN.
Note
Os papéis
dbmanagereloginmanagernão se aplicam a implementações do Azure SQL Managed Instance.- Crie um login adicional de autenticação SQL na
Criar contas para usuários não administradores
Crie contas para utilizadores não administrativos utilizando um dos seguintes métodos:
Criar um login
Crie um login de autenticação SQL na
masterbase de dados. Depois cria uma conta de utilizador em cada base de dados à qual o utilizador precisa de acesso e associa a conta de utilizador ao login. Use esta abordagem quando o utilizador precisar de aceder a várias bases de dados e quiser manter as palavras-passe sincronizadas. No entanto, esta abordagem apresenta complexidades quando usada com geo-replicação, pois o login deve ser criado tanto no servidor principal como nos servidores secundários.Criar uma conta de utilizador
Crie uma conta de utilizador na base de dados à qual o utilizador precise de acesso.
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.
Utilizando esta abordagem, a informação de autenticação do utilizador é armazenada em cada base de dados e replicada automaticamente para bases de dados geo-replicadas. 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 utilizadores contidos mapeados para identidades Microsoft Entra no SQL Managed Instance, utilize um login de autenticação SQL com sysadmin permissões para também criar um login ou utilizador de autenticação Microsoft Entra.
Para exemplos que mostram como criar logins e utilizadores, veja:
- Criar logon para a Instância Gerenciada SQL do Azure
- Criar utilizador
- Criando utilizadores internos do Microsoft Entra
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. Use 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. Existem nove funções fixas na base de dados, 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. Use db_owner para conceder permissão total apenas a alguns utilizadores. 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 utilizador a um papel fixo na base de dados, use a instrução ALTER ROLE . Para exemplos, veja exemplos de ALTER ROLE.
Função de banco de dados personalizada
Crie um papel personalizado na base de dados 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, adicione utilizadores à 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. Existem mais de 100 permissões que pode conceder ou negar individualmente. 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
A gestão eficiente de acessos atribui permissões a grupos de segurança Microsoft Entra e a funções fixas ou personalizadas em vez de a utilizadores 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. Adicionar um ou mais utilizadores de base de dados como membros a funções personalizadas ou incorporadas em bases de dados, com as permissões específicas apropriadas a esse grupo de utilizadores.
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.
Note
Você também pode usar grupos para usuários de banco de dados não contidos.
Familiarize-se com as seguintes funcionalidades que podem ser usadas para limitar ou aumentar 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.