【发布时间】:2017-07-09 20:55:51
【问题描述】:
我发现有几个人试图解决这个问题,只是在 here 和 here 上发布了一些稍微相关的帖子,但并没有为我解决。
问题: 我想使用 ABAC 策略为我的集群创建一个只读用户。 我的集群有 3 个 master 和 3 个 worker,版本 1.4.7 托管在 AWS 上。
我在所有 3 个主机上都编辑了我的 manifests/apiserver.yml(添加了这 3 行 - 在文件的底部,当然我安装了相关路径等):
- --token-auth-file=/etc/kubernetes/policy/user-tokens.csv
- --授权模式=ABAC
- --authorization-policy-file=/etc/kubernetes/policy/apiusers.yml
我的 apiuser.yml 看起来像这样:
{"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"group": "system:authenticated", "readonly": true, "nonResourcePath": "*", "namespace": "*", "resource": "*", "apiGroup": "*"}}
我的 users-token.csv 如下所示:
tdU0ynyO3wG6UAzwWP0DO7wvF2tH8pbH,bob,bob
我的 kubeconfig 文件中有这个:
users:
- name: bob
user:
token: tdU0ynyO3wG6UAzwWP0DO7wvF2tH8pbH
当我尝试kubectl get nodes 失败时,如果相关,我可以使用 --v=8 打印输出,但它基本上是 Forbidden(403)。
在我看来,我在这里遗漏了一些基本的东西,该政策已经到位并阻止一切和所有人,尽管它应该允许经过身份验证的用户只读权限。
任何形式的帮助或建议将不胜感激。
【问题讨论】:
标签: kubernetes abac