Kubernetes ABAC模式不起作用

时间:2017-02-20 14:16:27

标签: kubernetes abac

我找到了一些试图解决这个问题的人,只有略微相关的帖子herehere,但我并没有解决这个问题。

问题: 我想使用ABAC策略为我的集群创建只读用户。 我的群集有3个主人和3个工作人员,版本1.4.7托管在AWS上。

我在所有3个主人身上编辑了我的清单/ apiserver.yml(添加了这3行 - 当然我在文件的底部安装了相关路径等等):

  • - 令牌-AUTH-文件=的/ etc / kubernetes /策略/用户tokens.csv
  • - 授权模式= ABAC
  • - 授权策略文件=的/ etc / kubernetes /策略/ 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)。 在我看来,我在这里遗漏了一些基本的东西,政策到位并阻止了所有人和每个人,尽管它应该允许经过身份验证的用户只读权利。

非常感谢任何形式的帮助或建议。

1 个答案:

答案 0 :(得分:1)

{1.5}中添加了system:authenticated

1.5之前,您可以使用"user":"*"