Share via


Verificatie in SQL Server

ADO.NET downloaden

SQL Server ondersteunt twee verificatiemodi, windows-verificatiemodus en gemengde modus.

  • Windows-verificatie is de standaardinstelling en wordt vaak aangeduid als geïntegreerde beveiliging, omdat dit SQL Server-beveiligingsmodel nauw is geïntegreerd met Windows. Specifieke Windows-gebruikers- en groepsaccounts worden vertrouwd voor het inloggen bij SQL Server. Windows-gebruikers die al zijn geverifieerd, hoeven geen aanvullende referenties te presenteren.

  • Gemengde modus biedt ondersteuning voor verificatie, zowel door Windows als door SQL Server. Gebruikersnaam- en wachtwoordparen worden bijgehouden in SQL Server.

Belangrijk

We raden u aan waar mogelijk Windows-verificatie te gebruiken. Windows-verificatie maakt gebruik van een reeks versleutelde berichten om gebruikers in SQL Server te verifiëren. Wanneer SQL Server-aanmeldingen worden gebruikt, worden sql Server-aanmeldingsnamen en versleutelde wachtwoorden doorgegeven via het netwerk, waardoor ze minder veilig zijn.

Met Windows-verificatie zijn gebruikers al aangemeld bij Windows en hoeven ze zich niet afzonderlijk aan te melden bij SQL Server. SqlConnection.ConnectionString Hieronder wordt Windows-verificatie opgegeven zonder dat gebruikers een gebruikersnaam of wachtwoord hoeven op te geven.

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

Opmerking

Aanmeldingen verschillen van databasegebruikers. U moet aanmeldingen of Windows-groepen toewijzen aan databasegebruikers of -rollen in een afzonderlijke bewerking. Vervolgens verleent u machtigingen aan gebruikers of rollen voor toegang tot databaseobjecten.

Verificatiescenario's

Windows-verificatie is meestal de beste keuze in de volgende situaties:

  • Er is een domeincontroller.

  • De toepassing en de database bevinden zich op dezelfde computer.

  • U gebruikt een exemplaar van SQL Server Express of LocalDB.

SQL Server-aanmeldingen worden vaak gebruikt in de volgende situaties:

  • Als u een werkgroep hebt.

  • Gebruikers maken verbinding vanuit verschillende, niet-vertrouwde domeinen.

  • Internettoepassingen, zoals ASP.NET.

Opmerking

Als u Windows-verificatie opgeeft, worden SQL Server-aanmeldingen niet uitgeschakeld. Gebruik de instructie ALTER LOGIN DISABLE Transact-SQL om sql Server-aanmeldingen met hoge bevoegdheden uit te schakelen.

Aanmeldingstypen

SQL Server ondersteunt drie typen aanmeldingen:

  • Een lokaal Windows-gebruikersaccount of een vertrouwd domeinaccount. SQL Server is afhankelijk van Windows om de Windows-gebruikersaccounts te verifiëren.

  • Windows-groep Het verlenen van toegang tot een Windows-groep verleent toegang tot alle Aanmeldingen van Windows-gebruikers die lid zijn van de groep.

  • SQL Server-login. SQL Server slaat zowel de gebruikersnaam als een hash van het wachtwoord op in de hoofddatabase, met behulp van interne verificatiemethoden om aanmeldingspogingen te verifiëren.

Opmerking

SQL Server biedt aanmeldingen die zijn gemaakt op basis van certificaten of asymmetrische sleutels die alleen worden gebruikt voor het ondertekenen van code. Ze kunnen niet worden gebruikt om verbinding te maken met SQL Server.

Verificatie in gemengde modus

Als u verificatie in de gemengde modus moet gebruiken, moet u SQL Server-aanmeldingen maken die zijn opgeslagen in SQL Server. Vervolgens moet u tijdens runtime de gebruikersnaam en het wachtwoord van SQL Server opgeven.

Belangrijk

SQL Server wordt geïnstalleerd met een SQL Server-aanmelding met de naam sa (een afkorting van 'systeembeheerder'). Wijs een sterk wachtwoord toe aan de sa aanmelding en gebruik de sa aanmelding niet in uw toepassing. De sa inloggegevens worden toegewezen aan de sysadmin vaste serverrol, die onomkeerbare beheerdersreferenties heeft op de hele server. Er zijn geen beperkingen voor de mogelijke schade als een aanvaller toegang krijgt als systeembeheerder. Alle leden van de Windows-groep BUILTIN\Administrators (de groep van de lokale beheerder) zijn standaard leden van de sysadmin rol, maar kunnen worden verwijderd uit die rol.

Belangrijk

Als u verbindingsreeksen uit gebruikersinvoer samenvoegt, kunt u kwetsbaar zijn voor een aanval op verbindingsreeksinjectie. Gebruik de SqlConnectionStringBuilder opdracht om syntactisch geldige verbindingsreeksen te maken tijdens runtime.

Externe middelen

Zie de volgende informatie bronnen voor meer informatie:

Hulpbron Description
Principals Beschrijft aanmeldingen en andere beveiligingsprinciplen in SQL Server.

Volgende stappen