【发布时间】:2021-02-26 19:08:18
【问题描述】:
我定义了以下第一个策略来拒绝命名空间 foo 中对工作负载 1 的所有请求,除非它们来自工作负载 2 或工作负载 3 我得到 RBAC:尝试从工作负载 2 访问工作负载 1 时拒绝访问。但是,当使用下面显示的 ALLOW 策略重写它们时,从工作负载 2 到工作负载 1 的访问成功。
我想知道为什么这两个规则应该是等效的(取自 https://istio.io/latest/docs/reference/config/security/authorization-policy/#Rule,其中源中的字段是 AND 在一起的。)
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: ingress-policy
namespace: foo
spec:
selector:
matchLabels:
app: workload1
action: DENY
rules:
- from:
- source:
notPrincipals: ["cluster.local/ns/foo/sa/workload2"]
- source:
notPrincipals: ["cluster.local/ns/foo/sa/workload3"]
---
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: ingress-policy
namespace: foo
spec:
selector:
matchLabels:
app: workload1
action: ALLOW
rules:
- from:
- source:
Principals: ["cluster.local/ns/foo/sa/workload2"]
- source:
Principals: ["cluster.local/ns/foo/sa/workload3"]
【问题讨论】:
标签: kubernetes istio