Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Säkerhetsrisker finns alltid när du ansluter till en databas. Även om LINQ till SQL kan innehålla några nya sätt att arbeta med data i SQL Server, ger det inga ytterligare säkerhetsmekanismer.
Åtkomstkontroll och autentisering
LINQ till SQL har inte någon egen användarmodell eller autentiseringsmekanism. Använd SQL Server Security för att styra åtkomsten till databasen, databastabeller, vyer och lagrade procedurer som är mappade till objektmodellen. Bevilja minimalt nödvändig åtkomst till användare och kräva starka lösenord för användarautentisering.
Mappnings- och schemainformation
SQL-CLR typmappnings- och databasschemainformation i objektmodellen eller den externa mappningsfilen är tillgänglig för alla med åtkomst till filerna i filsystemet. Anta att schemainformation är tillgänglig för alla som har åtkomst till objektmodellen eller den externa mappningsfilen. Om du vill förhindra mer omfattande åtkomst till schemainformation använder du filsäkerhetsmekanismer för att skydda källfiler och mappningsfiler.
Anslutningssträngar
Användning av lösenord i anslutningssträngar bör undvikas när det är möjligt. En anslutningssträng är inte bara en säkerhetsrisk i sig, utan anslutningssträngen kan också läggas till i klartext till objektmodellen eller den externa mappningsfilen när du använder kommandoradsverktyget Object Relational Designer eller SQLMetal. Alla som har åtkomst till objektmodellen eller den externa mappningsfilen via filsystemet kan se anslutningslösenordet (om det ingår i anslutningssträngen).
För att minimera sådana risker använder du integrerad säkerhet för att upprätta en betrodd anslutning till SQL Server. Med den här metoden behöver du inte lagra ett lösenord i anslutningssträngen. Mer information finns i SQL Server Security.
I avsaknad av integrerad säkerhet behövs ett lösenord med klartext i anslutningssträngen. Det bästa sättet att skydda anslutningssträngen i ökad riskordning är följande:
Använd integrerad säkerhet.
Skydda anslutningssträngar med lösenord och minimera överföring av anslutningssträngar.
Använd en System.Data.SqlClient.SqlConnection klass i stället för en anslutningssträng eftersom den begränsar exponeringstiden. Klassen LINQ till SQL System.Data.Linq.DataContext kan instansieras med hjälp av en SqlConnection.
Minimera livslängder och beröringspunkter för alla anslutningssträngar.