授权策略条件
此页面描述了您可以在 授权策略规则 的 when 字段中用作条件的支持的键和值格式。
有关更多信息,请参阅 授权概念页面。
支持的条件
| 名称 | 描述 | 支持的协议 | 示例 |
|---|---|---|---|
request.headers | HTTP 请求标头。标头名称用 [] 括起来,不带任何引号 | 仅限 HTTP | key: request.headers[User-Agent]values: ["Mozilla/*"] |
source.ip | 源工作负载实例 IP 地址,支持单个 IP 或 CIDR | HTTP 和 TCP | key: source.ipvalues: ["10.1.2.3", "10.2.0.0/16"] |
remote.ip | 由 X-Forwarded-For 标头或代理协议确定的原始客户端 IP 地址,支持单个 IP 或 CIDR | HTTP 和 TCP | key: remote.ipvalues: ["10.1.2.3", "10.2.0.0/16"] |
source.namespace | 源工作负载实例命名空间,需要启用双向 TLS | HTTP 和 TCP | key: source.namespacevalues: ["default"] |
source.principal | 源工作负载的身份,需要启用双向 TLS | HTTP 和 TCP | key: source.principalvalues: ["cluster.local/ns/default/sa/productpage"] |
request.auth.principal | 已认证 JWT 令牌的主体,以 <iss>/<sub> 格式从 JWT 声明构建,需要应用请求身份验证策略 | 仅限 HTTP | key: request.auth.principalvalues: ["issuer.example.com/subject-admin"] |
request.auth.audiences | 已认证 JWT 令牌的目标受众,从 JWT 声明 <aud> 构建,需要应用请求身份验证策略 | 仅限 HTTP | key: request.auth.audiences值: ["example.com"] |
request.auth.presenter | 经过身份验证的 JWT 令牌的授权展示者,由 JWT 声明 <azp> 构建,需要应用请求身份验证策略 | 仅限 HTTP | 键: request.auth.presenter值: ["123456789012.example.com"] |
request.auth.claims | 经过身份验证的 JWT 令牌的原始声明。声明名称用 [] 括起来,不带任何引号,也可以使用嵌套声明,需要应用请求身份验证策略。注意仅支持字符串类型或字符串列表类型的声明 | 仅限 HTTP | 键: request.auth.claims[iss]值: ["*@foo.com"]— 键: request.auth.claims[nested1][nested2]值: ["some-value"] |
destination.ip | 目标工作负载实例 IP 地址,支持单个 IP 或 CIDR | HTTP 和 TCP | 键: destination.ipvalues: ["10.1.2.3", "10.2.0.0/16"] |
destination.port | 目标工作负载实例端口,必须在 [0, 65535] 范围内。注意,这不是服务端口 | HTTP 和 TCP | 键: destination.port值: ["80", "443"] |
connection.sni | 服务器名称指示,需要启用 TLS | HTTP 和 TCP | 键: connection.sni值: ["www.example.com"] |
experimental.envoy.filters.* | 过滤器实验性元数据匹配,用 [] 括起来的值作为列表匹配 | HTTP 和 TCP | 键: experimental.envoy.filters.network.mysql_proxy[db.table]值: ["[update]"] |