问题标签 [least-privilege]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - Entify 框架插入需要选择权限
我们使用 LINQ to Entities 将条目写入审计数据库 (SQL Server 2008)。由于这是一个专用的审计数据库,我们只插入行——我们从不读取任何行,从审计应用程序中更新或删除它们。
审计应用程序应该使用最小权限的原则,所以我们不希望授予它比它需要的更多的权限。由于我们从不读取任何行,因此我们不想授予从数据库中选择的权限。
但是,当我们尝试写入数据时,会收到以下错误消息:
对象“AuditEvent”、数据库“IdentifyAudit”、模式“dbo”的 SELECT 权限被拒绝。
该代码是非常标准的 EF 代码:
为什么我们需要 SELECT 权限才能写入表,更重要的是:有什么方法可以删除该要求?
编辑
SQL Profiler 显示正在执行的语句:
这解释了为什么需要 SELECT 权限,因为该操作返回插入行的自动生成的 ID。
现在的问题仍然存在:我不需要知道我刚刚插入的行的 ID,那么有什么方法可以关闭此功能吗?
sql - 为我的应用程序的每个关注点创建不同的用户!
我想创建我的站点并在页面中有它,以便论坛页面将使用对 mydb.forum_table、mydb_forum_table2 具有权限的论坛 mysql 用户。和个人资料页面使用可以访问 mydb.users 和 mydb.profiefields 等的个人资料用户与照片库、博客、聊天......这是正确的方法吗?我正在考虑最低权限原则,但我想知道为什么我没有看到其他知名的 CMS 这样做!
c# - 从 Windows 服务访问智能卡所需的权限
我有一个 Windows 服务,它使用智能卡做一些事情。智能卡的证书映射到本地机器的 MY 存储中。当服务作为 System 运行时,访问智能卡的私钥是没有问题的,但在作为 NetworkService 运行时会失败。
我已经使用证书 MMC(管理私钥...)授予对 NetworkService 证书的访问权限。
我得到的错误是:智能卡资源管理器没有运行。
该错误与加密异常一起引发。
任何想法需要哪些特权和/或权限才能访问智能卡资源管理器?
亲切的问候,
亨宁克劳斯
c# - 我想在具有管理员权限的受限帐户中运行我的功能
我想在有限的用户帐户下运行我的程序,但在 Windows XP 上具有管理员权限。
我找不到答案。我想我可以使用两种方式:
- 通过程序或服务等其他方式运行我的程序
- 使用诸如 PrincipalPermission 空间之类的方法或类似的方法运行我的函数
但我无法解决这个问题。
c# - 在 C# 中禁用 SeDebugPrivilege
我有一个基于 C# 中的 WPF 的程序,我想删除用户调试应用程序的权限(SeDebugPrivilege)(至少在发布模式下)。最好的方法是什么?我在需要对非托管代码进行不安全调用的代码中找到了几种方法。我更喜欢纯粹在 C# 中执行此操作,或者更好的是,通过应用程序清单或其他方式来阻止用户在执行我的应用程序期间完全拥有 SeDebugPrivilege。无论如何声明一个 Windows 组并撤销整个组的特权?这样做的动机是通过遵循最小特权原则来更好地保护我的应用程序的一部分。还有其他特权我确定我想稍后删除,但我'
session-cookies - 加密操作期间发生错误(在 Thinktecture Identity Server 4.5 的最新版本中)
在创建 SessionCookies(FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionToken))时,我在身份服务器 4.5(最新版本)中出现以下错误“在加密操作期间发生错误”如果我在配置文件中设置机器密钥设置,则经过大量研发,而不是 TempData将在应用程序中丢失。以下是堆栈跟踪详细信息:
异常信息:异常类型:CryptographicException 异常消息:加密操作期间发生错误。在 System.Web.Security.Cryptography.HomogenizingCryptoServiceWrapper.HomogenizeErrors(Func 2 func, Byte[] input)
at BrockAllen.CookieTempData.CookieTempDataProvider.LoadTempData(ControllerContext controllerContext) in c:\ballen\github\CookieTempData\45\BrockAllen.CookieTempData\CookieTempDataProvider.cs:line 37
at System.Web.Mvc.TempDataDictionary.Load(ControllerContext controllerContext, ITempDataProvider tempDataProvider)
at System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.Begin(AsyncCallback 回调,对象状态,Int32 超时)在 System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback 回调,对象状态,BeginInvokeDelegate开始委托,结束调用委托1 endDelegate, Object tag, Int32 timeout)
at System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate, Object tag)
at System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__2(AsyncCallback asyncCallback, Object asyncState)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.Begin(AsyncCallback callback, Object state, Int32 timeout) at System.Web.Mvc.Async.AsyncResultWrapper.Begin[TResult](AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate`1 endDelegate, Object tag, Int32 timeout) at System.Web.Mvc.Async.AsyncResultWrapper.Begin(AsyncCallback callback, Object state, BeginInvokeDelegate beginDelegate, EndInvokeDelegate endDelegate, Object tag) 在 System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) 在 System. Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤,布尔值&完成同步)。
postgresql - 以最低权限运行 Heroku Postgres
我可以通过 Web/应用程序连接到 Heroku Postgres 数据库而不会有丢失表的风险吗?
我正在为使用 Heroku Postgres 作为后端的第三方构建 Heroku 应用程序。第三方对安全非常敏感,所以我正在考虑在整个应用程序中应用“分层安全”。例如,在 Web/应用程序层检查 SQL 注入攻击。应用“分层安全”方法我还应该保护数据库,以防错过潜在的 SQL 注入攻击,这可能会删除数据库表。
在我构建的其他系统中,数据库中至少有两个用户。首先是创建/删除表、索引、触发器等的数据库管理员,以及运行权限低于只能插入和更新记录的数据库管理员的应用程序用户。
在 Heroku Postgres 设置中,似乎没有一种方法可以创建另一个具有较少权限的用户(没有“drop table”选项)。因此应用程序必须与默认的 Heroku Postgres 用户连接,因此可能存在“删除表”的风险。
我正在运行 Heroku Postgres Crane 插件。
有没有人反对这个或有任何创造性的工作来解决这个问题?
c - 如何在 Linux 中以编程方式限制程序运行时、内存使用和作为特定用户
是否有一种编程方式来限制持续时间、内存使用并以 C/C++ 或 Ruby 中 Linux 程序执行的特权用户身份运行?
因为系统或``不能这样做。
这两个语句都使该命令以与执行者相同的用户身份运行,根据需要使用整个处理能力和内存。
c++ - 最小特权原则和 const 关键字
类是关于继承和组合的。是否使用const
与最小权限原则相关的关键字?
我了解继承和组合,我了解它们,但是最小特权原则呢?谁能向我解释一下,以及如何修正我的代码以包含最小特权原则?