授權策略條件
本頁描述您可以在授權策略規則的 when
欄位中使用的支援的鍵和值格式,作為條件。
如需更多資訊,請參閱授權概念頁面。
支援的條件
名稱 | 描述 | 支援的協定 | 範例 |
---|---|---|---|
request.headers | HTTP 請求標頭。標頭名稱以 [] 包圍,不帶任何引號 | 僅限 HTTP | 鍵:request.headers[User-Agent] 值:["Mozilla/*"] |
source.ip | 來源工作負載實例 IP 位址,支援單一 IP 或 CIDR | HTTP 和 TCP | 鍵:source.ip 值:["10.1.2.3", "10.2.0.0/16"] |
remote.ip | 由 X-Forwarded-For 標頭或 Proxy Protocol 決定的原始用戶端 IP 位址,支援單一 IP 或 CIDR | HTTP 和 TCP | 鍵:remote.ip 值:["10.1.2.3", "10.2.0.0/16"] |
source.namespace | 來源工作負載實例命名空間,需要啟用相互 TLS | HTTP 和 TCP | 鍵:source.namespace 值:["default"] |
source.principal | 來源工作負載的身份,需要啟用相互 TLS | HTTP 和 TCP | key: source.principal values: ["cluster.local/ns/default/sa/productpage"] |
request.auth.principal | 已驗證 JWT 權杖的主體(principal),由 JWT 聲明 (claims) 以 <iss>/<sub> 格式構成,需要套用請求驗證策略。 | 僅限 HTTP | key: request.auth.principal values: ["issuer.example.com/subject-admin"] |
request.auth.audiences | 已驗證 JWT 權杖的目標受眾,由 JWT 聲明 <aud> 構成,需要套用請求驗證策略。 | 僅限 HTTP | key: request.auth.audiences values: ["example.com"] |
request.auth.presenter | 已驗證 JWT 權杖的授權呈現者 (presenter),由 JWT 聲明 <azp> 構成,需要套用請求驗證策略。 | 僅限 HTTP | key: request.auth.presenter values: ["123456789012.example.com"] |
request.auth.claims | 已驗證 JWT 權杖的原始聲明 (raw claims)。聲明名稱用 [] 包裹,不加任何引號,也可以使用巢狀聲明,需要套用請求驗證策略。注意僅支援字串類型或字串列表類型的聲明。 | 僅限 HTTP | key: request.auth.claims[iss] values: ["*@foo.com"] — key: request.auth.claims[nested1][nested2] values: ["some-value"] |
destination.ip | 目標工作負載實例的 IP 位址,支援單個 IP 或 CIDR。 | HTTP 和 TCP | key: destination.ip 值:["10.1.2.3", "10.2.0.0/16"] |
destination.port | 目標工作負載實例的埠號,必須在 [0, 65535] 範圍內。請注意,這不是服務埠。 | HTTP 和 TCP | key: destination.port values: ["80", "443"] |
connection.sni | 伺服器名稱指示 (Server Name Indication, SNI),需要啟用 TLS。 | HTTP 和 TCP | key: connection.sni values: ["www.example.com"] |
experimental.envoy.filters.* | 用於過濾器的實驗性中繼資料匹配,用 [] 包裹的值會被匹配為列表。 | HTTP 和 TCP | key: experimental.envoy.filters.network.mysql_proxy[db.table] values: ["[update]"] |