Authentifizierung in SQL ServerAuthentication in SQL Server

SQL Server unterstützt zwei Authentifizierungsmodi: den Windows-Authentifizierungsmodus und den gemischten Modus.SQL Server supports two authentication modes, Windows authentication mode and mixed mode.

  • Die Windows-Authentifizierung ist der Standard. Sie wird häufig auch als "integrierte Sicherheit" bezeichnet, weil dieses SQL Server-Sicherheitsmodell eng in Windows integriert ist.Windows authentication is the default, and is often referred to as integrated security because this SQL Server security model is tightly integrated with Windows. Dabei gelten bestimmte Windows-Benutzer- und -Gruppenkonten als so vertrauenswürdig, dass sie sich bei SQL Server anmelden dürfen.Specific Windows user and group accounts are trusted to log in to SQL Server. Windows-Benutzer, die bereits authentifiziert wurden, müssen keine zusätzlichen Anmeldeinformationen zur Verfügung stellen.Windows users who have already been authenticated do not have to present additional credentials.

  • Der gemischte Modus unterstützt die Authentifizierung durch Windows und durch SQL Server.Mixed mode supports authentication both by Windows and by SQL Server. Die Paare aus Benutzername und Kennwort werden innerhalb von SQL Server beibehalten.User name and password pairs are maintained within SQL Server.

Wichtig

Es wird empfohlen, möglichst immer die Windows-Authentifizierung zu verwenden.We recommend using Windows authentication wherever possible. Die Windows-Authentifizierung verwendet zum Authentifizieren der Benutzer in SQL Server eine Reihe verschlüsselter Meldungen.Windows authentication uses a series of encrypted messages to authenticate users in SQL Server. Wenn SQL Server-Anmeldungen verwendet werden, werden SQL Server-Anmeldenamen und verschlüsselte Kennwörter über das Netzwerk übergeben, die sie dadurch unsichererer wird.When SQL Server logins are used, SQL Server login names and encrypted passwords are passed across the network, which makes them less secure.

Bei der Windows-Authentifizierung sind die Benutzer bereits bei Windows angemeldet und müssen sich nicht noch einmal bei SQL Server anmelden.With Windows authentication, users are already logged onto Windows and do not have to log on separately to SQL Server. Die folgenden SqlConnection.ConnectionString gibt die Windows-Authentifizierung ohne dass Benutzer einen Benutzernamen und kein Kennwort angeben.The following SqlConnection.ConnectionString specifies Windows authentication without requiring users to provide a user name or password.

"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true;  

Hinweis

Anmeldungen und Datenbankbenutzer sind nicht dasselbe.Logins are distinct from database users. Sie müssen Anmeldungen oder Windows-Gruppen in einem separaten Vorgang Datenbankbenutzern oder Rollen zuordnen.You must map logins or Windows groups to database users or roles in a separate operation. Anschließend gewähren Sie den Benutzern oder Rollen Berechtigungen, damit diese auf die Datenbankobjekte zugreifen können.You then grant permissions to users or roles to access database objects.

AuthentifizierungsszenarienAuthentication Scenarios

In den folgenden Situationen ist die Windows-Authentifizierung in der Regel die beste Wahl:Windows authentication is usually the best choice in the following situations:

  • Es gibt einen Domänencontroller.There is a domain controller.

  • Die Anwendung und die Datenbank befinden sich auf demselben Computer.The application and the database are on the same computer.

  • Sie verwenden eine Instanz von SQL Server Express oder LocalDB.You are using an instance of SQL Server Express or LocalDB.

SQL Server-Anmeldungen werden im Allgemeinen in den folgenden Situationen verwendet:SQL Server logins are often used in the following situations:

  • Wenn Sie über eine Arbeitsgruppe verfügen.If you have a workgroup.

  • Die Benutzer stellen die Verbindung von unterschiedlichen, nicht vertrauenswürdigen Domänen aus her.Users connect from different, non-trusted domains.

  • Internet-Anwendungen, z. B. ASP.NET.Internet applications, such as ASP.NET.

Hinweis

Das Angeben der Windows-Authentifizierung führt nicht zu einer Deaktivierung von SQL Server-Anmeldungen.Specifying Windows authentication does not disable SQL Server logins. Verwenden Sie die ALTER LOGIN DISABLE Transact-SQLTransact-SQL Anweisung, um SQL Server-Anmeldungen für hoch privilegierten zu deaktivieren.Use the ALTER LOGIN DISABLE Transact-SQLTransact-SQL statement to disable highly-privileged SQL Server logins.

AnmeldungstypenLogin Types

SQL Server unterstützt drei Arten von Anmeldenamen:SQL Server supports three types of logins:

  • Lokales Windows-Benutzerkonto oder vertrauenswürdiges Domänenkonto:A local Windows user account or trusted domain account. SQL Server verlässt sich bei der Authentifizierung der Windows-Benutzerkonten auf Windows.SQL Server relies on Windows to authenticate the Windows user accounts.

  • Windows-Gruppe:Windows group. Wenn einer Windows-Gruppe Zugriff gewährt wird, gelten diese Zugriffsrechte für alle Windows-Benutzeranmeldungen, die dieser Gruppe angehören.Granting access to a Windows group grants access to all Windows user logins that are members of the group.

  • SQL Server-Anmeldung:SQL Server login. SQL Server speichert in der Masterdatenbank den Benutzernamen und einen Hash des Kennworts. Für die Überprüfung der Anmeldungsversuche werden interne Authentifizierungsmethoden verwendet.SQL Server stores both the username and a hash of the password in the master database, by using internal authentication methods to verify login attempts.

Hinweis

SQL Server bietet Anmeldungen aus Zertifikaten oder asymmetrischen Schlüsseln, die nur für die codesignierung verwendet werden.SQL Server provides logins created from certificates or asymmetric keys that are used only for code signing. Zum Herstellen einer Verbindung mit SQL Server können sie nicht verwendet werden.They cannot be used to connect to SQL Server.

Authentifizierung im gemischten ModusMixed Mode Authentication

Wenn die Authentifizierung im gemischten Modus verwendet werden soll, müssen Sie SQL Server-Anmeldungen erstellen, die in SQL Server gespeichert werden.If you must use mixed mode authentication, you must create SQL Server logins, which are stored in SQL Server. Zur Laufzeit müssen dann der SQL Server-Benutzername und das Kennwort angegeben werden.You then have to supply the SQL Server user name and password at run time.

Wichtig

SQL Server wird mit einer SQL Server-Anmeldung mit dem Namen sa (kurz für "Systemadministrator") installiert.SQL Server installs with a SQL Server login named sa (an abbreviation of "system administrator"). Weisen Sie der sa-Anmeldung ein starkes Kennwort zu, und verwenden Sie die sa-Anmeldung nicht in Ihrer Anwendung.Assign a strong password to the sa login and do not use the sa login in your application. Die sa-Anmeldung wird der festen Serverrolle sysadmin zugeordnet, die nicht widerrufbare administrative Anmeldeinformationen für den gesamten Server besitzt.The sa login maps to the sysadmin fixed server role, which has irrevocable administrative credentials on the whole server. Wenn es einem Angreifer gelingt, sich als Systemadministrator Zugriff zu verschaffen, stehen ihm Tür und Tor offen.There are no limits to the potential damage if an attacker gains access as a system administrator. Alle Member der Windows-Gruppe BUILTIN\Administrators (der lokalen Administratorgruppe) gehören standardmäßig der Rolle sysadmin an, können aber aus dieser Rolle entfernt werden.All members of the Windows BUILTIN\Administrators group (the local administrator's group) are members of the sysadmin role by default, but can be removed from that role.

SQL Server stellt Mechanismen der Windows-Kennwortrichtlinien für SQL Server-Anmeldungen, bei der Ausführung auf Windows Server 2003Windows Server 2003 oder höhere Versionen.SQL Server provides Windows password policy mechanisms for SQL Server logins when it is running on Windows Server 2003Windows Server 2003 or later versions. Richtlinien zur Kennwortkomplexität werden als Maßnahme gegen Brute Force-Angriffe entworfen. Dabei wird die Anzahl der möglichen Kennwörter erhöht.Password complexity policies are designed to deter brute force attacks by increasing the number of possible passwords. SQL Server verwendet die gleichen Komplexitäts- und Ablaufrichtlinien Richtlinien anwenden Windows Server 2003Windows Server 2003 auf Kennwörter, die in SQL Server.SQL Server can apply the same complexity and expiration policies used in Windows Server 2003Windows Server 2003 to passwords used inside SQL Server.

Wichtig

Das Verketten von Verbindungszeichenfolgen aus Benutzereingaben kann zu einer Anfälligkeit für Angriffe durch Einschleusung von Verbindungszeichenfolgen führen.Concatenating connection strings from user input can leave you vulnerable to a connection string injection attack. Verwenden Sie zum Erstellen syntaktisch gültiger Verbindungszeichenfolgen zur Laufzeit den SqlConnectionStringBuilder.Use the SqlConnectionStringBuilder to create syntactically valid connection strings at run time. Weitere Informationen finden Sie in Connection String Builders (Verbindungszeichenfolgengeneratoren).For more information, see Connection String Builders.

Externe RessourcenExternal Resources

Weitere Informationen finden Sie in den folgenden Ressourcen.For more information, see the following resources.

RessourceResource BeschreibungDescription
PrinzipalePrincipals Beschreibt Anmeldungen und andere Sicherheitsprinzipale in SQL Server.Describes logins and other security principals in SQL Server.

Siehe auchSee also