zh

访问控制、用户许可和权限

2016 年 01 月 19 日

Dave Piscitello

本部分内容不仅提供联合国六种官方语言版本,还提供以下语言版本

null

在我的上一篇文章《何为授权和访问控制?》中,我解释了我们如何使用身份验证方法验证身份(即证明您声称的身份属于您本人),以及启用授权政策来定义允许您的身份"查看哪些内容和执行哪些操作"。之后,我们需要采用安全措施来实施这些授权政策,以允许或拒绝访问我们想控制或保护的资源。

我们用于实施授权政策的措施即称为用户访问控制、用户许可或用户权限。用户访问控制常用于 Windows 操作系统、路由器或防火墙文档中,而用户权限或用户许可更常用于 Linux 文档中。您可以查看讨论这些术语之间差异的全部信息线索,但出于入门目的,请将它们视为可以互换使用的术语。使用您觉得最合适的或与您最相关的文章中出现最频繁的术语。

定义授权政策时,您需要定义可对数据库等资源执行操作的单个或一组用户、应用程序或进程。您可能对授权政策有非常细化的想法。您可以控制对各个数据库条目,甚至一个数据库条目的各个元素(字段)的操作,即个体或群组是否能读取、创建或修改(写入)。

授权政策示例

设想一下商家数据库的记录,其中每条记录包含姓名、家庭住址、电话和信用卡信息。商家的 IT 工作人员定义了一个授权政策,将商家员工的访问分为三个权限级别:

  1. 数据库管理员 Joe 和 Terry 可以对数据库中的任何客户记录执行任何操作。例如,他们可以创建记录、修改任何记录的任何元素以及删除任何记录。

    这是完全访问权限的示例。

  2. 会计人员 Charlotte 和 Bert 可以读取包含信用卡信息在内的任何客户记录的任何字段,但不能创建、修改或删除记录或记录中的字段。

    在此,我们允许他们访问全部记录,但禁止他们创建、更改或删除任何记录或记录中的任何字段。

  3. 市场人员 Ahmed 和 Carlo 可以读取任何客户记录,但不能读取信用卡信息,并且不允许创建、修改或删除任何记录或字段。

    在此,我们允许他们访问全部记录,但禁止他们访问每条记录中的特定数据。

这些示例阐释了一个重要的安全理念,即最小权限原则 (POLP),也就是说公司只需授予用户完成分配给他们的工作所需的权限。例如,上述虚构公司确定市场人员无需访问信用卡信息。上述示例还阐述了基于角色的访问控制 (RBAC)。在上述示例中,该公司根据一系列角色(数据库管理员、会计人员、市场人员等)设置了权限。

设置阶段

结合上述示例中的访问控制,思考一下"如果您是攻击者,想要盗取可用于骗用信用卡的相关信息,您会获取哪个用户帐户的访问权限?"

我们将在下一篇文章中讨论攻击者如何获取访问权限并提升权限

Dave Piscitello