授权策略

此页面描述了可以用作授权策略规则 when 字段中所支持的键和值的格式。

不支持的键和值将被忽略。

有关更多信息,请参阅授权概念页面

支持条件

名称描述支持的协议示例
request.headersHTTP 请求头,需要用 [] 括起来HTTP onlykey: request.headers[User-Agent]
values: [“Mozilla/“]
source.ipIP 地址,支持单个 IPCIDRHTTP and TCPkey: source.ip
values: [“10.1.2.3”]
remote.ipX-Forwarded-For 请求头或代理协议确定的原始客户端 IP 地址,支持单个 IP 或 CIDRHTTP and TCPkey: remote.ip
values: [“10.1.2.3”, “10.2.0.0/16”]
source.namespace源负载实例命名空间,需启用双向 TLSHTTP and TCPkey: source.namespace
values: [“default”]
source.principal源负载的标识,需启用双向 TLSHTTP and TCPkey: source.principal
values: [“cluster.local/ns/default/sa/productpage”]
request.auth.principal已认证过 principal 的请求。HTTP onlykey: request.auth.principal
values: [“accounts.my-svc.com/104958560606”]
request.auth.audiences此身份验证信息的目标主体HTTP onlykey: request.auth.audiences
values: [“my-svc.com”]
request.auth.presenter证书的颁发者HTTP onlykey: request.auth.presenter
values: [“123456789012.my-svc.com”]
request.auth.claimsClaims 来源于 JWT。需要用 [] 括起来HTTP onlykey: request.auth.claims[iss]
values: [“@foo.com”]
destination.ip目标 IP 地址,支持单个 IPCIDRHTTP and TCPkey: destination.ip
values: [“10.1.2.3”, “10.2.0.0/16”]
destination.port目标 IP 地址上的端口,必须在 [0,65535] 范围内HTTP and TCPkey: destination.port
values: [“80”, “443”]
connection.sni服务器名称指示,需启用双向 TLSHTTP and TCPkey: connection.sni
values: [“www.example.com”]
experimental.envoy.filters.*用于过滤器的实验性元数据匹配,包装的值 [] 作为列表匹配HTTP and TCPkey: experimental.envoy.filters.network.mysql_proxy[db.table]
values: [“[update]”]

无法保证 experimental.* 密钥向后的兼容性,可以随时将它们删除,但是须要谨慎操作。