Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Forcer INSERT uniquement via une procédure stockée

N'accordez simplement à aucun utilisateur de la base de données (et à votre rôle "public") l'autorisation INSERT sur la table.

Accordez à ces utilisateurs l'autorisation d'exécuter la procédure stockée INSERT - de cette façon, ils peuvent appeler la procédure stockée, mais ils ne peuvent pas insérer directement de données dans la table sous-jacente.

DENY INSERT ON dbo.YourTable TO PUBLIC
GRANT EXECUTE ON dbo.InsertDataProc TO PUBLIC