跳到主要内容
版本:3.10.x

权限策略和权限边界

在 API7 网关中,权限策略和权限边界是核心访问控制机制,可确保资源安全并满足合规要求。

  • 权限策略是一组规则和准则,用于明确规定用户可以执行的操作以及可以访问的资源范围,例如网关组和服务。一个权限策略可以关联多个角色,从而向这些角色中的所有用户授予指定权限。权限策略也可以作为特定用户的权限边界,防止其未经授权访问资源。

  • 权限边界是权限或访问范围的限制,通常用于定义用户可以访问的资源或可以执行的操作。权限边界可设置实体能够拥有的最大权限,无论其被分配了哪些角色或策略,用户都不能超出定义的访问范围,即使其角色授予了更广泛的权限。

API7 网关内置 Super Admin 角色,该角色关联名为 super-admin-permission-policy 的内置权限策略,可授予 API7 网关中的所有操作和资源的完整访问权限。此外,API7 网关遵循权限策略中“拒绝优先于允许”的原则。如果某个角色或用户的任一策略包含 deny 语句,则无论其他关联策略如何配置,针对同一资源或操作的 allow 语句都会失效。

假设 John 是开发团队成员,他的权限边界被限制为 Full Access to Test Gateway Group。为了更细粒度地管理开发人员权限,可以为 Development Team Member 角色分配 Full Access to Test Gateway Group 权限策略,同时为 Test Engineer 角色分配 Full Access to Prod Gateway Group 权限策略。由于用户的有效权限由其角色所附权限与权限边界的交集决定,即使将 John 的角色更改为 Test Engineer,他的权限边界仍保持不变,因此 John 仍无法访问生产网关组。

John 的有效权限示意图:Development Team Member 角色授予测试网关组的完整访问权限,Test Engineer 角色授予生产网关组的完整访问权限,但 John 的权限边界固定为测试网关组,因此更改角色仍不能授予他访问生产网关组的权限

权限策略和权限边界的特性

  • 权限策略和权限边界必须与角色和用户结合使用。
  • 动态权限管理允许在岗位发生变化时调整角色,而不会影响已建立的权限规则。
  • 设置权限边界可以降低配置错误的风险,有效防止权限过度授予和潜在安全漏洞。
  • 细粒度访问控制支持为特定资源和用户定义精确的访问权限。
  • 权限策略具有灵活性,可以通过多种方式组合,以满足复杂的权限管理需求。

使用场景

防止未经授权的访问

组织内部频繁变更角色,因此需要可靠的安全措施。权限边界可以有效防止一个部门的用户访问另一个部门拥有的资源,从而维护信息隔离和安全性。例如,可以限制部门 A 的用户访问部门 B 所属的敏感文件和系统。

此外,权限边界还可以防止用户意外访问许可证或组织设置等关键系统组件。未经授权访问这些组件可能带来严重的安全风险。通过明确拒绝对这些部分的访问,组织可以构建稳固的防线,防止敏感配置被未经授权地修改或泄露。

隔离开发环境

在引入权限策略和权限边界之前,隔离开发环境存在许多影响安全性、合规性和生产力的难题。API7 网关利用权限策略和权限边界在逻辑上分离开发环境,确保每个角色只能访问其职责所需的资源,从而解决这些问题。

例如,将 Development Team Member 角色与 Full Access to Test Gateway Group 关联,使其只能在测试环境中进行修改;为 Development Team Lead 同时分配 Full Access to Test Gateway GroupFull Access to UAT Gateway Group,使其可以访问测试和 UAT 环境;为 Test Engineer 分配 Full Access to UAT Gateway GroupFull Access to Prod Gateway Group,将其工作范围限定在 UAT 和生产环境,用于 API 测试和发布任务。

细粒度权限管理

在团队多样、运行多个环境的企业中,实施细粒度权限管理对于维护安全性和确保合规至关重要。API7 网关通过高级角色分配和权限策略满足这一需求,实现量身定制的访问控制。例如,可以为应用工程师分配仅适用于测试环境的权限策略,同时通过单独的策略授予运维工程师访问生产资源的权限。

此外,还可以为单个用户分配特定权限边界,将其访问范围限制在指定的网关组资源内。这样可以避免权限重叠,降低配置错误带来的风险。通过将团队限制在各自分配的权限范围内,API7 网关可以确保不同环境之间的运维独立性,同时简化权限管理和配置,提升效率与安全性。