访问控制是用于管控用户访问敏感数据、计算机系统、物理场所及其他资源的策略、工具与流程。
物理访问控制(如闸机、上锁门禁)用于管控物理场所的人员进出权限。逻辑访问控制(如入侵检测和防御系统控制对计算机系统的访问。本文主要探讨逻辑访问控制。
在访问管理术语中,需要获取访问权限的实体被称为"主体"。这些主题包括人类用户和非人类身份,如机器人、应用程序、工作负载和AI 智能体。
事实上,云基础设施的激增、DevOps 的兴起以及高级人工智能工具的采用,推动后一类用户数量激增,非人类用户正在成为访问控制的重点。
主体需要访问的资源——应用程序编程接口 (API)、操作系统设置、云端数据库中的敏感信息——统称为客体。
在企业网络中实施访问控制通常涉及创建和执行访问控制策略,这些策略定义了每个主体在系统中的访问权限。访问控制策略决定了主体是否可以访问客体(如文档)及其对该客体的权限(文档中:只读、读写、完全管理控制)。
访问控制是身份安全的基石。例如,零信任网络架构依靠完善的访问控制机制,既能防范未授权访问,同时又为授权用户简化访问流程。在云原生网络中,身份是新的边界,访问控制对更广泛的网络安全工作至关重要。
同时,访问控制也是许多系统的薄弱环节。在 OWASP 最关键 Web 应用程序安全风险的十大清单中,访问控制漏洞排名第一。根据 IBM X-Force 威胁情报指数的数据,基于身份的攻击(攻击者劫持合法用户账号、滥用其访问权限)几乎占到所有数据泄露事件的三分之一。
因此,尽管访问管理在组织安全状况中扮演着关键角色,但现有数据表明其仍有很大的优化提升空间。
加入安全领导者的行列,订阅 Think 时事通讯,获取有关 AI、网络安全、数据和自动化的精选资讯。快速访问专家教程和阅读解释器,我们会将这些内容直接发送到您的收件箱。请参阅 IBM 隐私声明。
访问控制通常基于策略。系统管理员应在必要时与其他利益相关者协作,制定详细规定主体访问权限的访问控制策略。访问控制系统,如身份和访问管理 (IAM) 和特权访问管理 (PAM) 平台,会自动执行这些安全策略。
访问控制系统采用身份认证与授权两步流程,确保仅通过核验的主体能够访问客体,且主体仅可按照许可的方式进行操作。
访问策略规定了主体可访问的客体范围:开发者可查看的 S3 存储桶、应用程序可调用的接口、数据集可供大语言模型 (LLM) 读取调用。至关重要的是,它们还规定单个用户可以对客体执行的操作。LLM 可以对数据集执行写入操作码?开发人员是否可以更改 S3 存储桶的设置?访问策略决定了这些问题的答案。
虽然策略不可避免地因系统和资源而异,但大多数组织遵循既定的访问控制模型,如基于角色的访问控制 (RBAC) 或基于属性的访问控制 (ABAC)。(更多信息请参见“访问控制类型”。)
无论采用何种模型,许多组织的访问策略都遵循最小权限原则:即用户仅应拥有完成工作所需的最低权限等级,且任务结束后应及时收回相关权限。
访问策略可以通过多种方式“存储”在系统中。
当主体想要访问受访问控制系统保护的资源时,首先需通过身份认证流程核验自身身份。
对于人类用户来说,身份认证通常要求展示一组凭据,比如用户名和密码组合。然而,密码被视为安全性最弱的凭据之一,因为攻击者能够轻易猜测或窃取密码。
如今大多数系统依赖更为完善的措施,如生物识别和多重身份验证 (MFA)。MFA 需要两项及以上凭证来验证用户身份(例如指纹扫描与身份验证应用生成的一次性密码)。
设备、工作负载、AI 智能体及其他非人类身份通常使用证书和加密密钥等凭据来验证自身。虽然非人类主体无法使用 MFA,但机密管理解决方案可通过保险库存储、自动轮换及其他防护措施,保护这类主体的身份凭据。
授权是向已通过身份核验的主体授予相应访问权限等级的过程。
授权方法取决于现有的访问控制系统。
例如,若系统采用 ACL,便会核查列表,并为主体分配列表中对应的权限。
如果系统使用策略引擎,该引擎将根据访问请求的上下文授予用户权限。
在采用 OAuth 协议(一种开放标准的授权框架,允许应用程序安全访问终端用户的受保护资源)的系统中,授权通过令牌来完成。
虽然网络中的每个独立客体都可以配置专属的访问控制系统,但这通常并不被视为最佳实践。系统之间的差异和薄弱环节可能为攻击者利用,阻止授权用户完成工作。
相反,美国国家标准与技术研究院 (NIST)、OWASP(开放式 Web 应用程序安全项目)等机构建议部署集中式访问控制系统,且通常将其纳入整体身份结构的组成部分。
这些集中式系统依赖的技术和工具包括:
IAM 解决方案可以简化并自动执行关键的访问控制任务。各产品功能虽有差异,但 IAM 的常见核心功能包括:目录服务、身份认证与授权流程、凭据管理以及身份治理。
单点登录 (SSO) 是一种身份验证方案,可支持用户使用一组凭据登录一次,即可在同一会话期间访问多个应用程序。单点登录可简化用户身份认证流程、提升使用体验,且部署得当还能强化整体安全防护能力。
部分企业要求用户登录到企业 VPN 才能访问内部数据、软件和其他资源。在此场景中,VPN 起到访问控制的作用:用户仅可通过该专用网络访问企业内部资源,无法经由公共互联网直接接入。
从某种意义上说,ZTNA 是 VPN 的零信任版本。它可为应用和服务提供远程访问能力,但仅允许用户接入自身有权限访问的资源,而非连通整个网络。
和其他领域一样,各企业正将生成式 AI 与智能体式 AI 工具融入自身的访问控制体系中。
例如,生成式 AI 聊天机器人可用于简化配置开通等身份管理流程。通过基于企业访问控制策略对大语言模型聊天机器人进行训练,并将其关联相关文档与资源,企业即可搭建一套安全的自助式 IAM 工具。当新用户需要访问系统或现有用户需要更新权限时,他们可以通过聊天机器人提出请求。
假设某组织需要为存储客户数据的机密数据库创建并执行访问控制策略。
首先,系统管理员和其他相关利益相关者将确定哪些主体(人员、应用程序、AI 智能体)有权访问数据库。或许该组织判定,销售和市场岗位的人员均可访问这份数据,客户关系管理 (CRM) 及营销软件也同样拥有访问权限。获授权人类用户拥有的任何 AI 智能体也可以获得访问权限。
接下来,利益相关者确定每位授权用户可在数据库中执行哪些操作。或许销售代表需要读写权限,因为他们会长期建立并维持客户关系。同时,市场营销人员只能读取数据库,因为他们只是利用客户人口统计数据来指导营销活动。或许所有 AI 智能体(无论所有者是谁)都具有只读访问权限,以确保在更新数据库时始终有人员参与最新动态。
为执行该访问控制策略,企业采用具备精细化访问控制逻辑的集中式策略引擎。除用户身份外,引擎在决定是否批准访问请求时还会考虑上下文因素。
例如,假设销售代表为更新客户的电子邮件地址而想要访问数据库。首先,销售代表通过提供合规的认证因素完成身份核验。然后,策略引擎会对他们的请求进行评估,引擎会考虑以下因素:
基于以上因素,销售代表的访问请求获得批准。
组织可以根据自身需求实施不同类型的访问控制模型。常见的类型包括:
自主访问控制 (DAC) 系统使资源所有者能够为这些资源制定访问控制规则。在 DAC 模型中,客体所有者甚至可以将管理员级权限授予其他用户。如果客体所有者向其他用户授予管理员权限,该用户同样可以为该客体设置访问规则。
强制访问控制 (MAC) 系统对所有用户执行集中定义的访问控制策略。
它们通常按密级权限进行运作,常见于政府或军方场景。每个主体都有一个许可级别,每个客体有相应的许可评级或分类级别。主体可以访问不高于其许可级别的任何客体。
虽然所有访问控制都是强制性的,即每个主体都必须遵守这些控制,但 MAC 中的“强制性”是指单个用户不能更改或分配权限。MAC 与 DAC 模型形成对比,在 DAC 模型中,资源客体所有者可自行制定其所属资源的访问规则。
在基于角色的访问控制 (RBAC) 中,用户的权限基于其在组织中的角色。
RBAC 系统中的角色不等同于职位头衔,尽管在部分实际部署场景中,二者可以一一对应。但在此语境中,“角色”指的是一个人在组织中扮演的角色,以及他们做这些事情所需的权限。RBAC 角色基于多个标准,包括职位名称、技能级别、职责等。
例如,假设系统管理员正在为网络防火墙设置权限。销售代表根本无权访问防火墙设置。初级安全分析师可能仅能查看防火墙配置,但无权修改;而高级分析师则可拥有管理员操作权限。用于集成安全信息和事件管理系统 (SIEM) 的 API 或许能够读取防火墙的活动日志。
RBAC 是 OWASP 推荐的两种访问控制模型之一。
OWASP 推荐的第二种访问控制模型——基于属性的访问控制 (ABAC),通过策略引擎实时分析每一次访问请求的各类属性。只有符合相应条件的申请才能获得批准。
从广义上讲,“属性”是请求中涉及的主体、客体和行动的特征。属性可以包括用户姓名和角色、资源类型、请求动作的风险等级以及请求的时间。
例如,在 ABAC 系统中,用户可能只能在工作时间内访问敏感数据,而且必须达到一定的级别。
RBAC 与 ABAC 的区别在于:ABAC 会基于多种上下文因素,在每次发起访问请求时动态判定访问权限。相比之下,RBAC 严格根据预定义的用户角色授予权限。
基于规则的访问控制 (RuBAC) 是一种根据条件性上下文规则进行访问的系统。例如:若访问请求在 Y 时间由主体 X 发起,则允许通过。
“基于规则的访问控制”是一个不精确且有些过时的术语。通常,它可作为 ABAC 的同义词使用,也可指代早期功能相对简易的 ABAC 形态。有时,该术语用于指代在角色基础上叠加一层额外逻辑规则(角色 + 规则)来处理访问请求的 RBAC 系统。
访问控制是网络安全本身的基础,因为身份是当今安全工作的核心。
普通企业网络中,人类用户与非人类用户数量持续增长,且分布在各个办公地点,他们需要安全访问本地部署及云端的应用与资源。
在这些环境中,基于边界的安全措施是无效的。相反,企业会将安全管控重心放在个体用户与资源上——用访问管理的专业术语来说,就是主体与客体。
例如,考虑网络安全的零信任方法。零信任架构不会对用户只做一次身份认证,而是对每位用户的每一次访问请求都逐一进行认证。换句话说:每个请求都要通过访问控制平面。
同时也要考量,访问控制如何为信息安全 CIA 三元组提供支撑:
访问控制还能帮助企业在保障数据安全的同时,充分挖掘专有数据的价值。
根据 IBM 商业价值研究院的《2025 年 CDO 研究》,78% 的 CDO 表示,利用专有数据是组织差异化的战略业务目标。此外,82% 的 CDO 认为,如果员工不能方便地使用数据来做出数据驱动的决策,那么数据就是“浪费”。
随着 AI 智能体加入数字员工队伍,安全的数据访问变得更加重要。智能体需要企业数据才能高效地发挥作用。
有效的访问控制能够助力人工用户与 AI 智能体,在合规授权范围内安全访问企业数据。根据《CDO 研究》报告,在 AI 与数据投资 ROI 更高的企业中,CDO 普遍采用基于角色的访问控制 (RBAC) 等安全措施,管控用户对企业数据的访问权限。
在 IBM Security Intelligence 播客的一期节目中,IBM 网络威胁管理产品部门全球合伙人 Dave McGinnis 将 AI 智能体称作“最具迷惑性的内部威胁”。McGinnis 指的是智能体既能带来巨大优势,也能带来巨大伤害的能力。
要开展有价值的工作,智能体需要高权限访问企业系统与数据。但智能体同时具备非确定性特征,若缺乏有效的管控约束,它们可能会以全新且未完全获得授权的方式使用自身访问权限。
正如 IBM 网络靶场高级顾问 Seth Glasgow 在 Security Intelligence 节目中所言:合理运用访问控制,是在启用 AI 智能体的同时,降低权限滥用风险的关键所在:
AI 智能体标准部署模式,默认是拥有全域可见权限,对吧?姑且称之为“一统天下”吧。......但就在那里,我创造了一项极具价值的资产。这个应用程序必定要获取大量敏感数据。
从 IAM 的角度来看,我们首先要做的就是对其进行权限划分隔离。我们不需要一个能包揽所有工作的智能体。它必须与具体应用场景精准匹配,并且所分配的权限需严格贴合该智能体的本职工作范围。
三个核心因素导致访问控制失效:权限过高、缺乏集中化、设计缺陷。
为了确保用户在工作中不会遇到障碍,组织通常会授予用户高于用户实际需要的权限。权限过度分配在用于自动化工作流的非人类身份中尤为普遍,原因是企业通常希望这类身份尽量减少人工干预。
有效的访问控制(例如 RBAC 和 ABAC)有助于协调用户体验、业务运营和安全需求。企业不再过度授予权限,而是为每个主体精准按需配置最小权限,不多也不少。
在缺乏集中访问控制的系统中,不同的客体可以采用不同的控制系统。系统之间存在的隔阂,会导致主体无法访问所需资源;只要有一个系统存在安全短板,就可能危及整个网络。
通过实施整体身份结构并使用身份编排工具整合不同系统,组织可以弥补安全漏洞,同时简化授权用户的访问。
最后,正如 OWASP 所指出的,应用程序的访问控制系统往往存在设计缺陷。这些缺陷包括:篡改网页 URL 即可绕过访问控制、API 访问控制缺失,以及缺乏安全防护、易被篡改的 JSON Web Token 等安全问题。
开展开发者培训教育、制定更严格的访问控制要求,再结合DevSecOps 实践,能够帮助企业将身份安全原生内置到应用程序开发流程中。