4.2 授权Authorization

背景:生产环境(base namespace)的服务已经稳定运行,电商网站业务团队希望对网格中的服务做权限控制,限制生产环境(base namespace)下的服务不能被测试环境(test namesapce)下的服务访问。

对网格中的服务进行权限控制可通过配置AuthorizationPolicy实现,配置以下AuthorizationPolicy策略限制base namespace下所有服务不能被test namespace下的服务访问。

图4-2-1-配置授权规则

也可以通过提交YAML文件至主集群完成授权配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
kubectl apply -f - <<EOF
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
name: base-authz
namespace: base
spec:
action: DENY
rules:
- from:
- source:
namespaces:
- test
EOF

配置完成后通过TKE集群控制台查看test namespace下client服务的pod日志,发现client服务访问base namespace的user服务失败。授权策略生效。

图4-2-2-授权规则限制后,访问失败