工作負載選取器
工作負載選取器
WorkloadSelector 指定用於判斷是否可將政策應用於代理的條件。匹配條件包括與代理相關聯的元數據、工作負載實例資訊(例如附加到 pod/VM 的標籤),或代理在初始握手期間提供給 Istio 的任何其他資訊。如果指定多個條件,則所有條件都需要匹配,才能選擇工作負載實例。目前,僅支援基於標籤的選擇機制。
連接埠選取器
PortSelector 是用於指定是否可將政策應用於具有特定埠的監聽器的條件。
PolicyTargetReference
PolicyTargetReference 格式如 GEP-2648 所定義。
PolicyTargetReference 指定應套用政策的目標資源。它一次只能針對單個資源,但可用於針對更大的資源,例如可能適用於多個子資源的閘道。在 RequestAuthentication、AuthorizationPolicy、Telemetry 和 WasmPlugin CRD 中,將使用 PolicyTargetReference 而不是 WorkloadSelector 來針對 Kubernetes 閘道。
以下是一個使用 PolicyTargetReference 繫結到航點代理的 AuthorizationPolicy 範例。該範例將 action
設定為 DENY
以建立拒絕政策。它會拒絕所有透過 foo
命名空間中的 waypoint
閘道,在埠 8080
上使用 POST
方法導向的所有請求。
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: httpbin
namespace: foo
spec:
targetRefs:
- name: waypoint
kind: Gateway
group: gateway.networking.k8s.io
action: DENY
rules:
- to:
- operation:
methods: ["POST"]
ports: ["8080"]
WorkloadMode
WorkloadMode 允許選擇網路流量中底層工作負載的角色。如果工作負載是流量的目的地(也就是說,從工作負載的角度來看,流量方向是入站),則認為該工作負載充當 SERVER。如果工作負載是網路流量的來源,則認為它處於 CLIENT 模式(流量是從工作負載出站)。
名稱 | 描述 |
---|---|
UNDEFINED | 預設值,將由其自身的使用方式解釋。 |
CLIENT | 選擇工作負載為網路流量來源的情況。此外,如果工作負載是閘道,則選擇此項。 |
SERVER | 選擇工作負載為網路流量目的地的場景。 |
CLIENT_AND_SERVER | 選擇工作負載為網路流量來源或目的地的場景。 |