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. Bei der Verwendung von SQL Server-Anmeldungen werden die SQL Server-Anmeldenamen und verschlüsselten Kennwörter über das Netzwerk übertragen und damit angreifbar.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 folgende SqlConnection.ConnectionString legt Windows-Authentifizierung fest, bei der Benutzer weder Benutzernamen noch Kennwort angeben müssen.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. Wenn Sie die SQL Server-Anmeldungen mit den weit reichenden Berechtigungen deaktivieren möchten, verwenden Sie die Transact-SQL-ALTER LOGIN DISABLE-Anweisung.Use the ALTER LOGIN DISABLE Transact-SQL statement to disable highly-privileged SQL Server logins.

AnmeldungstypenLogin Types

SQL Server unterstützt die folgenden drei Anmeldungstypen: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 stellt auf Grundlage von Zertifikaten oder asymmetrischen Schlüsseln erstellte Anmeldungen bereit, die ausschließlich 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 Windows-Kenn Wort Richtlinien Mechanismen für SQL Server Anmeldungen bereit.SQL Server provides Windows password policy mechanisms for SQL Server logins. 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 können die gleichen Komplexitäts-und Ablauf Richtlinien auf die in SQL Server verwendeten Kenn Wörter anwenden.SQL Server can apply the same complexity and expiration policies 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
PrincipalsPrincipals Beschreibt Anmeldungen und andere Sicherheitsprinzipale in SQL Server.Describes logins and other security principals in SQL Server.

Siehe auchSee also