具有实体框架的最小特权原则

时间:2017-09-06 13:57:52

标签: entity-framework security least-privilege

我正在阅读我的安全问题并提出一般性问题。 在数据库中,应该只授予用户所需的属性,即选择,读取,删除等。

当使用Entity Framework作为ORM时,我该如何实现? 实体没有权限概念。

由于

1 个答案:

答案 0 :(得分:1)

实现Entity Framework的最小权限的方式是,您使用数据库登录来从EF连接到数据库(通常这将在连接字符串中设置)。根据您使用EF的方式,只允许该登录执行某些操作。

显然,除非您使用存储过程进行插入/更新/删除,否则它将需要CRUD访问表(或视图)。它需要在您使用的任何函数或存储过程上执行。

此外,如果您打算使用Code First Migrations,它必须基本拥有所有权,因为它将添加/删除表和列。

现在,这就是你为EF实现最低权限的方式,这可能不是你想要的。如果您想知道如何为用户实现它,那么这将是一个身份验证和授权的问题,这将超出数据库的范围,并且会成为一个问题。你的申请。 (我想在技术上你可以使用一种方法,用户必须使用数据库登录登录,这将用于配置EF与数据库的连接,但我认为这往往非常容易出错,特别是如果它在一个网络应用程序。)

如果这有助于你,请告诉我。 :)