特权与许可的区别

信息安全 访问控制 权限 术语
2021-09-06 02:08:15

从计算机安全的角度来看,我对权限和特权之间的上下文差异有些困惑。虽然我已经阅读了这两个术语的定义,但如果有人能给我一些实际的例子,那就太好了,例如

User A can read write file X 

在这种情况下,特权和许可是什么?

4个回答

在计算机安全中,它们可以互换使用。

在权利的背景下,许可意味着同意任何个人或团体执行某项行动。特权是给予个人或团体的许可。权限用于区分不同授予的权限(包括无权限)。

权限是执行操作的权限。

也来自上面的english.se链接

权限是对象的属性,例如文件。它说明允许哪些代理使用该对象,以及允许他们做什么(阅读、修改等)。

权限是代理的属性,例如用户。它允许代理做通常不允许的事情。例如,有允许代理访问它无权访问的对象的权限,以及允许代理执行维护功能(例如重新启动计算机)的权限。

因此,在您的示例中,特权是有权写入文件“x”

它们通常是可以互换的,尽管我听说过一些系统,其中权限是操作要求的东西,而特权是用户拥有的东西。因此,用户可能会被授予与所要求的权限相对应的权限,但这实际上是某些系统的语义,并非总是如此。

无论哪种方式,除非您有更具体的情况导致您出现问题,否则通常更多的是语义差异。

是的,它们有细微的不同(但前提是您要完全建模基于角色的访问控制 (RBAC)):

考虑基于角色授权的 ER 模型:

  • 应用程序具有功能
  • 功能可以由角色执行
  • 身份被赋予角色
  • 个人被提供身份

把这些放在一起,我们可以说: + 个人(拥有在线身份),执行角色被授予在应用程序中执行功能的权限

所以:

  • 许可是角色,功能和应用程序之间的ER链接,即权限赋予角色
  • 特权是个人和应用程序之间的ER联系,即特权给予人。

但是,很多设计者不理会个人和角色的分离,或者不区分功能和应用,所以忽略了特权和许可之间的区别。根据我的经验,当有人说“使用 AD 组存储 RBAC”时,您经常会看到这种情况——这是一种严重的反模式。

在需要报告有毒组合和细粒度许可的世界中,存储 RBAC 的数据模型更为重要。

正如许多答案所说,在对话中,两者通常是可以互换的。

各种计算机环境使用的两者之间的一些可能的上下文差异是这两个词的内涵所固有的。

  • 请求许可,授予特权。当您考虑这两个词的会话使用时,“主动”使用许可(通常由任何主题在上下文中的句子中采取的第一个动作)是请求它;“反应性”使用(为响应第一个而采取的第二个动作)是授予它。相反,主动使用特权是授予它,而被动使用是行使它。

  • 权限是基于情况的;特权是基于时间的。同样,这两个术语的含义是,许可是每次执行操作时都必须请求和授予的东西,是否授予可以根据情况而定。然而,特权是关于受试者知道他们被允许做的某些特定行动,因为他们曾经被告知他们可以做这件事,然后受试者在没有特别询问的情况下继续这样做,直到他们被允许告诉他们不能再做这件事了。

因此,通常,如 IT 安全中所使用的,权限决定权限。系统管理员授予用户读取特定类型记录(或特定记录)的权限,尽管他们的帐户是系统管理员;这通常只进行一次,或者随着时间的推移根据需要进行。应用程序代表已使用该帐户进行身份验证的用户进行操作,然后在每次必须这样做时请求执行操作的权限,并且系统在检查用户的权限后在每种情况下授予此权限.