2009-03-31 3 views
1

Je me demande toujours quels sont les droits d'accès et les permissions exactes que je dois donner à une connexion SQL que j'utilise depuis mon application asp.net pour accéder à la base de données. L'application exécute certaines procédures stockées qui insèrent, mettent à jour et suppriment des données dans des tables. Je sélectionne, supprime, mise à jour directement sur les tables aussi. Il y a aussi des déclencheurs. Je me demande s'il y a une liste complète de la matrice d'autorisation pour aider.Droits d'accès pour l'accès SQL à la base de données pour l'application ASP.Net

Répondre

1

Eh bien, cela dépend de la complexité que vous voulez faire :-)

Solution la plus simple:

  • rendre votre utilisateur de connexion/db ont le rôle de db_datareader lire toutes les tables
  • faites votre login/utilisateur DB ont le rôle db_datawriter pour écrire tous les tableaux

Comme pour l'exécution de proc stocké s, ce que nous avons fait est de créer une nouvelle base de données dans notre rôle « db_executor » base de données personnalisée comme ceci:

CREATE ROLE [db_executor] AUTHORIZATION [dbo] 
GRANT EXECUTE TO [db_executor] 

et nous accordons ce rôle à l'utilisateur db ainsi. Ce nouveau rôle de base de données personnalisée aura des droits d'exécution sur tous les et existants sur tous les futurs process/fonctions stockés dans votre base de données. Ainsi, votre utilisateur db peut lire et écrire n'importe quelle table et exécuter n'importe quel proc stocké et fonction mémorisée.

solution plus complexe: Vous pouvez bien sûr aussi ACCORDER autorisations sur les tables individuelles, vues, procs, funcs inidividual utilisateurs db et/ou des rôles db. Mais cela peut devenir assez compliqué et compliqué.

Marc

Questions connexes