限制EKS用户访问

时间:2018-09-12 16:56:12

标签: kubernetes kubectl rbac

我试图将新用户添加到EKS群集中,然后给予访问权限。到目前为止,仅通过编辑configmap/aws-authkubectl edit -n kube-system configmap/aws-auth)并将新用户添加到

就可以添加用户。
mapUsers: |
 - userarn: arn:aws:iam::123456789:user/user01
   username: user01
   groups:
     - system:masters

如何将用户添加到EKS集群并完全访问特定的命名空间,但没有其他权限?

我试图以

的形式创建Roles&RoleBinding
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: namespace1
  name: namespace1-user
rules:
- apiGroups: ["*"] 
  resources: ["*"]
  verbs: ["*"]


# This role binding allows "user01" to read pods in the "namespace1" namespace.
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: namespace1-user-role-binding
  namespace: namespace1
subjects:
- kind: User
  name: user01
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: namespace1-user

user01可以使用kubectl get pods --all-namespaces看到其他用户的所有吊舱,是否有任何方法可以对此进行限制?

1 个答案:

答案 0 :(得分:2)

基本上,您想要定义一个群集角色,并使用角色绑定将其应用于特定的名称空间。使用群集角色(而不是角色)使您可以在命名空间之间重用它。使用角色绑定,您可以定位到特定的名称空间,而无需提供群集范围的权限。