我找到了一些试图解决这个问题的人,只有略微相关的帖子here和here,但我并没有解决这个问题。
问题: 我想使用ABAC策略为我的集群创建只读用户。 我的群集有3个主人和3个工作人员,版本1.4.7托管在AWS上。
我在所有3个主人身上编辑了我的清单/ apiserver.yml(添加了这3行 - 当然我在文件的底部安装了相关路径等等):
我的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)
。
在我看来,我在这里遗漏了一些基本的东西,政策到位并阻止了所有人和每个人,尽管它应该允许经过身份验证的用户只读权利。
非常感谢任何形式的帮助或建议。
答案 0 :(得分:1)
{1.5}中添加了system:authenticated
组
1.5之前,您可以使用"user":"*"