首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes -在kube dns中向匿名用户授予RBAC访问权限

问Kubernetes -在kube dns中向匿名用户授予RBAC访问权限
EN

Stack Overflow用户
提问于 2019-01-12 05:14:05
回答 1查看 3.4K关注 0票数 3

我设置了Kubernetes Cluster,其中包含一个主节点和一个工作节点。Kubectl cluster-info显示kubernetes-master和kube-dns运行成功。

我正在尝试访问下面的URL,因为它是我的组织内部的,所以外部世界看不到下面的URL。

https://10.118.3.22:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

但是当我访问它的时候,我得到了下面的错误-

代码语言:javascript
复制
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {

  },
  "status": "Failure",
  "message": "services \"kube-dns:dns\" is forbidden: User \"system:anonymous\" cannot get resource \"services/proxy\" in API group \"\" in the namespace \"kube-system\"",
  "reason": "Forbidden",
  "details": {
    "name": "kube-dns:dns",
    "kind": "services"
  },
  "code": 403
}

请让我知道如何授予匿名用户完全访问权限。我读了https://kubernetes.io/docs/reference/access-authn-authz/rbac/中提到的基于角色的访问控制,但我不知道我到底需要做什么。谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-01-12 18:25:52

您可以将管理员权限授予匿名用户,但我强烈建议您不要这么做。这将使群集之外的任何人都可以使用url访问服务。

即使在此之后,您决定将所有访问权限授予匿名用户,也可以通过以下方式完成此操作:

代码语言:javascript
复制
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: anonymous-role
rules:
- apiGroups: [""]
  resources: ["services/proxy"]
  verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: anonymous-binding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: anonymous-role
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: User
  name: system:anonymous

这将给匿名:用户代理你的服务,而不是所有的资源。如果你想对所有的资源都这样做,你需要在匿名角色中提供resources: ["*"]。

希望这能有所帮助

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54154112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档