授权策略条件
此页面描述了您可以在 授权策略规则 的 when
字段中用作条件的支持的键和值格式。
有关更多信息,请参阅 授权概念页面。
支持的条件
名称 | 描述 | 支持的协议 | 示例 |
---|---|---|---|
request.headers | HTTP 请求标头。标头名称用 [] 括起来,不带任何引号 | 仅限 HTTP | key: request.headers[User-Agent] values: ["Mozilla/*"] |
source.ip | 源工作负载实例 IP 地址,支持单个 IP 或 CIDR | HTTP 和 TCP | key: source.ip values: ["10.1.2.3", "10.2.0.0/16"] |
remote.ip | 由 X-Forwarded-For 标头或代理协议确定的原始客户端 IP 地址,支持单个 IP 或 CIDR | HTTP 和 TCP | key: remote.ip values: ["10.1.2.3", "10.2.0.0/16"] |
source.namespace | 源工作负载实例命名空间,需要启用双向 TLS | HTTP 和 TCP | key: source.namespace values: ["default"] |
source.principal | 源工作负载的身份,需要启用双向 TLS | HTTP 和 TCP | key: source.principal values: ["cluster.local/ns/default/sa/productpage"] |
request.auth.principal | 已认证 JWT 令牌的主体,以 <iss>/<sub> 格式从 JWT 声明构建,需要应用请求身份验证策略 | 仅限 HTTP | key: request.auth.principal values: ["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.ip values: ["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]"] |