AWS EKS 添加用户限制在命名空间
AWS EKS add user restricted to namespace
我创建了 AWS EKS 集群,因为我使用我的 AWS 用户 ID 创建的集群已添加到 system:masters
组。但是当检查 ConfigMap aws-auth
时,我没有看到我的用户 ID。 为什么?
我必须向另一个用户授予访问权限,因此我必须为 IAM 用户分配适当的 AWS 策略,然后我使用以下映射
编辑了 ConfigMap aws-auth
mapUsers:
----
- userarn: arn:aws:iam::573504862059:user/abc-user
username: abc-user
groups:
- system:masters
到目前为止,我已经了解当用户属于 system:masters
组时,该用户对集群具有管理员权限。
如何添加一个新用户,该用户将对特定命名空间具有有限的权限?我是否必须为上述用户做同样的事情?如果是这样,那么我应该将新用户添加到哪个组?
因此您可以创建一个 Role
,因为它们仅限于特定的命名空间。
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: my-namespace
name: full-namespace
rules:
- apiGroups: ["*"]
resources: ["*"]
verbs: ["*"]
然后创建一个RoleBinding
:
$ kubectl create rolebinding my-namespace-binding --role=full-namespace --group=namespacegroup --namespace=my-namespace
或kubectl create -f
这个:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: my-namespace-binding
namespace: mynamespace
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: full-namespace
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: namespacegroup
然后在您的 ConfigMap 上:
mapUsers:
----
- userarn: arn:aws:iam::573504862059:user/abc-user
username: abc-user
groups:
- namespacegroup
我创建了 AWS EKS 集群,因为我使用我的 AWS 用户 ID 创建的集群已添加到 system:masters
组。但是当检查 ConfigMap aws-auth
时,我没有看到我的用户 ID。 为什么?
我必须向另一个用户授予访问权限,因此我必须为 IAM 用户分配适当的 AWS 策略,然后我使用以下映射
编辑了 ConfigMapaws-auth
mapUsers:
----
- userarn: arn:aws:iam::573504862059:user/abc-user
username: abc-user
groups:
- system:masters
到目前为止,我已经了解当用户属于 system:masters
组时,该用户对集群具有管理员权限。
如何添加一个新用户,该用户将对特定命名空间具有有限的权限?我是否必须为上述用户做同样的事情?如果是这样,那么我应该将新用户添加到哪个组?
因此您可以创建一个 Role
,因为它们仅限于特定的命名空间。
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: my-namespace
name: full-namespace
rules:
- apiGroups: ["*"]
resources: ["*"]
verbs: ["*"]
然后创建一个RoleBinding
:
$ kubectl create rolebinding my-namespace-binding --role=full-namespace --group=namespacegroup --namespace=my-namespace
或kubectl create -f
这个:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: my-namespace-binding
namespace: mynamespace
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: full-namespace
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: namespacegroup
然后在您的 ConfigMap 上:
mapUsers:
----
- userarn: arn:aws:iam::573504862059:user/abc-user
username: abc-user
groups:
- namespacegroup