티스토리 뷰
원인
ConfigMap aws-auth에 현재 사용자 또는 역할이 등록되어 있지 않기 때문입니다.
해결방법
kubectl edit cm/aws-auth -n kube-system
mapRoles 또는 mapUsers에 현재 사용자 정보를 추가하고 저장합니다.
groups에 system:masters를 추가해야 AWS콘솔에서 EKS를 올바르게 확인할 수 있습니다.
data:
mapRoles: |
- rolearn: arn:aws:iam::111122223333:role/eksctl-my-cluster-nodegroup-standard-wo-NodeInstanceRole-1WP3NUE3O6UCF
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
mapUsers: |
- userarn: arn:aws:iam::111122223333:user/admin
username: admin
groups:
- system:masters
- userarn: arn:aws:iam::111122223333:user/ops-user
username: ops-user
groups:
- system:masters
자세한 내용은 아래를 참고하십시오.
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/add-user-role.html
커스텀 그룹 생성
system:masters만으로 문제는 해결되지만 상세한 권한설정을 하고 싶을 경우 ClusterRole을 생성할 수 있습니다.
vi custom-clusterrole.yaml
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: eks-console-dashboard-full-access-clusterrole
rules:
- apiGroups:
- ""
resources:
- nodes
- namespaces
- pods
verbs:
- get
- list
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- statefulsets
- replicasets
verbs:
- get
- list
- apiGroups:
- batch
resources:
- jobs
verbs:
- get
- list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: eks-console-dashboard-full-access-binding
subjects:
- kind: Group
name: eks-console-dashboard-full-access-group # 이것이 추가할 그룹명입니다.
apiGroup: rbac.authorization.k8s.io
roleRef:
kind: ClusterRole
name: eks-console-dashboard-full-access-clusterrole
apiGroup: rbac.authorization.k8s.io
cluster role에 원하는 권한을 설정하고 저장합니다.
ClusterRole과 ClusterRoleBinding을 생성합니다.
kubectl apply -f custom-clusterrole.yaml
다시 aws-auth 설정에 들어갑니다.
kubectl edit cm/aws-auth -n kube-system
groups에 생성한 그룹을 추가하여 권한을 부여할 수 있습니다.
mapUsers: |
- userarn: arn:aws:iam::XXXXXXXXXXXX:user/testuser
username: testuser
groups:
- system:bootstrappers
- system:nodes
- eks-console-dashboard-full-access-group
https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-kubernetes-object-access-error/
역할 전환한 경우 EKS 콘솔권한
역할 전환한 유저의 경우 aws-auth에 mapUsers가 아닌 mapRoles에 추가해야 합니다.
역할 전환 후 권한은 유저가 아닌 역할이기 때문입니다.
(IAM > 역할) 에서 해당 역할을 확인할 수 있습니다.
'개발 > AWS' 카테고리의 다른 글
CloudFront에서 다른 계정의 S3를 배포하기 (0) | 2022.08.08 |
---|---|
[EKS] 환경 구축하기4 - Istio 설치 (0) | 2022.01.06 |
[EKS] 환경 구축하기3 - Autoscaling 설정 (0) | 2022.01.06 |
[EKS] 환경 구축하기2 - Private Cluster 생성 (0) | 2022.01.06 |
[EKS] 환경 구축하기1 - VPC 생성 (0) | 2022.01.06 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- k8s
- S3
- grafana
- eks
- 전략패턴
- 달러구트 꿈 백화점
- Constant
- DB형상관리
- AWS
- minikube
- istio
- Traefik
- liquibase
- jaeger
- 드래곤라자
- Prometheus
- VPC
- HMAC
- 프로덕션
- Auto Scaling
- IAM
- production
- kiali
- golang
- CloudFront
- flyway
- 쿠버네티스
- cloudflare
- kubernetes
- cka
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함