授权策略

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

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

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

支持条件

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

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