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.
O SQL Server suporta dois modos de autenticação, modo de autenticação do Windows e modo misto.
A autenticação do Windows é o padrão e é frequentemente referida como segurança integrada porque este modelo de segurança SQL Server está fortemente integrado com o Windows. Contas específicas de utilizadores e grupos do Windows são confiáveis para iniciar sessão no SQL Server. Os utilizadores do Windows que já foram autenticados não têm de apresentar credenciais adicionais.
O modo misto suporta autenticação tanto por Windows como por SQL Server. Os pares de nome de utilizador e palavra-passe são mantidos dentro do SQL Server.
Importante
Recomendamos a utilização da autenticação Windows sempre que possível. A autenticação do Windows utiliza uma série de mensagens encriptadas para autenticar os utilizadores no SQL Server. Quando os logins do SQL Server são usados, os nomes de login e as palavras-passe encriptadas do SQL Server são transmitidos pela rede, o que os torna menos seguros.
Com a autenticação do Windows, os utilizadores já estão ligados ao Windows e não precisam de iniciar sessão separadamente no SQL Server. O seguinte SqlConnection.ConnectionString especifica a autenticação do Windows sem exigir que os utilizadores forneçam um nome de utilizador ou palavra-passe.
"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true;Encrypt=True;"
Observação
Os logins são distintos dos utilizadores da base de dados. Deve mapear logins ou grupos do Windows para utilizadores ou funções de base de dados numa operação separada. Depois concede permissões a utilizadores ou papéis para aceder a objetos da base de dados.
Cenários de autenticação
A autenticação do Windows é geralmente a melhor escolha nas seguintes situações:
Existe um controlador de domínio.
A aplicação e a base de dados estão no mesmo computador.
Está a usar uma instância do SQL Server Express ou LocalDB.
Os logins do SQL Server são frequentemente usados nas seguintes situações:
Se tiveres um grupo de trabalho.
Os utilizadores ligam-se a partir de domínios diferentes, não confiáveis.
Aplicações de Internet, como ASP.NET.
Observação
Especificar a autenticação do Windows não desativa os logins do SQL Server. Utilize a instrução ALTER LOGIN DISABLE Transact-SQL para desativar logins altamente privilegiados do SQL Server.
Tipos de login
O SQL Server suporta três tipos de logins:
Uma conta de utilizador local do Windows ou uma conta de domínio de confiança. O SQL Server depende do Windows para autenticar as contas de utilizador do Windows.
Grupo Windows. Conceder acesso a um grupo do Windows concede acesso a todos os logins de utilizador do Windows que são membros do grupo.
Login no SQL Server. O SQL Server armazena tanto o nome de utilizador como um hash da palavra-passe na base de dados mestre, utilizando métodos internos de autenticação para verificar as tentativas de login.
Observação
O SQL Server fornece logins criados a partir de certificados ou chaves assimétricas que são usadas apenas para assinatura de código. Não podem ser usados para se ligar ao SQL Server.
Autenticação em modo misto
Se tiver de usar autenticação em modo misto, deve criar logins no SQL Server, que são armazenados no SQL Server. Depois tens de fornecer o nome de utilizador e a palavra-passe do SQL Server em tempo de execução.
Importante
O SQL Server instala-se com um login SQL Server chamado sa (uma abreviatura de "system administrator"). Atribua uma palavra-passe forte ao sa login e não use o sa login na sua aplicação. O sa login corresponde ao sysadmin papel fixo do servidor, que tem credenciais administrativas irrevogáveis em todo o servidor. Não existem limites para os danos potenciais se um atacante conseguir acesso como administrador de sistema. Todos os membros do grupo Windows BUILTIN\Administrators (o grupo do administrador local) são membros da sysadmin função por defeito, mas podem ser removidos dessa função.
Importante
Concatenar cadeias de ligação a partir da entrada do utilizador pode deixá-lo vulnerável a um ataque de injeção de cadeias de ligação. Use o SqlConnectionStringBuilder para criar strings de ligação sintaticamente válidas em tempo de execução.
Recursos externos
Para obter mais informações, consulte os seguintes recursos.
| Resource | Description |
|---|---|
| Princípios | Descreve logins e outros princípios de segurança no SQL Server. |