【发布时间】:2016-06-13 18:02:11
【问题描述】:
所以我一直在尝试在 kubernetes API 中实现 ABAC 授权,在我的 kube-api 清单文件中使用以下参数。
- --authorization-mode=ABAC
- --authorization-policy-file=/etc/kubernetes/auth/abac-rules.json
以及abac-rulse.json文件中的如下内容。
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user":"*", "nonResourcePath": "*", "readonly": true}}
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user":"admin", "namespace": "*", "resource": "*", "apiGroup": "*" }}
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user":"scheduler", "apiGroup": "*", "namespace": "*", "resource": "*", "readonly": false}}
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user":"kubelet", "apiGroup": "*", "namespace": "*", "resource": "*", "readonly": false }}
但是,kubelet 似乎无法连接到 api 服务器。我读到用户名取自用于验证连接的证书中 -subject 的 CN 字段see here。在这种情况下,这是软管的 fqdn,我也尝试过,但没有运气。
任何想法我做错了什么?
提前干杯
编辑:
我使用的是 Kubernetes 版本 1.2.2,包括 kubectl 和 hyperkube docker 镜像。
【问题讨论】:
标签: authentication authorization kubernetes