授权政策概览

授权政策定义了规则,用于指定传入流量的来源以及针对该来源允许或限制的操作。授权政策概述了规则适用的条件,并指定了允许、拒绝或进一步评估流量的操作。

本页面简要介绍了以下应用负载平衡器的授权政策:

  • 全局外部应用负载均衡器
  • 区域外部应用负载均衡器
  • 跨区域内部应用负载均衡器
  • 区域级内部应用负载均衡器

授权政策可让您针对应用负载平衡器的传入流量建立访问权限控制检查。通过这些检查的请求会路由到后端服务。未能通过这些检查的请求会以未经授权的响应结束。

授权政策规则组件

授权政策规则包含以下组成部分:

  • from:指定规则允许的客户身份。身份可以从双向 TLS 连接中的客户端证书派生而来,也可以是与客户端虚拟机关联的环境身份,例如来自服务账号或安全标记。
  • to:指定规则允许的操作,例如可访问的网址或允许的 HTTP 方法。
  • when:用于定义必须满足的其他约束条件。您可以使用通用表达式语言 (CEL) 表达式来定义约束条件。
  • action:指定规则的操作。可为 ALLOWDENYCUSTOM 中的一个。

授权政策操作

在评估请求时,授权政策会执行以下任一操作:

  • ALLOW:如果请求与授权政策中定义的规则匹配,则授予对请求的资源的访问权限。如果请求不符合授权政策中定义的任何规则,授权政策会禁止访问请求的资源。如果请求不符合 ALLOW 政策,即使其他政策允许,该请求也会被拒绝。

  • DENY:如果请求与 DENY 政策中指定的任何规则匹配,则会阻止对资源的访问。如果请求与授权政策中定义的任何规则不匹配,授权政策会授予对请求的资源的访问权限。如果请求与 DENY 政策匹配,则会被拒绝,即使其他政策允许该请求也是如此。

  • CUSTOM:支持与外部授权系统集成,以便做出复杂的授权决策。CUSTOM 操作适用于使用服务扩展程序或 IAP 进行授权决策的政策。

授权政策评估顺序

如果多个授权政策与单个资源相关联,系统会按以下顺序对其进行评估,以确定请求是被允许还是被拒绝。

  1. 包含 CUSTOM 操作的政策:如果 CUSTOM 政策拒绝请求,则请求会立即被拒绝。系统不会评估 DENYALLOW 政策,即使已配置任何政策也是如此。

  2. 包含 DENY 操作的政策:如果有任何 DENY 政策与请求匹配,则请求会遭拒。系统不会评估任何 ALLOW 政策,即使您配置了任何政策也是如此。

  3. 包含 ALLOW 操作的政策:如果没有 ALLOW 政策,或者任何 ALLOW 政策与请求匹配,则允许请求。不过,如果没有与请求匹配的 ALLOW 政策,则拒绝请求。

委托授权决策

对于无法使用授权政策表达的复杂授权决策,请将授权决策委托给自定义授权提供程序(例如 Identity-Aware Proxy [IAP]),或者创建您自己的使用服务扩展构建的授权扩展。如果您想通过 IAP 使用本地授权引擎或第三方身份提供方,此方法会非常有用。

  • IAP:配置 IAP 以控制对应用负载平衡器转发规则后面的应用的访问权限。IAP 会验证用户身份和上下文,以确定访问权限。它还可以对 Identity and Access Management (IAM) 服务账号令牌进行身份验证并评估 IAM 政策,以保护对从应用负载平衡器公开的后端存储分区的访问权限。如需了解详情,请参阅将授权委托给 IAP 和 IAM

    在以下情况下,您可以选择将身份验证委托给 IAP 和 IAM:

    • 使用 IAM 进行权限管理。
    • 实现情境感知访问权限。
    • 对于需要交互式身份验证的 Web 应用,请使用基于浏览器的身份验证。
  • 服务扩展:将授权决策委托给在 Google Cloud 虚拟机实例或本地运行的自定义授权引擎。这为内置政策未涵盖的复杂授权政策提供了灵活性。如需了解详情,请参阅配置授权扩展

价格

在预览版期间,您无需为授权政策付费。使用 Google Cloud 负载均衡器时,会产生网络费用。如需了解价格信息,请参阅价格

后续步骤