授权策略
此页面描述了可以用作授权策略规则 when
字段中所支持的键和值的格式。
不支持的键和值将被忽略。
有关更多信息,请参阅授权概念页面。
支持条件
名称 | 描述 | 支持的协议 | 示例 |
---|---|---|---|
request.headers | HTTP 请求头,需要用 [] 括起来 | HTTP only | key: request.headers[User-Agent] values: [“Mozilla/“] |
source.ip | 源 IP 地址,支持单个 IP 或 CIDR | HTTP and TCP | key: source.ip values: [“10.1.2.3”] |
remote.ip | 由 X-Forwarded-For 请求头或代理协议确定的原始客户端 IP 地址,支持单个 IP 或 CIDR | HTTP and TCP | key: remote.ip values: [“10.1.2.3”, “10.2.0.0/16”] |
source.namespace | 源负载实例命名空间,需启用双向 TLS | HTTP and TCP | key: source.namespace values: [“default”] |
source.principal | 源负载的标识,需启用双向 TLS | HTTP and TCP | key: source.principal values: [“cluster.local/ns/default/sa/productpage”] |
request.auth.principal | 已认证过 principal 的请求。 | HTTP only | key: request.auth.principal values: [“accounts.my-svc.com/104958560606”] |
request.auth.audiences | 此身份验证信息的目标主体 | HTTP only | key: request.auth.audiences values: [“my-svc.com”] |
request.auth.presenter | 证书的颁发者 | HTTP only | key: request.auth.presenter values: [“123456789012.my-svc.com”] |
request.auth.claims | Claims 来源于 JWT 。需要用 [] 括起来 | HTTP only | key: request.auth.claims[iss] values: [“@foo.com”] |
destination.ip | 目标 IP 地址,支持单个 IP 或 CIDR | HTTP and TCP | key: destination.ip values: [“10.1.2.3”, “10.2.0.0/16”] |
destination.port | 目标 IP 地址上的端口,必须在 [0,65535] 范围内 | HTTP and TCP | key: destination.port values: [“80”, “443”] |
connection.sni | 服务器名称指示,需启用双向 TLS | HTTP and TCP | key: connection.sni values: [“www.example.com”] |
experimental.envoy.filters.* | 用于过滤器的实验性元数据匹配,包装的值 [] 作为列表匹配 | HTTP and TCP | key: experimental.envoy.filters.network.mysql_proxy[db.table] values: [“[update]”] |
无法保证 experimental.*
密钥向后的兼容性,可以随时将它们删除,但是须要谨慎操作。